[GitHub Bot] Generated python SDK

This commit is contained in:
API Team 2024-09-04 11:02:06 +00:00
parent 49b6b28368
commit c32e856058
829 changed files with 119928 additions and 2623 deletions

View File

@ -8,8 +8,8 @@ docs/AccountGroupRequest.md
docs/AccountGroupRole.md docs/AccountGroupRole.md
docs/AccountGroups.md docs/AccountGroups.md
docs/AccountGroupsApi.md docs/AccountGroupsApi.md
docs/Agent.md
docs/AgentBase.md docs/AgentBase.md
docs/AgentResponse.md
docs/AuditUserEvents.md docs/AuditUserEvents.md
docs/BaseRole.md docs/BaseRole.md
docs/CloudEnterpriseAgentType.md docs/CloudEnterpriseAgentType.md
@ -23,7 +23,7 @@ docs/EnterpriseAgentState.md
docs/Error.md docs/Error.md
docs/ErrorDetail.md docs/ErrorDetail.md
docs/ErrorDetailCode.md docs/ErrorDetailCode.md
docs/Expand.md docs/ExpandAccountGroupOptions.md
docs/ExtendedUser.md docs/ExtendedUser.md
docs/InterfaceIpMapping.md docs/InterfaceIpMapping.md
docs/Link.md docs/Link.md
@ -67,8 +67,8 @@ src/thousandeyes_sdk/administrative/models/account_group_info.py
src/thousandeyes_sdk/administrative/models/account_group_request.py src/thousandeyes_sdk/administrative/models/account_group_request.py
src/thousandeyes_sdk/administrative/models/account_group_role.py src/thousandeyes_sdk/administrative/models/account_group_role.py
src/thousandeyes_sdk/administrative/models/account_groups.py src/thousandeyes_sdk/administrative/models/account_groups.py
src/thousandeyes_sdk/administrative/models/agent.py
src/thousandeyes_sdk/administrative/models/agent_base.py src/thousandeyes_sdk/administrative/models/agent_base.py
src/thousandeyes_sdk/administrative/models/agent_response.py
src/thousandeyes_sdk/administrative/models/audit_user_events.py src/thousandeyes_sdk/administrative/models/audit_user_events.py
src/thousandeyes_sdk/administrative/models/base_role.py src/thousandeyes_sdk/administrative/models/base_role.py
src/thousandeyes_sdk/administrative/models/cloud_enterprise_agent_type.py src/thousandeyes_sdk/administrative/models/cloud_enterprise_agent_type.py
@ -82,7 +82,7 @@ src/thousandeyes_sdk/administrative/models/enterprise_agent_state.py
src/thousandeyes_sdk/administrative/models/error.py src/thousandeyes_sdk/administrative/models/error.py
src/thousandeyes_sdk/administrative/models/error_detail.py src/thousandeyes_sdk/administrative/models/error_detail.py
src/thousandeyes_sdk/administrative/models/error_detail_code.py src/thousandeyes_sdk/administrative/models/error_detail_code.py
src/thousandeyes_sdk/administrative/models/expand.py src/thousandeyes_sdk/administrative/models/expand_account_group_options.py
src/thousandeyes_sdk/administrative/models/extended_user.py src/thousandeyes_sdk/administrative/models/extended_user.py
src/thousandeyes_sdk/administrative/models/interface_ip_mapping.py src/thousandeyes_sdk/administrative/models/interface_ip_mapping.py
src/thousandeyes_sdk/administrative/models/link.py src/thousandeyes_sdk/administrative/models/link.py

View File

@ -12,7 +12,7 @@ This API provides the following endpoints that define the operations to manage y
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.15 - API version: 7.0.17
- Generator version: 7.6.0 - Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
@ -86,7 +86,7 @@ with thousandeyes_sdk.core.ApiClient(configuration) as api_client:
# Create an instance of the API class # Create an instance of the API class
api_instance = thousandeyes_sdk.administrative.AccountGroupsApi(api_client) api_instance = thousandeyes_sdk.administrative.AccountGroupsApi(api_client)
account_group_request = thousandeyes_sdk.administrative.AccountGroupRequest() # AccountGroupRequest | account_group_request = thousandeyes_sdk.administrative.AccountGroupRequest() # AccountGroupRequest |
expand = [thousandeyes_sdk.administrative.Expand()] # List[Expand] | Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query. (optional) expand = [thousandeyes_sdk.administrative.ExpandAccountGroupOptions()] # List[ExpandAccountGroupOptions] | Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query. (optional)
try: try:
# Create account group # Create account group
@ -118,6 +118,7 @@ Class | Method | HTTP request | Description
*UserEventsApi* | [**get_user_events**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/UserEventsApi.md#get_user_events) | **GET** /audit-user-events | List activity log events *UserEventsApi* | [**get_user_events**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/UserEventsApi.md#get_user_events) | **GET** /audit-user-events | List activity log events
*UsersApi* | [**create_user**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/UsersApi.md#create_user) | **POST** /users | Create user *UsersApi* | [**create_user**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/UsersApi.md#create_user) | **POST** /users | Create user
*UsersApi* | [**delete_user**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/UsersApi.md#delete_user) | **DELETE** /users/{id} | Delete user *UsersApi* | [**delete_user**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/UsersApi.md#delete_user) | **DELETE** /users/{id} | Delete user
*UsersApi* | [**get_current_user**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/UsersApi.md#get_current_user) | **GET** /users/current | Retrieve current user
*UsersApi* | [**get_user**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/UsersApi.md#get_user) | **GET** /users/{id} | Retrieve user *UsersApi* | [**get_user**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/UsersApi.md#get_user) | **GET** /users/{id} | Retrieve user
*UsersApi* | [**get_users**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/UsersApi.md#get_users) | **GET** /users | List users *UsersApi* | [**get_users**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/UsersApi.md#get_users) | **GET** /users | List users
*UsersApi* | [**update_user**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/UsersApi.md#update_user) | **PUT** /users/{id} | Update user *UsersApi* | [**update_user**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/UsersApi.md#update_user) | **PUT** /users/{id} | Update user
@ -131,8 +132,8 @@ Class | Method | HTTP request | Description
- [AccountGroupRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/AccountGroupRequest.md) - [AccountGroupRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/AccountGroupRequest.md)
- [AccountGroupRole](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/AccountGroupRole.md) - [AccountGroupRole](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/AccountGroupRole.md)
- [AccountGroups](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/AccountGroups.md) - [AccountGroups](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/AccountGroups.md)
- [Agent](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/Agent.md)
- [AgentBase](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/AgentBase.md) - [AgentBase](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/AgentBase.md)
- [AgentResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/AgentResponse.md)
- [AuditUserEvents](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/AuditUserEvents.md) - [AuditUserEvents](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/AuditUserEvents.md)
- [BaseRole](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/BaseRole.md) - [BaseRole](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/BaseRole.md)
- [CloudEnterpriseAgentType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/CloudEnterpriseAgentType.md) - [CloudEnterpriseAgentType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/CloudEnterpriseAgentType.md)
@ -146,7 +147,7 @@ Class | Method | HTTP request | Description
- [Error](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/Error.md) - [Error](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/Error.md)
- [ErrorDetail](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/ErrorDetail.md) - [ErrorDetail](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/ErrorDetail.md)
- [ErrorDetailCode](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/ErrorDetailCode.md) - [ErrorDetailCode](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/ErrorDetailCode.md)
- [Expand](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/Expand.md) - [ExpandAccountGroupOptions](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/ExpandAccountGroupOptions.md)
- [ExtendedUser](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/ExtendedUser.md) - [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) - [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) - [Link](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/Link.md)

View File

@ -13,6 +13,7 @@ Name | Type | Description | Notes
**users** | [**List[UserAccountGroup]**](UserAccountGroup.md) | | [optional] **users** | [**List[UserAccountGroup]**](UserAccountGroup.md) | | [optional]
**links** | [**SelfLinks**](SelfLinks.md) | | [optional] **links** | [**SelfLinks**](SelfLinks.md) | | [optional]
**agents** | [**List[EnterpriseAgent]**](EnterpriseAgent.md) | | [optional] **agents** | [**List[EnterpriseAgent]**](EnterpriseAgent.md) | | [optional]
**account_token** | **str** | The account group token is an alphanumeric string used to bind an Enterprise Agent to a specific account group. This token is not a password that must be kept secret. You can retrieve your `AccountGroupToken` from the `/account-groups/{id}` endpoint. | [optional]
## Example ## Example

View File

@ -26,7 +26,7 @@ Creates a new account group. This operation requires the `Edit all account group
import thousandeyes_sdk.administrative import thousandeyes_sdk.administrative
from thousandeyes_sdk.administrative.models.account_group_request import AccountGroupRequest from thousandeyes_sdk.administrative.models.account_group_request import AccountGroupRequest
from thousandeyes_sdk.administrative.models.created_account_group import CreatedAccountGroup from thousandeyes_sdk.administrative.models.created_account_group import CreatedAccountGroup
from thousandeyes_sdk.administrative.models.expand import Expand from thousandeyes_sdk.administrative.models.expand_account_group_options import ExpandAccountGroupOptions
from thousandeyes_sdk.administrative.rest import ApiException from thousandeyes_sdk.administrative.rest import ApiException
from pprint import pprint from pprint import pprint
@ -51,7 +51,7 @@ with thousandeyes_sdk.administrative.ApiClient(configuration) as api_client:
# Create an instance of the API class # Create an instance of the API class
api_instance = thousandeyes_sdk.administrative.AccountGroupsApi(api_client) api_instance = thousandeyes_sdk.administrative.AccountGroupsApi(api_client)
account_group_request = thousandeyes_sdk.administrative.AccountGroupRequest() # AccountGroupRequest | account_group_request = thousandeyes_sdk.administrative.AccountGroupRequest() # AccountGroupRequest |
expand = [thousandeyes_sdk.administrative.Expand()] # List[Expand] | Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query. (optional) expand = [thousandeyes_sdk.administrative.ExpandAccountGroupOptions()] # List[ExpandAccountGroupOptions] | Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query. (optional)
try: try:
# Create account group # Create account group
@ -70,7 +70,7 @@ with thousandeyes_sdk.administrative.ApiClient(configuration) as api_client:
Name | Type | Description | Notes Name | Type | Description | Notes
------------- | ------------- | ------------- | ------------- ------------- | ------------- | ------------- | -------------
**account_group_request** | [**AccountGroupRequest**](AccountGroupRequest.md)| | **account_group_request** | [**AccountGroupRequest**](AccountGroupRequest.md)| |
**expand** | [**List[Expand]**](Expand.md)| Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query. | [optional] **expand** | [**List[ExpandAccountGroupOptions]**](ExpandAccountGroupOptions.md)| Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query. | [optional]
### Return type ### Return type
@ -194,7 +194,7 @@ Retrieves detailed information about an account group using its ID. This operat
```python ```python
import thousandeyes_sdk.administrative import thousandeyes_sdk.administrative
from thousandeyes_sdk.administrative.models.account_group_detail import AccountGroupDetail from thousandeyes_sdk.administrative.models.account_group_detail import AccountGroupDetail
from thousandeyes_sdk.administrative.models.expand import Expand from thousandeyes_sdk.administrative.models.expand_account_group_options import ExpandAccountGroupOptions
from thousandeyes_sdk.administrative.rest import ApiException from thousandeyes_sdk.administrative.rest import ApiException
from pprint import pprint from pprint import pprint
@ -219,7 +219,7 @@ with thousandeyes_sdk.administrative.ApiClient(configuration) as api_client:
# Create an instance of the API class # Create an instance of the API class
api_instance = thousandeyes_sdk.administrative.AccountGroupsApi(api_client) api_instance = thousandeyes_sdk.administrative.AccountGroupsApi(api_client)
id = '1234' # str | Identifier for the account group. id = '1234' # str | Identifier for the account group.
expand = [thousandeyes_sdk.administrative.Expand()] # List[Expand] | Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query. (optional) expand = [thousandeyes_sdk.administrative.ExpandAccountGroupOptions()] # List[ExpandAccountGroupOptions] | Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query. (optional)
try: try:
# Retrieve account group # Retrieve account group
@ -238,7 +238,7 @@ with thousandeyes_sdk.administrative.ApiClient(configuration) as api_client:
Name | Type | Description | Notes Name | Type | Description | Notes
------------- | ------------- | ------------- | ------------- ------------- | ------------- | ------------- | -------------
**id** | **str**| Identifier for the account group. | **id** | **str**| Identifier for the account group. |
**expand** | [**List[Expand]**](Expand.md)| Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query. | [optional] **expand** | [**List[ExpandAccountGroupOptions]**](ExpandAccountGroupOptions.md)| Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query. | [optional]
### Return type ### Return type
@ -366,7 +366,7 @@ Updates an account group using its ID. You can modify the account groups name
import thousandeyes_sdk.administrative import thousandeyes_sdk.administrative
from thousandeyes_sdk.administrative.models.account_group_detail import AccountGroupDetail from thousandeyes_sdk.administrative.models.account_group_detail import AccountGroupDetail
from thousandeyes_sdk.administrative.models.account_group_request import AccountGroupRequest from thousandeyes_sdk.administrative.models.account_group_request import AccountGroupRequest
from thousandeyes_sdk.administrative.models.expand import Expand from thousandeyes_sdk.administrative.models.expand_account_group_options import ExpandAccountGroupOptions
from thousandeyes_sdk.administrative.rest import ApiException from thousandeyes_sdk.administrative.rest import ApiException
from pprint import pprint from pprint import pprint
@ -392,7 +392,7 @@ with thousandeyes_sdk.administrative.ApiClient(configuration) as api_client:
api_instance = thousandeyes_sdk.administrative.AccountGroupsApi(api_client) api_instance = thousandeyes_sdk.administrative.AccountGroupsApi(api_client)
id = '1234' # str | Identifier for the account group. id = '1234' # str | Identifier for the account group.
account_group_request = thousandeyes_sdk.administrative.AccountGroupRequest() # AccountGroupRequest | account_group_request = thousandeyes_sdk.administrative.AccountGroupRequest() # AccountGroupRequest |
expand = [thousandeyes_sdk.administrative.Expand()] # List[Expand] | Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query. (optional) expand = [thousandeyes_sdk.administrative.ExpandAccountGroupOptions()] # List[ExpandAccountGroupOptions] | Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query. (optional)
try: try:
# Update account group # Update account group
@ -412,7 +412,7 @@ Name | Type | Description | Notes
------------- | ------------- | ------------- | ------------- ------------- | ------------- | ------------- | -------------
**id** | **str**| Identifier for the account group. | **id** | **str**| Identifier for the account group. |
**account_group_request** | [**AccountGroupRequest**](AccountGroupRequest.md)| | **account_group_request** | [**AccountGroupRequest**](AccountGroupRequest.md)| |
**expand** | [**List[Expand]**](Expand.md)| Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query. | [optional] **expand** | [**List[ExpandAccountGroupOptions]**](ExpandAccountGroupOptions.md)| Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query. | [optional]
### Return type ### Return type

View File

@ -0,0 +1,39 @@
# AgentResponse
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**ip_addresses** | **List[str]** | Array of private IP addresses. | [optional] [readonly]
**public_ip_addresses** | **List[str]** | Array of public IP addresses. | [optional] [readonly]
**network** | **str** | Network (including ASN) of agents public IP. | [optional] [readonly]
**agent_id** | **str** | Unique ID of the agent. | [optional] [readonly]
**agent_name** | **str** | Name of the agent. | [optional]
**location** | **str** | Location of the agent. | [optional] [readonly]
**country_id** | **str** | 2-digit ISO country code | [optional] [readonly]
**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]
**agent_type** | [**CloudEnterpriseAgentType**](CloudEnterpriseAgentType.md) | |
## Example
```python
from thousandeyes_sdk.administrative.models.agent_response import AgentResponse
# TODO update the JSON string below
json = "{}"
# create an instance of AgentResponse from a JSON string
agent_response_instance = AgentResponse.from_json(json)
# print the JSON string representation of the object
print(AgentResponse.to_json())
# convert the object into a dict
agent_response_dict = agent_response_instance.to_dict()
# create an instance of AgentResponse from a dict
agent_response_from_dict = AgentResponse.from_dict(agent_response_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,11 @@
# ExpandAccountGroupOptions
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -6,6 +6,7 @@ Method | HTTP request | Description
------------- | ------------- | ------------- ------------- | ------------- | -------------
[**create_user**](UsersApi.md#create_user) | **POST** /users | Create user [**create_user**](UsersApi.md#create_user) | **POST** /users | Create user
[**delete_user**](UsersApi.md#delete_user) | **DELETE** /users/{id} | Delete user [**delete_user**](UsersApi.md#delete_user) | **DELETE** /users/{id} | Delete user
[**get_current_user**](UsersApi.md#get_current_user) | **GET** /users/current | Retrieve current user
[**get_user**](UsersApi.md#get_user) | **GET** /users/{id} | Retrieve user [**get_user**](UsersApi.md#get_user) | **GET** /users/{id} | Retrieve user
[**get_users**](UsersApi.md#get_users) | **GET** /users | List users [**get_users**](UsersApi.md#get_users) | **GET** /users | List users
[**update_user**](UsersApi.md#update_user) | **PUT** /users/{id} | Update user [**update_user**](UsersApi.md#update_user) | **PUT** /users/{id} | Update user
@ -181,6 +182,86 @@ void (empty response body)
[[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) [[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_current_user**
> UserDetail get_current_user()
Retrieve current user
Retrieves detailed information about the current user.
### Example
* Bearer Authentication (BearerAuth):
```python
import thousandeyes_sdk.administrative
from thousandeyes_sdk.administrative.models.user_detail import UserDetail
from thousandeyes_sdk.administrative.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.administrative.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = thousandeyes_sdk.administrative.UsersApi(api_client)
try:
# Retrieve current user
api_response = api_instance.get_current_user()
print("The response of UsersApi->get_current_user:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling UsersApi->get_current_user: %s\n" % e)
```
### Parameters
This endpoint does not need any parameter.
### Return type
[**UserDetail**](UserDetail.md)
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/hal+json, application/json, application/problem+json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | OK | - |
**400** | Bad Request | - |
**401** | Unauthorized | - |
**403** | Insufficient permissions to query endpoint | - |
**404** | Not found | - |
**429** | Exhausted rate limit for the organization | - |
**500** | Internal server error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **get_user** # **get_user**
> UserDetail get_user(id, aid=aid) > UserDetail get_user(id, aid=aid)

View File

@ -28,8 +28,8 @@ from thousandeyes_sdk.administrative.models.account_group_info import AccountGro
from thousandeyes_sdk.administrative.models.account_group_request import AccountGroupRequest from thousandeyes_sdk.administrative.models.account_group_request import AccountGroupRequest
from thousandeyes_sdk.administrative.models.account_group_role import AccountGroupRole from thousandeyes_sdk.administrative.models.account_group_role import AccountGroupRole
from thousandeyes_sdk.administrative.models.account_groups import AccountGroups from thousandeyes_sdk.administrative.models.account_groups import AccountGroups
from thousandeyes_sdk.administrative.models.agent import Agent
from thousandeyes_sdk.administrative.models.agent_base import AgentBase from thousandeyes_sdk.administrative.models.agent_base import AgentBase
from thousandeyes_sdk.administrative.models.agent_response import AgentResponse
from thousandeyes_sdk.administrative.models.audit_user_events import AuditUserEvents from thousandeyes_sdk.administrative.models.audit_user_events import AuditUserEvents
from thousandeyes_sdk.administrative.models.base_role import BaseRole from thousandeyes_sdk.administrative.models.base_role import BaseRole
from thousandeyes_sdk.administrative.models.cloud_enterprise_agent_type import CloudEnterpriseAgentType from thousandeyes_sdk.administrative.models.cloud_enterprise_agent_type import CloudEnterpriseAgentType
@ -43,7 +43,7 @@ from thousandeyes_sdk.administrative.models.enterprise_agent_state import Enterp
from thousandeyes_sdk.administrative.models.error import Error from thousandeyes_sdk.administrative.models.error import Error
from thousandeyes_sdk.administrative.models.error_detail import ErrorDetail from thousandeyes_sdk.administrative.models.error_detail import ErrorDetail
from thousandeyes_sdk.administrative.models.error_detail_code import ErrorDetailCode from thousandeyes_sdk.administrative.models.error_detail_code import ErrorDetailCode
from thousandeyes_sdk.administrative.models.expand import Expand from thousandeyes_sdk.administrative.models.expand_account_group_options import ExpandAccountGroupOptions
from thousandeyes_sdk.administrative.models.extended_user import ExtendedUser from thousandeyes_sdk.administrative.models.extended_user import ExtendedUser
from thousandeyes_sdk.administrative.models.interface_ip_mapping import InterfaceIpMapping from thousandeyes_sdk.administrative.models.interface_ip_mapping import InterfaceIpMapping
from thousandeyes_sdk.administrative.models.link import Link from thousandeyes_sdk.administrative.models.link import Link

View File

@ -25,7 +25,7 @@ from thousandeyes_sdk.administrative.models.account_group_detail import AccountG
from thousandeyes_sdk.administrative.models.account_group_request import AccountGroupRequest from thousandeyes_sdk.administrative.models.account_group_request import AccountGroupRequest
from thousandeyes_sdk.administrative.models.account_groups import AccountGroups from thousandeyes_sdk.administrative.models.account_groups import AccountGroups
from thousandeyes_sdk.administrative.models.created_account_group import CreatedAccountGroup from thousandeyes_sdk.administrative.models.created_account_group import CreatedAccountGroup
from thousandeyes_sdk.administrative.models.expand import Expand from thousandeyes_sdk.administrative.models.expand_account_group_options import ExpandAccountGroupOptions
from thousandeyes_sdk.core.api_client import ApiClient, RequestSerialized from thousandeyes_sdk.core.api_client import ApiClient, RequestSerialized
from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.api_response import ApiResponse
@ -50,7 +50,7 @@ class AccountGroupsApi:
def create_account_group( def create_account_group(
self, self,
account_group_request: AccountGroupRequest, account_group_request: AccountGroupRequest,
expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query.")] = None, expand: Annotated[Optional[List[ExpandAccountGroupOptions]], Field(description="Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query.")] = None,
_request_timeout: Union[ _request_timeout: Union[
None, None,
Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)],
@ -71,7 +71,7 @@ class AccountGroupsApi:
:param account_group_request: (required) :param account_group_request: (required)
:type account_group_request: AccountGroupRequest :type account_group_request: AccountGroupRequest
:param expand: Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query. :param expand: Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query.
:type expand: List[Expand] :type expand: List[ExpandAccountGroupOptions]
:param _request_timeout: timeout setting for this request. If one :param _request_timeout: timeout setting for this request. If one
number provided, it will be total request number provided, it will be total request
timeout. It can also be a pair (tuple) of timeout. It can also be a pair (tuple) of
@ -128,7 +128,7 @@ class AccountGroupsApi:
def create_account_group_with_http_info( def create_account_group_with_http_info(
self, self,
account_group_request: AccountGroupRequest, account_group_request: AccountGroupRequest,
expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query.")] = None, expand: Annotated[Optional[List[ExpandAccountGroupOptions]], Field(description="Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query.")] = None,
_request_timeout: Union[ _request_timeout: Union[
None, None,
Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)],
@ -149,7 +149,7 @@ class AccountGroupsApi:
:param account_group_request: (required) :param account_group_request: (required)
:type account_group_request: AccountGroupRequest :type account_group_request: AccountGroupRequest
:param expand: Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query. :param expand: Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query.
:type expand: List[Expand] :type expand: List[ExpandAccountGroupOptions]
:param _request_timeout: timeout setting for this request. If one :param _request_timeout: timeout setting for this request. If one
number provided, it will be total request number provided, it will be total request
timeout. It can also be a pair (tuple) of timeout. It can also be a pair (tuple) of
@ -206,7 +206,7 @@ class AccountGroupsApi:
def create_account_group_without_preload_content( def create_account_group_without_preload_content(
self, self,
account_group_request: AccountGroupRequest, account_group_request: AccountGroupRequest,
expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query.")] = None, expand: Annotated[Optional[List[ExpandAccountGroupOptions]], Field(description="Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query.")] = None,
_request_timeout: Union[ _request_timeout: Union[
None, None,
Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)],
@ -227,7 +227,7 @@ class AccountGroupsApi:
:param account_group_request: (required) :param account_group_request: (required)
:type account_group_request: AccountGroupRequest :type account_group_request: AccountGroupRequest
:param expand: Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query. :param expand: Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query.
:type expand: List[Expand] :type expand: List[ExpandAccountGroupOptions]
:param _request_timeout: timeout setting for this request. If one :param _request_timeout: timeout setting for this request. If one
number provided, it will be total request number provided, it will be total request
timeout. It can also be a pair (tuple) of timeout. It can also be a pair (tuple) of
@ -640,7 +640,7 @@ class AccountGroupsApi:
def get_account_group( def get_account_group(
self, self,
id: Annotated[StrictStr, Field(description="Identifier for the account group.")], id: Annotated[StrictStr, Field(description="Identifier for the account group.")],
expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query.")] = None, expand: Annotated[Optional[List[ExpandAccountGroupOptions]], Field(description="Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query.")] = None,
_request_timeout: Union[ _request_timeout: Union[
None, None,
Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)],
@ -661,7 +661,7 @@ class AccountGroupsApi:
:param id: Identifier for the account group. (required) :param id: Identifier for the account group. (required)
:type id: str :type id: str
:param expand: Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query. :param expand: Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query.
:type expand: List[Expand] :type expand: List[ExpandAccountGroupOptions]
:param _request_timeout: timeout setting for this request. If one :param _request_timeout: timeout setting for this request. If one
number provided, it will be total request number provided, it will be total request
timeout. It can also be a pair (tuple) of timeout. It can also be a pair (tuple) of
@ -718,7 +718,7 @@ class AccountGroupsApi:
def get_account_group_with_http_info( def get_account_group_with_http_info(
self, self,
id: Annotated[StrictStr, Field(description="Identifier for the account group.")], id: Annotated[StrictStr, Field(description="Identifier for the account group.")],
expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query.")] = None, expand: Annotated[Optional[List[ExpandAccountGroupOptions]], Field(description="Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query.")] = None,
_request_timeout: Union[ _request_timeout: Union[
None, None,
Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)],
@ -739,7 +739,7 @@ class AccountGroupsApi:
:param id: Identifier for the account group. (required) :param id: Identifier for the account group. (required)
:type id: str :type id: str
:param expand: Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query. :param expand: Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query.
:type expand: List[Expand] :type expand: List[ExpandAccountGroupOptions]
:param _request_timeout: timeout setting for this request. If one :param _request_timeout: timeout setting for this request. If one
number provided, it will be total request number provided, it will be total request
timeout. It can also be a pair (tuple) of timeout. It can also be a pair (tuple) of
@ -796,7 +796,7 @@ class AccountGroupsApi:
def get_account_group_without_preload_content( def get_account_group_without_preload_content(
self, self,
id: Annotated[StrictStr, Field(description="Identifier for the account group.")], id: Annotated[StrictStr, Field(description="Identifier for the account group.")],
expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query.")] = None, expand: Annotated[Optional[List[ExpandAccountGroupOptions]], Field(description="Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query.")] = None,
_request_timeout: Union[ _request_timeout: Union[
None, None,
Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)],
@ -817,7 +817,7 @@ class AccountGroupsApi:
:param id: Identifier for the account group. (required) :param id: Identifier for the account group. (required)
:type id: str :type id: str
:param expand: Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query. :param expand: Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query.
:type expand: List[Expand] :type expand: List[ExpandAccountGroupOptions]
:param _request_timeout: timeout setting for this request. If one :param _request_timeout: timeout setting for this request. If one
number provided, it will be total request number provided, it will be total request
timeout. It can also be a pair (tuple) of timeout. It can also be a pair (tuple) of
@ -1221,7 +1221,7 @@ class AccountGroupsApi:
self, self,
id: Annotated[StrictStr, Field(description="Identifier for the account group.")], id: Annotated[StrictStr, Field(description="Identifier for the account group.")],
account_group_request: AccountGroupRequest, account_group_request: AccountGroupRequest,
expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query.")] = None, expand: Annotated[Optional[List[ExpandAccountGroupOptions]], Field(description="Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query.")] = None,
_request_timeout: Union[ _request_timeout: Union[
None, None,
Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)],
@ -1244,7 +1244,7 @@ class AccountGroupsApi:
:param account_group_request: (required) :param account_group_request: (required)
:type account_group_request: AccountGroupRequest :type account_group_request: AccountGroupRequest
:param expand: Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query. :param expand: Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query.
:type expand: List[Expand] :type expand: List[ExpandAccountGroupOptions]
:param _request_timeout: timeout setting for this request. If one :param _request_timeout: timeout setting for this request. If one
number provided, it will be total request number provided, it will be total request
timeout. It can also be a pair (tuple) of timeout. It can also be a pair (tuple) of
@ -1303,7 +1303,7 @@ class AccountGroupsApi:
self, self,
id: Annotated[StrictStr, Field(description="Identifier for the account group.")], id: Annotated[StrictStr, Field(description="Identifier for the account group.")],
account_group_request: AccountGroupRequest, account_group_request: AccountGroupRequest,
expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query.")] = None, expand: Annotated[Optional[List[ExpandAccountGroupOptions]], Field(description="Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query.")] = None,
_request_timeout: Union[ _request_timeout: Union[
None, None,
Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)],
@ -1326,7 +1326,7 @@ class AccountGroupsApi:
:param account_group_request: (required) :param account_group_request: (required)
:type account_group_request: AccountGroupRequest :type account_group_request: AccountGroupRequest
:param expand: Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query. :param expand: Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query.
:type expand: List[Expand] :type expand: List[ExpandAccountGroupOptions]
:param _request_timeout: timeout setting for this request. If one :param _request_timeout: timeout setting for this request. If one
number provided, it will be total request number provided, it will be total request
timeout. It can also be a pair (tuple) of timeout. It can also be a pair (tuple) of
@ -1385,7 +1385,7 @@ class AccountGroupsApi:
self, self,
id: Annotated[StrictStr, Field(description="Identifier for the account group.")], id: Annotated[StrictStr, Field(description="Identifier for the account group.")],
account_group_request: AccountGroupRequest, account_group_request: AccountGroupRequest,
expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query.")] = None, expand: Annotated[Optional[List[ExpandAccountGroupOptions]], Field(description="Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query.")] = None,
_request_timeout: Union[ _request_timeout: Union[
None, None,
Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)],
@ -1408,7 +1408,7 @@ class AccountGroupsApi:
:param account_group_request: (required) :param account_group_request: (required)
:type account_group_request: AccountGroupRequest :type account_group_request: AccountGroupRequest
:param expand: Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query. :param expand: Optional parameter that specifies whether or not account group related resources should be expanded. By default, no expansion takes place if the query parameter is not passed. For example, to expand the `users` resource, pass the `?expand=user` query.
:type expand: List[Expand] :type expand: List[ExpandAccountGroupOptions]
:param _request_timeout: timeout setting for this request. If one :param _request_timeout: timeout setting for this request. If one
number provided, it will be total request number provided, it will be total request
timeout. It can also be a pair (tuple) of timeout. It can also be a pair (tuple) of

View File

@ -651,6 +651,271 @@ class UsersApi:
@validate_call
def get_current_user(
self,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> UserDetail:
"""Retrieve current user
Retrieves detailed information about the current user.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_current_user_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "UserDetail",
'400': "ValidationError",
'401': "UnauthorizedError",
'403': "Error",
'404': "Error",
'429': "Error",
'500': "Error",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
models=thousandeyes_sdk.administrative.models,
).data
@validate_call
def get_current_user_with_http_info(
self,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ApiResponse[UserDetail]:
"""Retrieve current user
Retrieves detailed information about the current user.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_current_user_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "UserDetail",
'400': "ValidationError",
'401': "UnauthorizedError",
'403': "Error",
'404': "Error",
'429': "Error",
'500': "Error",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
models=thousandeyes_sdk.administrative.models,
)
@validate_call
def get_current_user_without_preload_content(
self,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> RESTResponseType:
"""Retrieve current user
Retrieves detailed information about the current user.
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_current_user_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "UserDetail",
'400': "ValidationError",
'401': "UnauthorizedError",
'403': "Error",
'404': "Error",
'429': "Error",
'500': "Error",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
return response_data.response
def _get_current_user_serialize(
self,
_request_auth,
_content_type,
_headers,
_host_index,
) -> RequestSerialized:
_host = None
_collection_formats: Dict[str, str] = {
}
_path_params: Dict[str, str] = {}
_query_params: List[Tuple[str, str]] = []
_header_params: Dict[str, Optional[str]] = _headers or {}
_form_params: List[Tuple[str, str]] = []
_files: Dict[str, Union[str, bytes]] = {}
_body_params: Optional[bytes] = None
# process the path parameters
# process the query parameters
# process the header parameters
# process the form parameters
# process the body parameter
# set the HTTP header `Accept`
_header_params['Accept'] = self.api_client.select_header_accept(
[
'application/hal+json',
'application/json',
'application/problem+json'
]
)
# authentication setting
_auth_settings: List[str] = [
'BearerAuth'
]
return self.api_client.param_serialize(
method='GET',
resource_path='/users/current',
path_params=_path_params,
query_params=_query_params,
header_params=_header_params,
body=_body_params,
post_params=_form_params,
files=_files,
auth_settings=_auth_settings,
collection_formats=_collection_formats,
_host=_host,
_request_auth=_request_auth
)
@validate_call @validate_call
def get_user( def get_user(
self, self,

View File

@ -19,8 +19,8 @@ from thousandeyes_sdk.administrative.models.account_group_info import AccountGro
from thousandeyes_sdk.administrative.models.account_group_request import AccountGroupRequest from thousandeyes_sdk.administrative.models.account_group_request import AccountGroupRequest
from thousandeyes_sdk.administrative.models.account_group_role import AccountGroupRole from thousandeyes_sdk.administrative.models.account_group_role import AccountGroupRole
from thousandeyes_sdk.administrative.models.account_groups import AccountGroups from thousandeyes_sdk.administrative.models.account_groups import AccountGroups
from thousandeyes_sdk.administrative.models.agent import Agent
from thousandeyes_sdk.administrative.models.agent_base import AgentBase from thousandeyes_sdk.administrative.models.agent_base import AgentBase
from thousandeyes_sdk.administrative.models.agent_response import AgentResponse
from thousandeyes_sdk.administrative.models.audit_user_events import AuditUserEvents from thousandeyes_sdk.administrative.models.audit_user_events import AuditUserEvents
from thousandeyes_sdk.administrative.models.base_role import BaseRole from thousandeyes_sdk.administrative.models.base_role import BaseRole
from thousandeyes_sdk.administrative.models.cloud_enterprise_agent_type import CloudEnterpriseAgentType from thousandeyes_sdk.administrative.models.cloud_enterprise_agent_type import CloudEnterpriseAgentType
@ -34,7 +34,7 @@ from thousandeyes_sdk.administrative.models.enterprise_agent_state import Enterp
from thousandeyes_sdk.administrative.models.error import Error from thousandeyes_sdk.administrative.models.error import Error
from thousandeyes_sdk.administrative.models.error_detail import ErrorDetail from thousandeyes_sdk.administrative.models.error_detail import ErrorDetail
from thousandeyes_sdk.administrative.models.error_detail_code import ErrorDetailCode from thousandeyes_sdk.administrative.models.error_detail_code import ErrorDetailCode
from thousandeyes_sdk.administrative.models.expand import Expand from thousandeyes_sdk.administrative.models.expand_account_group_options import ExpandAccountGroupOptions
from thousandeyes_sdk.administrative.models.extended_user import ExtendedUser from thousandeyes_sdk.administrative.models.extended_user import ExtendedUser
from thousandeyes_sdk.administrative.models.interface_ip_mapping import InterfaceIpMapping from thousandeyes_sdk.administrative.models.interface_ip_mapping import InterfaceIpMapping
from thousandeyes_sdk.administrative.models.link import Link from thousandeyes_sdk.administrative.models.link import Link

View File

@ -36,7 +36,8 @@ class AccountGroupDetail(BaseModel):
users: Optional[List[UserAccountGroup]] = None users: Optional[List[UserAccountGroup]] = None
links: Optional[SelfLinks] = Field(default=None, alias="_links") links: Optional[SelfLinks] = Field(default=None, alias="_links")
agents: Optional[List[EnterpriseAgent]] = None agents: Optional[List[EnterpriseAgent]] = None
__properties: ClassVar[List[str]] = ["aid", "accountGroupName", "isCurrentAccountGroup", "isDefaultAccountGroup", "organizationName", "users", "_links", "agents"] account_token: Optional[StrictStr] = Field(default=None, description="The account group token is an alphanumeric string used to bind an Enterprise Agent to a specific account group. This token is not a password that must be kept secret. You can retrieve your `AccountGroupToken` from the `/account-groups/{id}` endpoint.", alias="accountToken")
__properties: ClassVar[List[str]] = ["aid", "accountGroupName", "isCurrentAccountGroup", "isDefaultAccountGroup", "organizationName", "users", "_links", "agents", "accountToken"]
model_config = ConfigDict( model_config = ConfigDict(
populate_by_name=True, populate_by_name=True,
@ -114,7 +115,8 @@ class AccountGroupDetail(BaseModel):
"organizationName": obj.get("organizationName"), "organizationName": obj.get("organizationName"),
"users": [UserAccountGroup.from_dict(_item) for _item in obj["users"]] if obj.get("users") is not None else None, "users": [UserAccountGroup.from_dict(_item) for _item in obj["users"]] if obj.get("users") is not None else None,
"_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None,
"agents": [EnterpriseAgent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None "agents": [EnterpriseAgent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None,
"accountToken": obj.get("accountToken")
}) })
return _obj return _obj

View File

@ -0,0 +1,124 @@
# coding: utf-8
"""
Administrative API
Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following endpoints that define the operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These endpoints 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, StrictBool, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from thousandeyes_sdk.administrative.models.cloud_enterprise_agent_type import CloudEnterpriseAgentType
from typing import Optional, Set
from typing_extensions import Self
class AgentResponse(BaseModel):
"""
AgentResponse
""" # noqa: E501
ip_addresses: Optional[List[StrictStr]] = Field(default=None, description="Array of private IP addresses.", alias="ipAddresses")
public_ip_addresses: Optional[List[StrictStr]] = Field(default=None, description="Array of public IP addresses.", alias="publicIpAddresses")
network: Optional[StrictStr] = Field(default=None, description="Network (including ASN) of agents public IP.")
agent_id: Optional[StrictStr] = Field(default=None, description="Unique ID of the agent.", alias="agentId")
agent_name: Optional[StrictStr] = Field(default=None, description="Name of the agent.", alias="agentName")
location: Optional[StrictStr] = Field(default=None, description="Location of the agent.")
country_id: Optional[StrictStr] = Field(default=None, description="2-digit ISO country code", alias="countryId")
enabled: Optional[StrictBool] = Field(default=None, description="Flag indicating if the agent is enabled.")
prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.")
verify_ssl_certificates: Optional[StrictBool] = Field(default=None, description="Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests.", alias="verifySslCertificates")
agent_type: CloudEnterpriseAgentType = Field(alias="agentType")
__properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "enabled", "prefix", "verifySslCertificates", "agentType"]
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 AgentResponse from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
* OpenAPI `readOnly` fields are excluded.
* OpenAPI `readOnly` fields are excluded.
* OpenAPI `readOnly` fields are excluded.
* OpenAPI `readOnly` fields are excluded.
* OpenAPI `readOnly` fields are excluded.
* OpenAPI `readOnly` fields are excluded.
* OpenAPI `readOnly` fields are excluded.
* OpenAPI `readOnly` fields are excluded.
"""
excluded_fields: Set[str] = set([
"ip_addresses",
"public_ip_addresses",
"network",
"agent_id",
"location",
"country_id",
"prefix",
"verify_ssl_certificates",
])
_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 AgentResponse from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"ipAddresses": obj.get("ipAddresses"),
"publicIpAddresses": obj.get("publicIpAddresses"),
"network": obj.get("network"),
"agentId": obj.get("agentId"),
"agentName": obj.get("agentName"),
"location": obj.get("location"),
"countryId": obj.get("countryId"),
"enabled": obj.get("enabled"),
"prefix": obj.get("prefix"),
"verifySslCertificates": obj.get("verifySslCertificates"),
"agentType": obj.get("agentType")
})
return _obj

View File

@ -0,0 +1,36 @@
# coding: utf-8
"""
Administrative API
Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following endpoints that define the operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These endpoints 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 ExpandAccountGroupOptions(str, Enum):
"""
ExpandAccountGroupOptions
"""
"""
allowed enum values
"""
USER = 'user'
AGENT = 'agent'
@classmethod
def from_json(cls, json_str: str) -> Self:
"""Create an instance of ExpandAccountGroupOptions from a JSON string"""
return cls(json.loads(json_str))

View File

@ -125,6 +125,7 @@ class TestAccountGroupsApi(unittest.TestCase):
}, },
"accountGroupName" : "Account A", "accountGroupName" : "Account A",
"isDefaultAccountGroup" : true, "isDefaultAccountGroup" : true,
"accountToken" : "6j052y4vfgyuhefghue",
"aid" : "1234", "aid" : "1234",
"users" : [ { "users" : [ {
"uid" : "235", "uid" : "235",
@ -388,6 +389,7 @@ class TestAccountGroupsApi(unittest.TestCase):
}, },
"accountGroupName" : "Account A", "accountGroupName" : "Account A",
"isDefaultAccountGroup" : true, "isDefaultAccountGroup" : true,
"accountToken" : "6j052y4vfgyuhefghue",
"aid" : "1234", "aid" : "1234",
"users" : [ { "users" : [ {
"uid" : "235", "uid" : "235",

View File

@ -125,6 +125,82 @@ class TestUsersApi(unittest.TestCase):
"""Test case for delete_user request and response models""" """Test case for delete_user request and response models"""
def test_get_current_user_models_validation(self) -> None:
"""Test case for get_current_user request and response models"""
response_body_json = """
{
"loginAccountGroup" : {
"accountGroupName" : "Account A",
"aid" : "1234"
},
"uid" : "245",
"lastLogin" : "2022-07-17T22:00:54Z",
"allAccountGroupRoles" : [ {
"roleId" : "35",
"name" : "Organization Admin",
"isBuiltin" : true,
"hasManagementPermissions" : true
}, {
"roleId" : "35",
"name" : "Organization Admin",
"isBuiltin" : true,
"hasManagementPermissions" : true
} ],
"_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"
}
},
"accountGroupRoles" : [ {
"roles" : [ {
"roleId" : "35",
"name" : "Organization Admin",
"isBuiltin" : true,
"hasManagementPermissions" : true
}, {
"roleId" : "35",
"name" : "Organization Admin",
"isBuiltin" : true,
"hasManagementPermissions" : true
} ],
"accountGroup" : {
"accountGroupName" : "Account A",
"aid" : "1234"
}
}, {
"roles" : [ {
"roleId" : "35",
"name" : "Organization Admin",
"isBuiltin" : true,
"hasManagementPermissions" : true
}, {
"roleId" : "35",
"name" : "Organization Admin",
"isBuiltin" : true,
"hasManagementPermissions" : true
} ],
"accountGroup" : {
"accountGroupName" : "Account A",
"aid" : "1234"
}
} ],
"name" : "User X",
"email" : "userx@thousandeyes.com",
"dateRegistered" : "2020-07-17T22:00:54Z"
}"""
response_loaded_json = json.loads(response_body_json)
response_from_json = thousandeyes_sdk.administrative.models.UserDetail.from_json(response_body_json)
assert_constructed_model_matches_example_json(response_from_json, response_loaded_json)
def test_get_user_models_validation(self) -> None: def test_get_user_models_validation(self) -> None:
"""Test case for get_user request and response models""" """Test case for get_user request and response models"""

View File

@ -2,17 +2,20 @@
MANIFEST.in MANIFEST.in
README.md README.md
docs/AccountGroup.md docs/AccountGroup.md
docs/Agent.md
docs/AgentBase.md docs/AgentBase.md
docs/AgentClusterAssignRequest.md docs/AgentClusterAssignRequest.md
docs/AgentClusterUnassignRequest.md docs/AgentClusterUnassignRequest.md
docs/AgentDetails.md docs/AgentDetails.md
docs/AgentDetailsExpand.md docs/AgentDetailsExpand.md
docs/AgentIpv6Policy.md docs/AgentIpv6Policy.md
docs/AgentLabel.md
docs/AgentListExpand.md docs/AgentListExpand.md
docs/AgentNotification.md
docs/AgentProxies.md docs/AgentProxies.md
docs/AgentProxiesApi.md
docs/AgentProxy.md docs/AgentProxy.md
docs/AgentRequest.md docs/AgentRequest.md
docs/AgentResponse.md
docs/AlertEmail.md docs/AlertEmail.md
docs/AlertIntegrationBase.md docs/AlertIntegrationBase.md
docs/AlertIntegrationType.md docs/AlertIntegrationType.md
@ -35,14 +38,11 @@ docs/Error.md
docs/ErrorDetail.md docs/ErrorDetail.md
docs/ErrorDetailCode.md docs/ErrorDetailCode.md
docs/InterfaceIpMapping.md docs/InterfaceIpMapping.md
docs/Labels.md
docs/Link.md docs/Link.md
docs/ListNotificationRulesResponse.md docs/ListNotificationRulesResponse.md
docs/Notification.md
docs/NotificationRule.md docs/NotificationRule.md
docs/NotificationRuleDetail.md docs/NotificationRuleDetail.md
docs/NotificationRules.md docs/NotificationRules.md
docs/ProxiesApi.md
docs/ProxyAuthType.md docs/ProxyAuthType.md
docs/ProxyType.md docs/ProxyType.md
docs/SelfLinks.md docs/SelfLinks.md
@ -60,23 +60,25 @@ pyproject.toml
setup.cfg setup.cfg
src/thousandeyes_sdk/agents/__init__.py src/thousandeyes_sdk/agents/__init__.py
src/thousandeyes_sdk/agents/api/__init__.py src/thousandeyes_sdk/agents/api/__init__.py
src/thousandeyes_sdk/agents/api/agent_proxies_api.py
src/thousandeyes_sdk/agents/api/cloud_and_enterprise_agent_notification_rules_api.py src/thousandeyes_sdk/agents/api/cloud_and_enterprise_agent_notification_rules_api.py
src/thousandeyes_sdk/agents/api/cloud_and_enterprise_agents_api.py src/thousandeyes_sdk/agents/api/cloud_and_enterprise_agents_api.py
src/thousandeyes_sdk/agents/api/enterprise_agent_cluster_api.py src/thousandeyes_sdk/agents/api/enterprise_agent_cluster_api.py
src/thousandeyes_sdk/agents/api/proxies_api.py
src/thousandeyes_sdk/agents/models/__init__.py src/thousandeyes_sdk/agents/models/__init__.py
src/thousandeyes_sdk/agents/models/account_group.py src/thousandeyes_sdk/agents/models/account_group.py
src/thousandeyes_sdk/agents/models/agent.py
src/thousandeyes_sdk/agents/models/agent_base.py src/thousandeyes_sdk/agents/models/agent_base.py
src/thousandeyes_sdk/agents/models/agent_cluster_assign_request.py src/thousandeyes_sdk/agents/models/agent_cluster_assign_request.py
src/thousandeyes_sdk/agents/models/agent_cluster_unassign_request.py src/thousandeyes_sdk/agents/models/agent_cluster_unassign_request.py
src/thousandeyes_sdk/agents/models/agent_details.py src/thousandeyes_sdk/agents/models/agent_details.py
src/thousandeyes_sdk/agents/models/agent_details_expand.py src/thousandeyes_sdk/agents/models/agent_details_expand.py
src/thousandeyes_sdk/agents/models/agent_ipv6_policy.py src/thousandeyes_sdk/agents/models/agent_ipv6_policy.py
src/thousandeyes_sdk/agents/models/agent_label.py
src/thousandeyes_sdk/agents/models/agent_list_expand.py src/thousandeyes_sdk/agents/models/agent_list_expand.py
src/thousandeyes_sdk/agents/models/agent_notification.py
src/thousandeyes_sdk/agents/models/agent_proxies.py src/thousandeyes_sdk/agents/models/agent_proxies.py
src/thousandeyes_sdk/agents/models/agent_proxy.py src/thousandeyes_sdk/agents/models/agent_proxy.py
src/thousandeyes_sdk/agents/models/agent_request.py src/thousandeyes_sdk/agents/models/agent_request.py
src/thousandeyes_sdk/agents/models/agent_response.py
src/thousandeyes_sdk/agents/models/alert_email.py src/thousandeyes_sdk/agents/models/alert_email.py
src/thousandeyes_sdk/agents/models/alert_integration_base.py src/thousandeyes_sdk/agents/models/alert_integration_base.py
src/thousandeyes_sdk/agents/models/alert_integration_type.py src/thousandeyes_sdk/agents/models/alert_integration_type.py
@ -96,10 +98,8 @@ src/thousandeyes_sdk/agents/models/error.py
src/thousandeyes_sdk/agents/models/error_detail.py src/thousandeyes_sdk/agents/models/error_detail.py
src/thousandeyes_sdk/agents/models/error_detail_code.py src/thousandeyes_sdk/agents/models/error_detail_code.py
src/thousandeyes_sdk/agents/models/interface_ip_mapping.py src/thousandeyes_sdk/agents/models/interface_ip_mapping.py
src/thousandeyes_sdk/agents/models/labels.py
src/thousandeyes_sdk/agents/models/link.py src/thousandeyes_sdk/agents/models/link.py
src/thousandeyes_sdk/agents/models/list_notification_rules_response.py src/thousandeyes_sdk/agents/models/list_notification_rules_response.py
src/thousandeyes_sdk/agents/models/notification.py
src/thousandeyes_sdk/agents/models/notification_rule.py src/thousandeyes_sdk/agents/models/notification_rule.py
src/thousandeyes_sdk/agents/models/notification_rule_detail.py src/thousandeyes_sdk/agents/models/notification_rule_detail.py
src/thousandeyes_sdk/agents/models/notification_rules.py src/thousandeyes_sdk/agents/models/notification_rules.py
@ -118,8 +118,8 @@ src/thousandeyes_sdk/agents/models/validation_error.py
src/thousandeyes_sdk/agents/models/validation_error_item.py src/thousandeyes_sdk/agents/models/validation_error_item.py
src/thousandeyes_sdk/agents/py.typed src/thousandeyes_sdk/agents/py.typed
test/__init__.py test/__init__.py
test/test_agent_proxies_api.py
test/test_cloud_and_enterprise_agent_notification_rules_api.py test/test_cloud_and_enterprise_agent_notification_rules_api.py
test/test_cloud_and_enterprise_agents_api.py test/test_cloud_and_enterprise_agents_api.py
test/test_enterprise_agent_cluster_api.py test/test_enterprise_agent_cluster_api.py
test/test_proxies_api.py
test/test_utils.py test/test_utils.py

View File

@ -5,7 +5,7 @@ Manage all agents available to your account in ThousandEyes, including both Clou
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.15 - API version: 7.0.17
- Generator version: 7.6.0 - Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
@ -77,17 +77,16 @@ configuration = thousandeyes_sdk.core.Configuration(
# Enter a context with an instance of the API client # Enter a context with an instance of the API client
with thousandeyes_sdk.core.ApiClient(configuration) as api_client: with thousandeyes_sdk.core.ApiClient(configuration) as api_client:
# Create an instance of the API class # Create an instance of the API class
api_instance = thousandeyes_sdk.agents.CloudAndEnterpriseAgentNotificationRulesApi(api_client) api_instance = thousandeyes_sdk.agents.AgentProxiesApi(api_client)
notification_rule_id = '281474976710706' # str | Unique ID for the agent notification rule.
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) 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: try:
# Retrieve agent notification rule # List agent proxies
api_response = api_instance.get_agents_notification_rule(notification_rule_id, aid=aid) api_response = api_instance.get_agents_proxies(aid=aid)
print("The response of CloudAndEnterpriseAgentNotificationRulesApi->get_agents_notification_rule:\n") print("The response of AgentProxiesApi->get_agents_proxies:\n")
pprint(api_response) pprint(api_response)
except ApiException as e: except ApiException as e:
print("Exception when calling CloudAndEnterpriseAgentNotificationRulesApi->get_agents_notification_rule: %s\n" % e) print("Exception when calling AgentProxiesApi->get_agents_proxies: %s\n" % e)
``` ```
@ -97,6 +96,7 @@ All URIs are relative to *https://api.thousandeyes.com/v7*
Class | Method | HTTP request | Description Class | Method | HTTP request | Description
------------ | ------------- | ------------- | ------------- ------------ | ------------- | ------------- | -------------
*AgentProxiesApi* | [**get_agents_proxies**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/AgentProxiesApi.md#get_agents_proxies) | **GET** /agents/proxies | List agent proxies
*CloudAndEnterpriseAgentNotificationRulesApi* | [**get_agents_notification_rule**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/CloudAndEnterpriseAgentNotificationRulesApi.md#get_agents_notification_rule) | **GET** /agents/notification-rules/{notificationRuleId} | Retrieve agent notification rule *CloudAndEnterpriseAgentNotificationRulesApi* | [**get_agents_notification_rule**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/CloudAndEnterpriseAgentNotificationRulesApi.md#get_agents_notification_rule) | **GET** /agents/notification-rules/{notificationRuleId} | Retrieve agent notification rule
*CloudAndEnterpriseAgentNotificationRulesApi* | [**get_agents_notification_rules**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/CloudAndEnterpriseAgentNotificationRulesApi.md#get_agents_notification_rules) | **GET** /agents/notification-rules | List agent notification rules *CloudAndEnterpriseAgentNotificationRulesApi* | [**get_agents_notification_rules**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/CloudAndEnterpriseAgentNotificationRulesApi.md#get_agents_notification_rules) | **GET** /agents/notification-rules | List agent notification rules
*CloudAndEnterpriseAgentsApi* | [**delete_agent**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/CloudAndEnterpriseAgentsApi.md#delete_agent) | **DELETE** /agents/{agentId} | Delete Enterprise Agent *CloudAndEnterpriseAgentsApi* | [**delete_agent**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/CloudAndEnterpriseAgentsApi.md#delete_agent) | **DELETE** /agents/{agentId} | Delete Enterprise Agent
@ -105,23 +105,24 @@ Class | Method | HTTP request | Description
*CloudAndEnterpriseAgentsApi* | [**update_agent**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/CloudAndEnterpriseAgentsApi.md#update_agent) | **PUT** /agents/{agentId} | Update Enterprise Agent *CloudAndEnterpriseAgentsApi* | [**update_agent**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/CloudAndEnterpriseAgentsApi.md#update_agent) | **PUT** /agents/{agentId} | Update Enterprise Agent
*EnterpriseAgentClusterApi* | [**assign_agent_to_cluster**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/EnterpriseAgentClusterApi.md#assign_agent_to_cluster) | **POST** /agents/{agentId}/cluster/assign | Add member to Enterprise Agent cluster *EnterpriseAgentClusterApi* | [**assign_agent_to_cluster**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/EnterpriseAgentClusterApi.md#assign_agent_to_cluster) | **POST** /agents/{agentId}/cluster/assign | Add member to Enterprise Agent cluster
*EnterpriseAgentClusterApi* | [**unassign_agent_from_cluster**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/EnterpriseAgentClusterApi.md#unassign_agent_from_cluster) | **POST** /agents/{agentId}/cluster/unassign | Remove member from Enterprise Agent cluster *EnterpriseAgentClusterApi* | [**unassign_agent_from_cluster**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/EnterpriseAgentClusterApi.md#unassign_agent_from_cluster) | **POST** /agents/{agentId}/cluster/unassign | Remove member from Enterprise Agent cluster
*ProxiesApi* | [**get_agents_proxies**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/ProxiesApi.md#get_agents_proxies) | **GET** /agents/proxies | List agent proxies
## Documentation For Models ## Documentation For Models
- [AccountGroup](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/AccountGroup.md) - [AccountGroup](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/AccountGroup.md)
- [Agent](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/Agent.md)
- [AgentBase](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/AgentBase.md) - [AgentBase](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/AgentBase.md)
- [AgentClusterAssignRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/AgentClusterAssignRequest.md) - [AgentClusterAssignRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/AgentClusterAssignRequest.md)
- [AgentClusterUnassignRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/AgentClusterUnassignRequest.md) - [AgentClusterUnassignRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/AgentClusterUnassignRequest.md)
- [AgentDetails](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/AgentDetails.md) - [AgentDetails](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/AgentDetails.md)
- [AgentDetailsExpand](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/AgentDetailsExpand.md) - [AgentDetailsExpand](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/AgentDetailsExpand.md)
- [AgentIpv6Policy](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/AgentIpv6Policy.md) - [AgentIpv6Policy](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/AgentIpv6Policy.md)
- [AgentLabel](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/AgentLabel.md)
- [AgentListExpand](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/AgentListExpand.md) - [AgentListExpand](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/AgentListExpand.md)
- [AgentNotification](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/AgentNotification.md)
- [AgentProxies](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/AgentProxies.md) - [AgentProxies](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/AgentProxies.md)
- [AgentProxy](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/AgentProxy.md) - [AgentProxy](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/AgentProxy.md)
- [AgentRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/AgentRequest.md) - [AgentRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/AgentRequest.md)
- [AgentResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/AgentResponse.md)
- [AlertEmail](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/AlertEmail.md) - [AlertEmail](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/AlertEmail.md)
- [AlertIntegrationBase](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/AlertIntegrationBase.md) - [AlertIntegrationBase](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/AlertIntegrationBase.md)
- [AlertIntegrationType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/AlertIntegrationType.md) - [AlertIntegrationType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/AlertIntegrationType.md)
@ -141,10 +142,8 @@ Class | Method | HTTP request | Description
- [ErrorDetail](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/ErrorDetail.md) - [ErrorDetail](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/ErrorDetail.md)
- [ErrorDetailCode](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/ErrorDetailCode.md) - [ErrorDetailCode](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/ErrorDetailCode.md)
- [InterfaceIpMapping](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/InterfaceIpMapping.md) - [InterfaceIpMapping](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/InterfaceIpMapping.md)
- [Labels](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/Labels.md)
- [Link](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/Link.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) - [ListNotificationRulesResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/ListNotificationRulesResponse.md)
- [Notification](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/Notification.md)
- [NotificationRule](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/NotificationRule.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) - [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) - [NotificationRules](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/NotificationRules.md)

View File

@ -17,7 +17,7 @@ Name | Type | Description | Notes
**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] **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]
**agent_type** | **str** | Enterprise Cluster agent type. | **agent_type** | **str** | Enterprise Cluster agent type. |
**tests** | [**List[SimpleTest]**](SimpleTest.md) | List of tests. See `/tests` for more information. | [optional] **tests** | [**List[SimpleTest]**](SimpleTest.md) | List of tests. See `/tests` for more information. | [optional]
**labels** | [**List[Labels]**](Labels.md) | List of labels. See `/labels` for more information. | [optional] [readonly] **labels** | [**List[AgentLabel]**](AgentLabel.md) | List of labels. See `/labels` for more information. | [optional] [readonly]
**links** | [**SelfLinks**](SelfLinks.md) | | [optional] **links** | [**SelfLinks**](SelfLinks.md) | | [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] **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]
**utilization** | **int** | Shows overall utilization percentage (online Enterprise Agents and Enterprise Clusters only). | [optional] [readonly] **utilization** | **int** | Shows overall utilization percentage (online Enterprise Agents and Enterprise Clusters only). | [optional] [readonly]

View File

@ -0,0 +1,30 @@
# AgentLabel
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**label_id** | **str** | Label Id. | [optional]
**name** | **str** | Name of the label. | [optional]
## Example
```python
from thousandeyes_sdk.agents.models.agent_label import AgentLabel
# TODO update the JSON string below
json = "{}"
# create an instance of AgentLabel from a JSON string
agent_label_instance = AgentLabel.from_json(json)
# print the JSON string representation of the object
print(AgentLabel.to_json())
# convert the object into a dict
agent_label_dict = agent_label_instance.to_dict()
# create an instance of AgentLabel from a dict
agent_label_from_dict = AgentLabel.from_dict(agent_label_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,32 @@
# AgentNotification
Alert notification object.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**email** | [**AlertEmail**](AlertEmail.md) | | [optional]
**third_party** | [**List[AlertIntegrationBase]**](AlertIntegrationBase.md) | | [optional]
**webhook** | [**List[AlertIntegrationBase]**](AlertIntegrationBase.md) | | [optional]
## Example
```python
from thousandeyes_sdk.agents.models.agent_notification import AgentNotification
# TODO update the JSON string below
json = "{}"
# create an instance of AgentNotification from a JSON string
agent_notification_instance = AgentNotification.from_json(json)
# print the JSON string representation of the object
print(AgentNotification.to_json())
# convert the object into a dict
agent_notification_dict = agent_notification_instance.to_dict()
# create an instance of AgentNotification from a dict
agent_notification_from_dict = AgentNotification.from_dict(agent_notification_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,94 @@
# thousandeyes_sdk.agents.AgentProxiesApi
All URIs are relative to *https://api.thousandeyes.com/v7*
Method | HTTP request | Description
------------- | ------------- | -------------
[**get_agents_proxies**](AgentProxiesApi.md#get_agents_proxies) | **GET** /agents/proxies | List agent proxies
# **get_agents_proxies**
> AgentProxies get_agents_proxies(aid=aid)
List agent proxies
List all agent proxies available under the account group.
### Example
* Bearer Authentication (BearerAuth):
```python
import thousandeyes_sdk.agents
from thousandeyes_sdk.agents.models.agent_proxies import AgentProxies
from thousandeyes_sdk.agents.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.agents.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = thousandeyes_sdk.agents.AgentProxiesApi(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 agent proxies
api_response = api_instance.get_agents_proxies(aid=aid)
print("The response of AgentProxiesApi->get_agents_proxies:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling AgentProxiesApi->get_agents_proxies: %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
[**AgentProxies**](AgentProxies.md)
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/hal+json, application/json, application/problem+json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | OK | - |
**401** | Unauthorized | - |
**403** | Insufficient permissions to query endpoint | - |
**404** | Not found | - |
**429** | Exhausted rate limit for the organization | - |
**500** | Internal server error | - |
**502** | Bad Gateway | - |
**0** | An error occurred | - |
[[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,39 @@
# AgentResponse
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**ip_addresses** | **List[str]** | Array of private IP addresses. | [optional] [readonly]
**public_ip_addresses** | **List[str]** | Array of public IP addresses. | [optional] [readonly]
**network** | **str** | Network (including ASN) of agents public IP. | [optional] [readonly]
**agent_id** | **str** | Unique ID of the agent. | [optional] [readonly]
**agent_name** | **str** | Name of the agent. | [optional]
**location** | **str** | Location of the agent. | [optional] [readonly]
**country_id** | **str** | 2-digit ISO country code | [optional] [readonly]
**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]
**agent_type** | [**CloudEnterpriseAgentType**](CloudEnterpriseAgentType.md) | |
## Example
```python
from thousandeyes_sdk.agents.models.agent_response import AgentResponse
# TODO update the JSON string below
json = "{}"
# create an instance of AgentResponse from a JSON string
agent_response_instance = AgentResponse.from_json(json)
# print the JSON string representation of the object
print(AgentResponse.to_json())
# convert the object into a dict
agent_response_dict = agent_response_instance.to_dict()
# create an instance of AgentResponse from a dict
agent_response_from_dict = AgentResponse.from_dict(agent_response_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

@ -17,7 +17,7 @@ Name | Type | Description | Notes
**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] **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]
**agent_type** | **str** | Cloud agent type. | **agent_type** | **str** | Cloud agent type. |
**tests** | [**List[SimpleTest]**](SimpleTest.md) | List of tests. See `/tests` for more information. | [optional] **tests** | [**List[SimpleTest]**](SimpleTest.md) | List of tests. See `/tests` for more information. | [optional]
**labels** | [**List[Labels]**](Labels.md) | List of labels - see `/labels` for more information. | [optional] [readonly] **labels** | [**List[AgentLabel]**](AgentLabel.md) | List of labels - see `/labels` for more information. | [optional] [readonly]
**links** | [**SelfLinks**](SelfLinks.md) | | [optional] **links** | [**SelfLinks**](SelfLinks.md) | | [optional]
## Example ## Example

View File

@ -30,7 +30,7 @@ Name | Type | Description | Notes
**interface_ip_mappings** | [**List[InterfaceIpMapping]**](InterfaceIpMapping.md) | | [optional] [readonly] **interface_ip_mappings** | [**List[InterfaceIpMapping]**](InterfaceIpMapping.md) | | [optional] [readonly]
**tests** | [**List[SimpleTest]**](SimpleTest.md) | List of tests. See `/tests` for more information. | [optional] **tests** | [**List[SimpleTest]**](SimpleTest.md) | List of tests. See `/tests` for more information. | [optional]
**notification_rules** | [**List[NotificationRules]**](NotificationRules.md) | List of notification rule objects configured on agent | [optional] **notification_rules** | [**List[NotificationRules]**](NotificationRules.md) | List of notification rule objects configured on agent | [optional]
**labels** | [**List[Labels]**](Labels.md) | List of labels. See `/labels` for more information. | [optional] [readonly] **labels** | [**List[AgentLabel]**](AgentLabel.md) | List of labels. See `/labels` for more information. | [optional] [readonly]
**agent_type** | **str** | Enterprise Cluster agent type. | **agent_type** | **str** | Enterprise Cluster agent type. |
**links** | [**SelfLinks**](SelfLinks.md) | | [optional] **links** | [**SelfLinks**](SelfLinks.md) | | [optional]

View File

@ -30,7 +30,7 @@ Name | Type | Description | Notes
**interface_ip_mappings** | [**List[InterfaceIpMapping]**](InterfaceIpMapping.md) | | [optional] [readonly] **interface_ip_mappings** | [**List[InterfaceIpMapping]**](InterfaceIpMapping.md) | | [optional] [readonly]
**tests** | [**List[SimpleTest]**](SimpleTest.md) | List of tests. See `/tests` for more information. | [optional] **tests** | [**List[SimpleTest]**](SimpleTest.md) | List of tests. See `/tests` for more information. | [optional]
**notification_rules** | [**List[NotificationRules]**](NotificationRules.md) | List of notification rule objects configured on agent | [optional] **notification_rules** | [**List[NotificationRules]**](NotificationRules.md) | List of notification rule objects configured on agent | [optional]
**labels** | [**List[Labels]**](Labels.md) | List of labels. See `/labels` for more information. | [optional] [readonly] **labels** | [**List[AgentLabel]**](AgentLabel.md) | List of labels. See `/labels` for more information. | [optional] [readonly]
**agent_type** | **str** | Enterprise agent type. | **agent_type** | **str** | Enterprise agent type. |
**links** | [**SelfLinks**](SelfLinks.md) | | [optional] **links** | [**SelfLinks**](SelfLinks.md) | | [optional]

View File

@ -7,7 +7,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | ------------- ------------ | ------------- | ------------- | -------------
**tests** | [**List[SimpleTest]**](SimpleTest.md) | List of tests. See `/tests` for more information. | [optional] **tests** | [**List[SimpleTest]**](SimpleTest.md) | List of tests. See `/tests` for more information. | [optional]
**notification_rules** | [**List[NotificationRules]**](NotificationRules.md) | List of notification rule objects configured on agent | [optional] **notification_rules** | [**List[NotificationRules]**](NotificationRules.md) | List of notification rule objects configured on agent | [optional]
**labels** | [**List[Labels]**](Labels.md) | List of labels. See `/labels` for more information. | [optional] [readonly] **labels** | [**List[AgentLabel]**](AgentLabel.md) | List of labels. See `/labels` for more information. | [optional] [readonly]
## Example ## Example

View File

@ -10,8 +10,8 @@ Name | Type | Description | Notes
**expression** | **str** | Expression of agent notification rule | [optional] **expression** | **str** | Expression of agent notification rule | [optional]
**notify_on_clear** | **bool** | Send notification when notification clears | [optional] **notify_on_clear** | **bool** | Send notification when notification clears | [optional]
**is_default** | **bool** | Agent notification rule will be automatically included on all new Enterprise Agents. | [optional] **is_default** | **bool** | Agent notification rule will be automatically included on all new Enterprise Agents. | [optional]
**notifications** | [**Notification**](Notification.md) | | [optional] **notifications** | [**AgentNotification**](AgentNotification.md) | | [optional]
**agents** | [**List[Agent]**](Agent.md) | | [optional] **agents** | [**List[AgentResponse]**](AgentResponse.md) | | [optional]
**links** | [**SelfLinks**](SelfLinks.md) | | [optional] **links** | [**SelfLinks**](SelfLinks.md) | | [optional]
## Example ## Example

View File

@ -14,25 +14,27 @@
# import apis into sdk package # import apis into sdk package
from thousandeyes_sdk.agents.api.agent_proxies_api import AgentProxiesApi
from thousandeyes_sdk.agents.api.cloud_and_enterprise_agent_notification_rules_api import CloudAndEnterpriseAgentNotificationRulesApi from thousandeyes_sdk.agents.api.cloud_and_enterprise_agent_notification_rules_api import CloudAndEnterpriseAgentNotificationRulesApi
from thousandeyes_sdk.agents.api.cloud_and_enterprise_agents_api import CloudAndEnterpriseAgentsApi from thousandeyes_sdk.agents.api.cloud_and_enterprise_agents_api import CloudAndEnterpriseAgentsApi
from thousandeyes_sdk.agents.api.enterprise_agent_cluster_api import EnterpriseAgentClusterApi from thousandeyes_sdk.agents.api.enterprise_agent_cluster_api import EnterpriseAgentClusterApi
from thousandeyes_sdk.agents.api.proxies_api import ProxiesApi
# import models into sdk package # import models into sdk package
from thousandeyes_sdk.agents.models.account_group import AccountGroup from thousandeyes_sdk.agents.models.account_group import AccountGroup
from thousandeyes_sdk.agents.models.agent import Agent
from thousandeyes_sdk.agents.models.agent_base import AgentBase from thousandeyes_sdk.agents.models.agent_base import AgentBase
from thousandeyes_sdk.agents.models.agent_cluster_assign_request import AgentClusterAssignRequest from thousandeyes_sdk.agents.models.agent_cluster_assign_request import AgentClusterAssignRequest
from thousandeyes_sdk.agents.models.agent_cluster_unassign_request import AgentClusterUnassignRequest from thousandeyes_sdk.agents.models.agent_cluster_unassign_request import AgentClusterUnassignRequest
from thousandeyes_sdk.agents.models.agent_details import AgentDetails from thousandeyes_sdk.agents.models.agent_details import AgentDetails
from thousandeyes_sdk.agents.models.agent_details_expand import AgentDetailsExpand from thousandeyes_sdk.agents.models.agent_details_expand import AgentDetailsExpand
from thousandeyes_sdk.agents.models.agent_ipv6_policy import AgentIpv6Policy from thousandeyes_sdk.agents.models.agent_ipv6_policy import AgentIpv6Policy
from thousandeyes_sdk.agents.models.agent_label import AgentLabel
from thousandeyes_sdk.agents.models.agent_list_expand import AgentListExpand from thousandeyes_sdk.agents.models.agent_list_expand import AgentListExpand
from thousandeyes_sdk.agents.models.agent_notification import AgentNotification
from thousandeyes_sdk.agents.models.agent_proxies import AgentProxies from thousandeyes_sdk.agents.models.agent_proxies import AgentProxies
from thousandeyes_sdk.agents.models.agent_proxy import AgentProxy from thousandeyes_sdk.agents.models.agent_proxy import AgentProxy
from thousandeyes_sdk.agents.models.agent_request import AgentRequest from thousandeyes_sdk.agents.models.agent_request import AgentRequest
from thousandeyes_sdk.agents.models.agent_response import AgentResponse
from thousandeyes_sdk.agents.models.alert_email import AlertEmail from thousandeyes_sdk.agents.models.alert_email import AlertEmail
from thousandeyes_sdk.agents.models.alert_integration_base import AlertIntegrationBase from thousandeyes_sdk.agents.models.alert_integration_base import AlertIntegrationBase
from thousandeyes_sdk.agents.models.alert_integration_type import AlertIntegrationType from thousandeyes_sdk.agents.models.alert_integration_type import AlertIntegrationType
@ -52,10 +54,8 @@ from thousandeyes_sdk.agents.models.error import Error
from thousandeyes_sdk.agents.models.error_detail import ErrorDetail from thousandeyes_sdk.agents.models.error_detail import ErrorDetail
from thousandeyes_sdk.agents.models.error_detail_code import ErrorDetailCode 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.interface_ip_mapping import InterfaceIpMapping
from thousandeyes_sdk.agents.models.labels import Labels
from thousandeyes_sdk.agents.models.link import Link from thousandeyes_sdk.agents.models.link import Link
from thousandeyes_sdk.agents.models.list_notification_rules_response import ListNotificationRulesResponse from thousandeyes_sdk.agents.models.list_notification_rules_response import ListNotificationRulesResponse
from thousandeyes_sdk.agents.models.notification import Notification
from thousandeyes_sdk.agents.models.notification_rule import NotificationRule 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_rule_detail import NotificationRuleDetail
from thousandeyes_sdk.agents.models.notification_rules import NotificationRules from thousandeyes_sdk.agents.models.notification_rules import NotificationRules

View File

@ -1,8 +1,8 @@
# flake8: noqa # flake8: noqa
# import apis into api package # import apis into api package
from thousandeyes_sdk.agents.api.agent_proxies_api import AgentProxiesApi
from thousandeyes_sdk.agents.api.cloud_and_enterprise_agent_notification_rules_api import CloudAndEnterpriseAgentNotificationRulesApi from thousandeyes_sdk.agents.api.cloud_and_enterprise_agent_notification_rules_api import CloudAndEnterpriseAgentNotificationRulesApi
from thousandeyes_sdk.agents.api.cloud_and_enterprise_agents_api import CloudAndEnterpriseAgentsApi from thousandeyes_sdk.agents.api.cloud_and_enterprise_agents_api import CloudAndEnterpriseAgentsApi
from thousandeyes_sdk.agents.api.enterprise_agent_cluster_api import EnterpriseAgentClusterApi from thousandeyes_sdk.agents.api.enterprise_agent_cluster_api import EnterpriseAgentClusterApi
from thousandeyes_sdk.agents.api.proxies_api import ProxiesApi

View File

@ -0,0 +1,324 @@
# coding: utf-8
"""
Agents API
## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents.
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
import warnings
from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
from typing import Any, Dict, List, Optional, Tuple, Union
from typing_extensions import Annotated
from importlib.metadata import version
import thousandeyes_sdk.agents.models
from pydantic import Field, StrictStr
from typing import Optional
from typing_extensions import Annotated
from thousandeyes_sdk.agents.models.agent_proxies import AgentProxies
from thousandeyes_sdk.core.api_client import ApiClient, RequestSerialized
from thousandeyes_sdk.core.api_response import ApiResponse
from thousandeyes_sdk.core.rest import RESTResponseType
class AgentProxiesApi:
"""NOTE: This class is auto generated by OpenAPI Generator
Ref: https://openapi-generator.tech
Do not edit the class manually.
"""
def __init__(self, api_client=None) -> None:
if api_client is None:
api_client = ApiClient.get_default()
api_client.user_agent = "ThousandEyesSDK-Python/{0}".format(version("thousandeyes-sdk-agents"))
self.api_client = api_client
@validate_call
def get_agents_proxies(
self,
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,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> AgentProxies:
"""List agent proxies
List all agent proxies available under the account group.
: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
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_agents_proxies_serialize(
aid=aid,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "AgentProxies",
'401': "UnauthorizedError",
'403': "Error",
'404': "Error",
'429': "Error",
'500': "Error",
'502': "Error",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
models=thousandeyes_sdk.agents.models,
).data
@validate_call
def get_agents_proxies_with_http_info(
self,
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,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ApiResponse[AgentProxies]:
"""List agent proxies
List all agent proxies available under the account group.
: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
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_agents_proxies_serialize(
aid=aid,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "AgentProxies",
'401': "UnauthorizedError",
'403': "Error",
'404': "Error",
'429': "Error",
'500': "Error",
'502': "Error",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
models=thousandeyes_sdk.agents.models,
)
@validate_call
def get_agents_proxies_without_preload_content(
self,
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,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> RESTResponseType:
"""List agent proxies
List all agent proxies available under the account group.
: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
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_agents_proxies_serialize(
aid=aid,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "AgentProxies",
'401': "UnauthorizedError",
'403': "Error",
'404': "Error",
'429': "Error",
'500': "Error",
'502': "Error",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
return response_data.response
def _get_agents_proxies_serialize(
self,
aid,
_request_auth,
_content_type,
_headers,
_host_index,
) -> RequestSerialized:
_host = None
_collection_formats: Dict[str, str] = {
}
_path_params: Dict[str, str] = {}
_query_params: List[Tuple[str, str]] = []
_header_params: Dict[str, Optional[str]] = _headers or {}
_form_params: List[Tuple[str, str]] = []
_files: Dict[str, Union[str, bytes]] = {}
_body_params: Optional[bytes] = None
# process the path parameters
# process the query parameters
if aid is not None:
_query_params.append(('aid', aid))
# process the header parameters
# process the form parameters
# process the body parameter
# set the HTTP header `Accept`
_header_params['Accept'] = self.api_client.select_header_accept(
[
'application/hal+json',
'application/json',
'application/problem+json'
]
)
# authentication setting
_auth_settings: List[str] = [
'BearerAuth'
]
return self.api_client.param_serialize(
method='GET',
resource_path='/agents/proxies',
path_params=_path_params,
query_params=_query_params,
header_params=_header_params,
body=_body_params,
post_params=_form_params,
files=_files,
auth_settings=_auth_settings,
collection_formats=_collection_formats,
_host=_host,
_request_auth=_request_auth
)

View File

@ -14,17 +14,19 @@
# import models into model package # import models into model package
from thousandeyes_sdk.agents.models.account_group import AccountGroup from thousandeyes_sdk.agents.models.account_group import AccountGroup
from thousandeyes_sdk.agents.models.agent import Agent
from thousandeyes_sdk.agents.models.agent_base import AgentBase from thousandeyes_sdk.agents.models.agent_base import AgentBase
from thousandeyes_sdk.agents.models.agent_cluster_assign_request import AgentClusterAssignRequest from thousandeyes_sdk.agents.models.agent_cluster_assign_request import AgentClusterAssignRequest
from thousandeyes_sdk.agents.models.agent_cluster_unassign_request import AgentClusterUnassignRequest from thousandeyes_sdk.agents.models.agent_cluster_unassign_request import AgentClusterUnassignRequest
from thousandeyes_sdk.agents.models.agent_details import AgentDetails from thousandeyes_sdk.agents.models.agent_details import AgentDetails
from thousandeyes_sdk.agents.models.agent_details_expand import AgentDetailsExpand from thousandeyes_sdk.agents.models.agent_details_expand import AgentDetailsExpand
from thousandeyes_sdk.agents.models.agent_ipv6_policy import AgentIpv6Policy from thousandeyes_sdk.agents.models.agent_ipv6_policy import AgentIpv6Policy
from thousandeyes_sdk.agents.models.agent_label import AgentLabel
from thousandeyes_sdk.agents.models.agent_list_expand import AgentListExpand from thousandeyes_sdk.agents.models.agent_list_expand import AgentListExpand
from thousandeyes_sdk.agents.models.agent_notification import AgentNotification
from thousandeyes_sdk.agents.models.agent_proxies import AgentProxies from thousandeyes_sdk.agents.models.agent_proxies import AgentProxies
from thousandeyes_sdk.agents.models.agent_proxy import AgentProxy from thousandeyes_sdk.agents.models.agent_proxy import AgentProxy
from thousandeyes_sdk.agents.models.agent_request import AgentRequest from thousandeyes_sdk.agents.models.agent_request import AgentRequest
from thousandeyes_sdk.agents.models.agent_response import AgentResponse
from thousandeyes_sdk.agents.models.alert_email import AlertEmail from thousandeyes_sdk.agents.models.alert_email import AlertEmail
from thousandeyes_sdk.agents.models.alert_integration_base import AlertIntegrationBase from thousandeyes_sdk.agents.models.alert_integration_base import AlertIntegrationBase
from thousandeyes_sdk.agents.models.alert_integration_type import AlertIntegrationType from thousandeyes_sdk.agents.models.alert_integration_type import AlertIntegrationType
@ -44,10 +46,8 @@ from thousandeyes_sdk.agents.models.error import Error
from thousandeyes_sdk.agents.models.error_detail import ErrorDetail from thousandeyes_sdk.agents.models.error_detail import ErrorDetail
from thousandeyes_sdk.agents.models.error_detail_code import ErrorDetailCode 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.interface_ip_mapping import InterfaceIpMapping
from thousandeyes_sdk.agents.models.labels import Labels
from thousandeyes_sdk.agents.models.link import Link from thousandeyes_sdk.agents.models.link import Link
from thousandeyes_sdk.agents.models.list_notification_rules_response import ListNotificationRulesResponse from thousandeyes_sdk.agents.models.list_notification_rules_response import ListNotificationRulesResponse
from thousandeyes_sdk.agents.models.notification import Notification
from thousandeyes_sdk.agents.models.notification_rule import NotificationRule 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_rule_detail import NotificationRuleDetail
from thousandeyes_sdk.agents.models.notification_rules import NotificationRules from thousandeyes_sdk.agents.models.notification_rules import NotificationRules

View File

@ -0,0 +1,89 @@
# coding: utf-8
"""
Agents API
## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents.
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 AgentLabel(BaseModel):
"""
AgentLabel
""" # noqa: E501
label_id: Optional[StrictStr] = Field(default=None, description="Label Id.", alias="labelId")
name: Optional[StrictStr] = Field(default=None, description="Name of the label.")
__properties: ClassVar[List[str]] = ["labelId", "name"]
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 AgentLabel 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 AgentLabel from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"labelId": obj.get("labelId"),
"name": obj.get("name")
})
return _obj

View File

@ -0,0 +1,110 @@
# coding: utf-8
"""
Agents API
## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents.
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.agents.models.alert_email import AlertEmail
from thousandeyes_sdk.agents.models.alert_integration_base import AlertIntegrationBase
from typing import Optional, Set
from typing_extensions import Self
class AgentNotification(BaseModel):
"""
Alert notification object.
""" # noqa: E501
email: Optional[AlertEmail] = None
third_party: Optional[List[AlertIntegrationBase]] = Field(default=None, alias="thirdParty")
webhook: Optional[List[AlertIntegrationBase]] = None
__properties: ClassVar[List[str]] = ["email", "thirdParty", "webhook"]
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 AgentNotification 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 email
if self.email:
_dict['email'] = self.email.to_dict()
# override the default output from pydantic by calling `to_dict()` of each item in third_party (list)
_items = []
if self.third_party:
for _item in self.third_party:
if _item:
_items.append(_item.to_dict())
_dict['thirdParty'] = _items
# override the default output from pydantic by calling `to_dict()` of each item in webhook (list)
_items = []
if self.webhook:
for _item in self.webhook:
if _item:
_items.append(_item.to_dict())
_dict['webhook'] = _items
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of AgentNotification from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"email": AlertEmail.from_dict(obj["email"]) if obj.get("email") is not None else None,
"thirdParty": [AlertIntegrationBase.from_dict(_item) for _item in obj["thirdParty"]] if obj.get("thirdParty") is not None else None,
"webhook": [AlertIntegrationBase.from_dict(_item) for _item in obj["webhook"]] if obj.get("webhook") is not None else None
})
return _obj

View File

@ -0,0 +1,124 @@
# coding: utf-8
"""
Agents API
## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents.
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from thousandeyes_sdk.agents.models.cloud_enterprise_agent_type import CloudEnterpriseAgentType
from typing import Optional, Set
from typing_extensions import Self
class AgentResponse(BaseModel):
"""
AgentResponse
""" # noqa: E501
ip_addresses: Optional[List[StrictStr]] = Field(default=None, description="Array of private IP addresses.", alias="ipAddresses")
public_ip_addresses: Optional[List[StrictStr]] = Field(default=None, description="Array of public IP addresses.", alias="publicIpAddresses")
network: Optional[StrictStr] = Field(default=None, description="Network (including ASN) of agents public IP.")
agent_id: Optional[StrictStr] = Field(default=None, description="Unique ID of the agent.", alias="agentId")
agent_name: Optional[StrictStr] = Field(default=None, description="Name of the agent.", alias="agentName")
location: Optional[StrictStr] = Field(default=None, description="Location of the agent.")
country_id: Optional[StrictStr] = Field(default=None, description="2-digit ISO country code", alias="countryId")
enabled: Optional[StrictBool] = Field(default=None, description="Flag indicating if the agent is enabled.")
prefix: Optional[StrictStr] = Field(default=None, description="Prefix containing agents public IP address.")
verify_ssl_certificates: Optional[StrictBool] = Field(default=None, description="Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests.", alias="verifySslCertificates")
agent_type: CloudEnterpriseAgentType = Field(alias="agentType")
__properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "enabled", "prefix", "verifySslCertificates", "agentType"]
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 AgentResponse from a JSON string"""
return cls.from_dict(json.loads(json_str))
def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.
This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:
* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
* OpenAPI `readOnly` fields are excluded.
* OpenAPI `readOnly` fields are excluded.
* OpenAPI `readOnly` fields are excluded.
* OpenAPI `readOnly` fields are excluded.
* OpenAPI `readOnly` fields are excluded.
* OpenAPI `readOnly` fields are excluded.
* OpenAPI `readOnly` fields are excluded.
* OpenAPI `readOnly` fields are excluded.
"""
excluded_fields: Set[str] = set([
"ip_addresses",
"public_ip_addresses",
"network",
"agent_id",
"location",
"country_id",
"prefix",
"verify_ssl_certificates",
])
_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 AgentResponse from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"ipAddresses": obj.get("ipAddresses"),
"publicIpAddresses": obj.get("publicIpAddresses"),
"network": obj.get("network"),
"agentId": obj.get("agentId"),
"agentName": obj.get("agentName"),
"location": obj.get("location"),
"countryId": obj.get("countryId"),
"enabled": obj.get("enabled"),
"prefix": obj.get("prefix"),
"verifySslCertificates": obj.get("verifySslCertificates"),
"agentType": obj.get("agentType")
})
return _obj

View File

@ -19,7 +19,7 @@ import json
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List, Optional from typing import Any, ClassVar, Dict, List, Optional
from typing_extensions import Annotated from typing_extensions import Annotated
from thousandeyes_sdk.agents.models.labels import Labels from thousandeyes_sdk.agents.models.agent_label import AgentLabel
from thousandeyes_sdk.agents.models.self_links import SelfLinks from thousandeyes_sdk.agents.models.self_links import SelfLinks
from thousandeyes_sdk.agents.models.simple_test import SimpleTest from thousandeyes_sdk.agents.models.simple_test import SimpleTest
from typing import Optional, Set from typing import Optional, Set
@ -41,7 +41,7 @@ class CloudAgentDetail(BaseModel):
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") verify_ssl_certificates: Optional[StrictBool] = Field(default=None, description="Flag indicating if has normal SSL operations or if instead it's set to ignore SSL errors on browserbot-based tests.", alias="verifySslCertificates")
agent_type: Annotated[str, Field(strict=True)] = Field(description="Cloud agent type.", alias="agentType") 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.") tests: Optional[List[SimpleTest]] = Field(default=None, description="List of tests. See `/tests` for more information.")
labels: Optional[List[Labels]] = Field(default=None, description="List of labels - see `/labels` for more information.") labels: Optional[List[AgentLabel]] = Field(default=None, description="List of labels - see `/labels` for more information.")
links: Optional[SelfLinks] = Field(default=None, alias="_links") links: Optional[SelfLinks] = Field(default=None, alias="_links")
__properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "enabled", "prefix", "verifySslCertificates", "agentType", "tests", "labels", "_links"] __properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "enabled", "prefix", "verifySslCertificates", "agentType", "tests", "labels", "_links"]
@ -151,7 +151,7 @@ class CloudAgentDetail(BaseModel):
"verifySslCertificates": obj.get("verifySslCertificates"), "verifySslCertificates": obj.get("verifySslCertificates"),
"agentType": obj.get("agentType"), "agentType": obj.get("agentType"),
"tests": [SimpleTest.from_dict(_item) for _item in obj["tests"]] if obj.get("tests") is not None else None, "tests": [SimpleTest.from_dict(_item) for _item in obj["tests"]] if obj.get("tests") is not None else None,
"labels": [Labels.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, "labels": [AgentLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None,
"_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None
}) })
return _obj return _obj

View File

@ -18,28 +18,28 @@ import pprint
import re # noqa: F401 import re # noqa: F401
from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
from typing import Optional from typing import Optional
from thousandeyes_sdk.agents.models.agent import Agent from thousandeyes_sdk.agents.models.agent_response import AgentResponse
from thousandeyes_sdk.agents.models.enterprise_agent import EnterpriseAgent from thousandeyes_sdk.agents.models.enterprise_agent import EnterpriseAgent
from typing import Union, Any, List, Set, TYPE_CHECKING, Optional, Dict from typing import Union, Any, List, Set, TYPE_CHECKING, Optional, Dict
from typing_extensions import Literal, Self from typing_extensions import Literal, Self
from pydantic import Field, model_serializer from pydantic import Field, model_serializer
CLOUDENTERPRISEAGENT_ANY_OF_SCHEMAS = ["Agent", "EnterpriseAgent"] CLOUDENTERPRISEAGENT_ANY_OF_SCHEMAS = ["AgentResponse", "EnterpriseAgent"]
class CloudEnterpriseAgent(BaseModel): class CloudEnterpriseAgent(BaseModel):
""" """
CloudEnterpriseAgent CloudEnterpriseAgent
""" """
# data type: Agent # data type: AgentResponse
anyof_schema_1_validator: Optional[Agent] = None anyof_schema_1_validator: Optional[AgentResponse] = None
# data type: EnterpriseAgent # data type: EnterpriseAgent
anyof_schema_2_validator: Optional[EnterpriseAgent] = None anyof_schema_2_validator: Optional[EnterpriseAgent] = None
if TYPE_CHECKING: if TYPE_CHECKING:
actual_instance: Optional[Union[Agent, EnterpriseAgent]] = None actual_instance: Optional[Union[AgentResponse, EnterpriseAgent]] = None
else: else:
actual_instance: Any = None actual_instance: Any = None
any_of_schemas: Set[str] = { "Agent", "EnterpriseAgent" } any_of_schemas: Set[str] = { "AgentResponse", "EnterpriseAgent" }
model_config = { model_config = {
"validate_assignment": True, "validate_assignment": True,
@ -60,9 +60,9 @@ class CloudEnterpriseAgent(BaseModel):
def actual_instance_must_validate_anyof(cls, v): def actual_instance_must_validate_anyof(cls, v):
instance = CloudEnterpriseAgent.model_construct() instance = CloudEnterpriseAgent.model_construct()
error_messages = [] error_messages = []
# validate data type: Agent # validate data type: AgentResponse
if not isinstance(v, Agent): if not isinstance(v, AgentResponse):
error_messages.append(f"Error! Input type `{type(v)}` is not `Agent`") error_messages.append(f"Error! Input type `{type(v)}` is not `AgentResponse`")
else: else:
return v return v
@ -74,7 +74,7 @@ class CloudEnterpriseAgent(BaseModel):
if error_messages: if error_messages:
# no match # no match
raise ValueError("No match found when setting the actual_instance in CloudEnterpriseAgent with anyOf schemas: Agent, EnterpriseAgent. Details: " + ", ".join(error_messages)) raise ValueError("No match found when setting the actual_instance in CloudEnterpriseAgent with anyOf schemas: AgentResponse, EnterpriseAgent. Details: " + ", ".join(error_messages))
else: else:
return v return v
@ -87,9 +87,9 @@ class CloudEnterpriseAgent(BaseModel):
"""Returns the object represented by the json string""" """Returns the object represented by the json string"""
instance = cls.model_construct() instance = cls.model_construct()
error_messages = [] error_messages = []
# anyof_schema_1_validator: Optional[Agent] = None # anyof_schema_1_validator: Optional[AgentResponse] = None
try: try:
instance.actual_instance = Agent.from_json(json_str) instance.actual_instance = AgentResponse.from_json(json_str)
return instance return instance
except (ValidationError, ValueError) as e: except (ValidationError, ValueError) as e:
error_messages.append(str(e)) error_messages.append(str(e))
@ -102,7 +102,7 @@ class CloudEnterpriseAgent(BaseModel):
if error_messages: if error_messages:
# no match # no match
raise ValueError("No match found when deserializing the JSON string into CloudEnterpriseAgent with anyOf schemas: Agent, EnterpriseAgent. Details: " + ", ".join(error_messages)) raise ValueError("No match found when deserializing the JSON string into CloudEnterpriseAgent with anyOf schemas: AgentResponse, EnterpriseAgent. Details: " + ", ".join(error_messages))
else: else:
return instance return instance
@ -120,7 +120,7 @@ class CloudEnterpriseAgent(BaseModel):
else: else:
return json.dumps(self.actual_instance) return json.dumps(self.actual_instance)
def to_dict(self) -> Optional[Union[Dict[str, Any], Agent, EnterpriseAgent]]: def to_dict(self) -> Optional[Union[Dict[str, Any], AgentResponse, EnterpriseAgent]]:
"""Returns the dict representation of the actual instance""" """Returns the dict representation of the actual instance"""
if self.actual_instance is None: if self.actual_instance is None:
return None return None

View File

@ -21,12 +21,12 @@ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, Strict
from typing import Any, ClassVar, Dict, List, Optional from typing import Any, ClassVar, Dict, List, Optional
from typing_extensions import Annotated from typing_extensions import Annotated
from thousandeyes_sdk.agents.models.account_group import AccountGroup from thousandeyes_sdk.agents.models.account_group import AccountGroup
from thousandeyes_sdk.agents.models.agent_label import AgentLabel
from thousandeyes_sdk.agents.models.cluster_member import ClusterMember from thousandeyes_sdk.agents.models.cluster_member import ClusterMember
from thousandeyes_sdk.agents.models.enterprise_agent_ipv6_policy import EnterpriseAgentIpv6Policy from thousandeyes_sdk.agents.models.enterprise_agent_ipv6_policy import EnterpriseAgentIpv6Policy
from thousandeyes_sdk.agents.models.enterprise_agent_state import EnterpriseAgentState from thousandeyes_sdk.agents.models.enterprise_agent_state import EnterpriseAgentState
from thousandeyes_sdk.agents.models.error_detail import ErrorDetail from thousandeyes_sdk.agents.models.error_detail import ErrorDetail
from thousandeyes_sdk.agents.models.interface_ip_mapping import InterfaceIpMapping from thousandeyes_sdk.agents.models.interface_ip_mapping import InterfaceIpMapping
from thousandeyes_sdk.agents.models.labels import Labels
from thousandeyes_sdk.agents.models.notification_rules import NotificationRules from thousandeyes_sdk.agents.models.notification_rules import NotificationRules
from thousandeyes_sdk.agents.models.self_links import SelfLinks from thousandeyes_sdk.agents.models.self_links import SelfLinks
from thousandeyes_sdk.agents.models.simple_test import SimpleTest from thousandeyes_sdk.agents.models.simple_test import SimpleTest
@ -62,7 +62,7 @@ class EnterpriseAgentClusterDetail(BaseModel):
interface_ip_mappings: Optional[List[InterfaceIpMapping]] = Field(default=None, alias="interfaceIpMappings") interface_ip_mappings: Optional[List[InterfaceIpMapping]] = Field(default=None, alias="interfaceIpMappings")
tests: Optional[List[SimpleTest]] = Field(default=None, description="List of tests. See `/tests` for more information.") tests: Optional[List[SimpleTest]] = Field(default=None, description="List of tests. See `/tests` for more information.")
notification_rules: Optional[List[NotificationRules]] = Field(default=None, description="List of notification rule objects configured on agent", alias="notificationRules") notification_rules: Optional[List[NotificationRules]] = Field(default=None, description="List of notification rule objects configured on agent", alias="notificationRules")
labels: Optional[List[Labels]] = Field(default=None, description="List of labels. See `/labels` for more information.") labels: Optional[List[AgentLabel]] = Field(default=None, description="List of labels. See `/labels` for more information.")
agent_type: Annotated[str, Field(strict=True)] = Field(description="Enterprise Cluster agent type.", alias="agentType") agent_type: Annotated[str, Field(strict=True)] = Field(description="Enterprise Cluster agent type.", alias="agentType")
links: Optional[SelfLinks] = Field(default=None, alias="_links") links: Optional[SelfLinks] = Field(default=None, alias="_links")
__properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "enabled", "prefix", "verifySslCertificates", "clusterMembers", "utilization", "accountGroups", "ipv6Policy", "errorDetails", "hostname", "lastSeen", "agentState", "keepBrowserCache", "createdDate", "targetForTests", "localResolutionPrefixes", "interfaceIpMappings", "tests", "notificationRules", "labels", "agentType", "_links"] __properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "enabled", "prefix", "verifySslCertificates", "clusterMembers", "utilization", "accountGroups", "ipv6Policy", "errorDetails", "hostname", "lastSeen", "agentState", "keepBrowserCache", "createdDate", "targetForTests", "localResolutionPrefixes", "interfaceIpMappings", "tests", "notificationRules", "labels", "agentType", "_links"]
@ -235,7 +235,7 @@ class EnterpriseAgentClusterDetail(BaseModel):
"interfaceIpMappings": [InterfaceIpMapping.from_dict(_item) for _item in obj["interfaceIpMappings"]] if obj.get("interfaceIpMappings") is not None else None, "interfaceIpMappings": [InterfaceIpMapping.from_dict(_item) for _item in obj["interfaceIpMappings"]] if obj.get("interfaceIpMappings") is not None else None,
"tests": [SimpleTest.from_dict(_item) for _item in obj["tests"]] if obj.get("tests") is not None else None, "tests": [SimpleTest.from_dict(_item) for _item in obj["tests"]] if obj.get("tests") is not None else None,
"notificationRules": [NotificationRules.from_dict(_item) for _item in obj["notificationRules"]] if obj.get("notificationRules") is not None else None, "notificationRules": [NotificationRules.from_dict(_item) for _item in obj["notificationRules"]] if obj.get("notificationRules") is not None else None,
"labels": [Labels.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, "labels": [AgentLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None,
"agentType": obj.get("agentType"), "agentType": obj.get("agentType"),
"_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None
}) })

View File

@ -21,12 +21,12 @@ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, Strict
from typing import Any, ClassVar, Dict, List, Optional from typing import Any, ClassVar, Dict, List, Optional
from typing_extensions import Annotated from typing_extensions import Annotated
from thousandeyes_sdk.agents.models.account_group import AccountGroup from thousandeyes_sdk.agents.models.account_group import AccountGroup
from thousandeyes_sdk.agents.models.agent_label import AgentLabel
from thousandeyes_sdk.agents.models.cluster_member import ClusterMember from thousandeyes_sdk.agents.models.cluster_member import ClusterMember
from thousandeyes_sdk.agents.models.enterprise_agent_ipv6_policy import EnterpriseAgentIpv6Policy from thousandeyes_sdk.agents.models.enterprise_agent_ipv6_policy import EnterpriseAgentIpv6Policy
from thousandeyes_sdk.agents.models.enterprise_agent_state import EnterpriseAgentState from thousandeyes_sdk.agents.models.enterprise_agent_state import EnterpriseAgentState
from thousandeyes_sdk.agents.models.error_detail import ErrorDetail from thousandeyes_sdk.agents.models.error_detail import ErrorDetail
from thousandeyes_sdk.agents.models.interface_ip_mapping import InterfaceIpMapping from thousandeyes_sdk.agents.models.interface_ip_mapping import InterfaceIpMapping
from thousandeyes_sdk.agents.models.labels import Labels
from thousandeyes_sdk.agents.models.notification_rules import NotificationRules from thousandeyes_sdk.agents.models.notification_rules import NotificationRules
from thousandeyes_sdk.agents.models.self_links import SelfLinks from thousandeyes_sdk.agents.models.self_links import SelfLinks
from thousandeyes_sdk.agents.models.simple_test import SimpleTest from thousandeyes_sdk.agents.models.simple_test import SimpleTest
@ -62,7 +62,7 @@ class EnterpriseAgentDetail(BaseModel):
interface_ip_mappings: Optional[List[InterfaceIpMapping]] = Field(default=None, alias="interfaceIpMappings") interface_ip_mappings: Optional[List[InterfaceIpMapping]] = Field(default=None, alias="interfaceIpMappings")
tests: Optional[List[SimpleTest]] = Field(default=None, description="List of tests. See `/tests` for more information.") tests: Optional[List[SimpleTest]] = Field(default=None, description="List of tests. See `/tests` for more information.")
notification_rules: Optional[List[NotificationRules]] = Field(default=None, description="List of notification rule objects configured on agent", alias="notificationRules") notification_rules: Optional[List[NotificationRules]] = Field(default=None, description="List of notification rule objects configured on agent", alias="notificationRules")
labels: Optional[List[Labels]] = Field(default=None, description="List of labels. See `/labels` for more information.") labels: Optional[List[AgentLabel]] = Field(default=None, description="List of labels. See `/labels` for more information.")
agent_type: Annotated[str, Field(strict=True)] = Field(description="Enterprise agent type.", alias="agentType") agent_type: Annotated[str, Field(strict=True)] = Field(description="Enterprise agent type.", alias="agentType")
links: Optional[SelfLinks] = Field(default=None, alias="_links") links: Optional[SelfLinks] = Field(default=None, alias="_links")
__properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "enabled", "prefix", "verifySslCertificates", "clusterMembers", "utilization", "accountGroups", "ipv6Policy", "errorDetails", "hostname", "lastSeen", "agentState", "keepBrowserCache", "createdDate", "targetForTests", "localResolutionPrefixes", "interfaceIpMappings", "tests", "notificationRules", "labels", "agentType", "_links"] __properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "enabled", "prefix", "verifySslCertificates", "clusterMembers", "utilization", "accountGroups", "ipv6Policy", "errorDetails", "hostname", "lastSeen", "agentState", "keepBrowserCache", "createdDate", "targetForTests", "localResolutionPrefixes", "interfaceIpMappings", "tests", "notificationRules", "labels", "agentType", "_links"]
@ -235,7 +235,7 @@ class EnterpriseAgentDetail(BaseModel):
"interfaceIpMappings": [InterfaceIpMapping.from_dict(_item) for _item in obj["interfaceIpMappings"]] if obj.get("interfaceIpMappings") is not None else None, "interfaceIpMappings": [InterfaceIpMapping.from_dict(_item) for _item in obj["interfaceIpMappings"]] if obj.get("interfaceIpMappings") is not None else None,
"tests": [SimpleTest.from_dict(_item) for _item in obj["tests"]] if obj.get("tests") is not None else None, "tests": [SimpleTest.from_dict(_item) for _item in obj["tests"]] if obj.get("tests") is not None else None,
"notificationRules": [NotificationRules.from_dict(_item) for _item in obj["notificationRules"]] if obj.get("notificationRules") is not None else None, "notificationRules": [NotificationRules.from_dict(_item) for _item in obj["notificationRules"]] if obj.get("notificationRules") is not None else None,
"labels": [Labels.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, "labels": [AgentLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None,
"agentType": obj.get("agentType"), "agentType": obj.get("agentType"),
"_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None
}) })

View File

@ -18,7 +18,7 @@ import json
from pydantic import BaseModel, ConfigDict, Field from pydantic import BaseModel, ConfigDict, Field
from typing import Any, ClassVar, Dict, List, Optional from typing import Any, ClassVar, Dict, List, Optional
from thousandeyes_sdk.agents.models.labels import Labels from thousandeyes_sdk.agents.models.agent_label import AgentLabel
from thousandeyes_sdk.agents.models.notification_rules import NotificationRules from thousandeyes_sdk.agents.models.notification_rules import NotificationRules
from thousandeyes_sdk.agents.models.simple_test import SimpleTest from thousandeyes_sdk.agents.models.simple_test import SimpleTest
from typing import Optional, Set from typing import Optional, Set
@ -30,7 +30,7 @@ class EnterpriseAgentResponseExpands(BaseModel):
""" # noqa: E501 """ # noqa: E501
tests: Optional[List[SimpleTest]] = Field(default=None, description="List of tests. See `/tests` for more information.") tests: Optional[List[SimpleTest]] = Field(default=None, description="List of tests. See `/tests` for more information.")
notification_rules: Optional[List[NotificationRules]] = Field(default=None, description="List of notification rule objects configured on agent", alias="notificationRules") notification_rules: Optional[List[NotificationRules]] = Field(default=None, description="List of notification rule objects configured on agent", alias="notificationRules")
labels: Optional[List[Labels]] = Field(default=None, description="List of labels. See `/labels` for more information.") labels: Optional[List[AgentLabel]] = Field(default=None, description="List of labels. See `/labels` for more information.")
__properties: ClassVar[List[str]] = ["tests", "notificationRules", "labels"] __properties: ClassVar[List[str]] = ["tests", "notificationRules", "labels"]
model_config = ConfigDict( model_config = ConfigDict(
@ -110,7 +110,7 @@ class EnterpriseAgentResponseExpands(BaseModel):
_obj = cls.model_validate({ _obj = cls.model_validate({
"tests": [SimpleTest.from_dict(_item) for _item in obj["tests"]] if obj.get("tests") is not None else None, "tests": [SimpleTest.from_dict(_item) for _item in obj["tests"]] if obj.get("tests") is not None else None,
"notificationRules": [NotificationRules.from_dict(_item) for _item in obj["notificationRules"]] if obj.get("notificationRules") is not None else None, "notificationRules": [NotificationRules.from_dict(_item) for _item in obj["notificationRules"]] if obj.get("notificationRules") is not None else None,
"labels": [Labels.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None "labels": [AgentLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None
}) })
return _obj return _obj

View File

@ -18,8 +18,8 @@ import json
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
from typing import Any, ClassVar, Dict, List, Optional from typing import Any, ClassVar, Dict, List, Optional
from thousandeyes_sdk.agents.models.agent import Agent from thousandeyes_sdk.agents.models.agent_notification import AgentNotification
from thousandeyes_sdk.agents.models.notification import Notification from thousandeyes_sdk.agents.models.agent_response import AgentResponse
from thousandeyes_sdk.agents.models.self_links import SelfLinks from thousandeyes_sdk.agents.models.self_links import SelfLinks
from typing import Optional, Set from typing import Optional, Set
from typing_extensions import Self from typing_extensions import Self
@ -33,8 +33,8 @@ class NotificationRuleDetail(BaseModel):
expression: Optional[StrictStr] = Field(default=None, description="Expression of agent notification rule") expression: Optional[StrictStr] = Field(default=None, description="Expression of agent notification rule")
notify_on_clear: Optional[StrictBool] = Field(default=None, description="Send notification when notification clears", alias="notifyOnClear") notify_on_clear: Optional[StrictBool] = Field(default=None, description="Send notification when notification clears", alias="notifyOnClear")
is_default: Optional[StrictBool] = Field(default=None, description="Agent notification rule will be automatically included on all new Enterprise Agents.", alias="isDefault") is_default: Optional[StrictBool] = Field(default=None, description="Agent notification rule will be automatically included on all new Enterprise Agents.", alias="isDefault")
notifications: Optional[Notification] = None notifications: Optional[AgentNotification] = None
agents: Optional[List[Agent]] = None agents: Optional[List[AgentResponse]] = None
links: Optional[SelfLinks] = Field(default=None, alias="_links") links: Optional[SelfLinks] = Field(default=None, alias="_links")
__properties: ClassVar[List[str]] = ["ruleId", "ruleName", "expression", "notifyOnClear", "isDefault", "notifications", "agents", "_links"] __properties: ClassVar[List[str]] = ["ruleId", "ruleName", "expression", "notifyOnClear", "isDefault", "notifications", "agents", "_links"]
@ -110,8 +110,8 @@ class NotificationRuleDetail(BaseModel):
"expression": obj.get("expression"), "expression": obj.get("expression"),
"notifyOnClear": obj.get("notifyOnClear"), "notifyOnClear": obj.get("notifyOnClear"),
"isDefault": obj.get("isDefault"), "isDefault": obj.get("isDefault"),
"notifications": Notification.from_dict(obj["notifications"]) if obj.get("notifications") is not None else None, "notifications": AgentNotification.from_dict(obj["notifications"]) if obj.get("notifications") is not None else None,
"agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, "agents": [AgentResponse.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None,
"_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None
}) })
return _obj return _obj

View File

@ -0,0 +1,81 @@
# coding: utf-8
"""
Agents API
## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents.
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
import json
import unittest
import thousandeyes_sdk.agents.models
from .test_utils import assert_constructed_model_matches_example_json
from thousandeyes_sdk.agents.api.agent_proxies_api import AgentProxiesApi
class TestAgentProxiesApi(unittest.TestCase):
"""AgentProxiesApi unit test stubs"""
def setUp(self) -> None:
self.api = AgentProxiesApi()
def tearDown(self) -> None:
pass
def test_get_agents_proxies_models_validation(self) -> None:
"""Test case for get_agents_proxies 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"
}
},
"agentProxies" : [ {
"password" : "**********",
"isLocalConfigured" : true,
"name" : "Test Proxy - Auth Type - BASIC",
"location" : "proxy.thousandeyes.com:3128",
"lastModified" : "2022-07-17T22:00:54Z",
"authType" : "basic",
"type" : "static",
"aid" : "1234",
"bypassList" : [ "10.0.0.0/16", "*.thousandeyes.com" ],
"user" : "user1",
"proxyId" : "281474976710706"
}, {
"password" : "**********",
"isLocalConfigured" : true,
"name" : "Test Proxy - Auth Type - BASIC",
"location" : "proxy.thousandeyes.com:3128",
"lastModified" : "2022-07-17T22:00:54Z",
"authType" : "basic",
"type" : "static",
"aid" : "1234",
"bypassList" : [ "10.0.0.0/16", "*.thousandeyes.com" ],
"user" : "user1",
"proxyId" : "281474976710706"
} ]
}"""
response_loaded_json = json.loads(response_body_json)
response_from_json = thousandeyes_sdk.agents.models.AgentProxies.from_json(response_body_json)
assert_constructed_model_matches_example_json(response_from_json, response_loaded_json)
if __name__ == '__main__':
unittest.main()

View File

@ -89,7 +89,7 @@ class TestCloudAndEnterpriseAgentsApi(unittest.TestCase):
"createdDate" : "2022-07-17T22:00:54Z", "createdDate" : "2022-07-17T22:00:54Z",
"createdBy" : "user@user.com", "createdBy" : "user@user.com",
"modifiedDate" : "2022-07-17T22:00:54Z", "modifiedDate" : "2022-07-17T22:00:54Z",
"interval" : 120, "interval" : 60,
"modifiedBy" : "user@user.com", "modifiedBy" : "user@user.com",
"testId" : "281474976710706", "testId" : "281474976710706",
"alertsEnabled" : true, "alertsEnabled" : true,
@ -120,7 +120,7 @@ class TestCloudAndEnterpriseAgentsApi(unittest.TestCase):
"createdDate" : "2022-07-17T22:00:54Z", "createdDate" : "2022-07-17T22:00:54Z",
"createdBy" : "user@user.com", "createdBy" : "user@user.com",
"modifiedDate" : "2022-07-17T22:00:54Z", "modifiedDate" : "2022-07-17T22:00:54Z",
"interval" : 120, "interval" : 60,
"modifiedBy" : "user@user.com", "modifiedBy" : "user@user.com",
"testId" : "281474976710706", "testId" : "281474976710706",
"alertsEnabled" : true, "alertsEnabled" : true,
@ -256,7 +256,7 @@ class TestCloudAndEnterpriseAgentsApi(unittest.TestCase):
"createdDate" : "2022-07-17T22:00:54Z", "createdDate" : "2022-07-17T22:00:54Z",
"createdBy" : "user@user.com", "createdBy" : "user@user.com",
"modifiedDate" : "2022-07-17T22:00:54Z", "modifiedDate" : "2022-07-17T22:00:54Z",
"interval" : 120, "interval" : 60,
"modifiedBy" : "user@user.com", "modifiedBy" : "user@user.com",
"testId" : "281474976710706", "testId" : "281474976710706",
"alertsEnabled" : true, "alertsEnabled" : true,
@ -287,7 +287,7 @@ class TestCloudAndEnterpriseAgentsApi(unittest.TestCase):
"createdDate" : "2022-07-17T22:00:54Z", "createdDate" : "2022-07-17T22:00:54Z",
"createdBy" : "user@user.com", "createdBy" : "user@user.com",
"modifiedDate" : "2022-07-17T22:00:54Z", "modifiedDate" : "2022-07-17T22:00:54Z",
"interval" : 120, "interval" : 60,
"modifiedBy" : "user@user.com", "modifiedBy" : "user@user.com",
"testId" : "281474976710706", "testId" : "281474976710706",
"alertsEnabled" : true, "alertsEnabled" : true,

View File

@ -93,7 +93,7 @@ class TestEnterpriseAgentClusterApi(unittest.TestCase):
"createdDate" : "2022-07-17T22:00:54Z", "createdDate" : "2022-07-17T22:00:54Z",
"createdBy" : "user@user.com", "createdBy" : "user@user.com",
"modifiedDate" : "2022-07-17T22:00:54Z", "modifiedDate" : "2022-07-17T22:00:54Z",
"interval" : 120, "interval" : 60,
"modifiedBy" : "user@user.com", "modifiedBy" : "user@user.com",
"testId" : "281474976710706", "testId" : "281474976710706",
"alertsEnabled" : true, "alertsEnabled" : true,
@ -124,7 +124,7 @@ class TestEnterpriseAgentClusterApi(unittest.TestCase):
"createdDate" : "2022-07-17T22:00:54Z", "createdDate" : "2022-07-17T22:00:54Z",
"createdBy" : "user@user.com", "createdBy" : "user@user.com",
"modifiedDate" : "2022-07-17T22:00:54Z", "modifiedDate" : "2022-07-17T22:00:54Z",
"interval" : 120, "interval" : 60,
"modifiedBy" : "user@user.com", "modifiedBy" : "user@user.com",
"testId" : "281474976710706", "testId" : "281474976710706",
"alertsEnabled" : true, "alertsEnabled" : true,

View File

@ -7,6 +7,7 @@ docs/AlertDirection.md
docs/AlertLinks.md docs/AlertLinks.md
docs/AlertMeta.md docs/AlertMeta.md
docs/AlertMetricDetail.md docs/AlertMetricDetail.md
docs/AlertNotification.md
docs/AlertRoundsViolationMode.md docs/AlertRoundsViolationMode.md
docs/AlertRule.md docs/AlertRule.md
docs/AlertRulesApi.md docs/AlertRulesApi.md
@ -29,11 +30,10 @@ docs/EndAlertMetrics.md
docs/EndRepeat.md docs/EndRepeat.md
docs/EndRepeatType.md docs/EndRepeatType.md
docs/Error.md docs/Error.md
docs/Expand.md docs/ExpandAlertTestOptions.md
docs/IntervalType.md docs/IntervalType.md
docs/LegacyAlert.md docs/LegacyAlert.md
docs/Link.md docs/Link.md
docs/Notification.md
docs/NotificationCustomWebhook.md docs/NotificationCustomWebhook.md
docs/NotificationEmail.md docs/NotificationEmail.md
docs/NotificationThirdParty.md docs/NotificationThirdParty.md
@ -71,6 +71,7 @@ src/thousandeyes_sdk/alerts/models/alert_direction.py
src/thousandeyes_sdk/alerts/models/alert_links.py src/thousandeyes_sdk/alerts/models/alert_links.py
src/thousandeyes_sdk/alerts/models/alert_meta.py src/thousandeyes_sdk/alerts/models/alert_meta.py
src/thousandeyes_sdk/alerts/models/alert_metric_detail.py src/thousandeyes_sdk/alerts/models/alert_metric_detail.py
src/thousandeyes_sdk/alerts/models/alert_notification.py
src/thousandeyes_sdk/alerts/models/alert_rounds_violation_mode.py src/thousandeyes_sdk/alerts/models/alert_rounds_violation_mode.py
src/thousandeyes_sdk/alerts/models/alert_rule.py src/thousandeyes_sdk/alerts/models/alert_rule.py
src/thousandeyes_sdk/alerts/models/alert_suppression_window.py src/thousandeyes_sdk/alerts/models/alert_suppression_window.py
@ -90,11 +91,10 @@ src/thousandeyes_sdk/alerts/models/end_alert_metrics.py
src/thousandeyes_sdk/alerts/models/end_repeat.py src/thousandeyes_sdk/alerts/models/end_repeat.py
src/thousandeyes_sdk/alerts/models/end_repeat_type.py src/thousandeyes_sdk/alerts/models/end_repeat_type.py
src/thousandeyes_sdk/alerts/models/error.py src/thousandeyes_sdk/alerts/models/error.py
src/thousandeyes_sdk/alerts/models/expand.py src/thousandeyes_sdk/alerts/models/expand_alert_test_options.py
src/thousandeyes_sdk/alerts/models/interval_type.py src/thousandeyes_sdk/alerts/models/interval_type.py
src/thousandeyes_sdk/alerts/models/legacy_alert.py src/thousandeyes_sdk/alerts/models/legacy_alert.py
src/thousandeyes_sdk/alerts/models/link.py src/thousandeyes_sdk/alerts/models/link.py
src/thousandeyes_sdk/alerts/models/notification.py
src/thousandeyes_sdk/alerts/models/notification_custom_webhook.py src/thousandeyes_sdk/alerts/models/notification_custom_webhook.py
src/thousandeyes_sdk/alerts/models/notification_email.py src/thousandeyes_sdk/alerts/models/notification_email.py
src/thousandeyes_sdk/alerts/models/notification_third_party.py src/thousandeyes_sdk/alerts/models/notification_third_party.py

View File

@ -12,7 +12,7 @@ For more information about the alerts, see [Alerts](https://docs.thousandeyes.co
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.15 - API version: 7.0.17
- Generator version: 7.6.0 - Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
@ -126,6 +126,7 @@ Class | Method | HTTP request | Description
- [AlertLinks](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertLinks.md) - [AlertLinks](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertLinks.md)
- [AlertMeta](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertMeta.md) - [AlertMeta](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertMeta.md)
- [AlertMetricDetail](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertMetricDetail.md) - [AlertMetricDetail](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertMetricDetail.md)
- [AlertNotification](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertNotification.md)
- [AlertRoundsViolationMode](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertRoundsViolationMode.md) - [AlertRoundsViolationMode](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertRoundsViolationMode.md)
- [AlertRule](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertRule.md) - [AlertRule](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertRule.md)
- [AlertSuppressionWindow](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertSuppressionWindow.md) - [AlertSuppressionWindow](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertSuppressionWindow.md)
@ -145,11 +146,10 @@ Class | Method | HTTP request | Description
- [EndRepeat](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/EndRepeat.md) - [EndRepeat](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/EndRepeat.md)
- [EndRepeatType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/EndRepeatType.md) - [EndRepeatType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/EndRepeatType.md)
- [Error](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/Error.md) - [Error](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/Error.md)
- [Expand](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/Expand.md) - [ExpandAlertTestOptions](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/ExpandAlertTestOptions.md)
- [IntervalType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/IntervalType.md) - [IntervalType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/IntervalType.md)
- [LegacyAlert](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/LegacyAlert.md) - [LegacyAlert](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/LegacyAlert.md)
- [Link](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/Link.md) - [Link](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/Link.md)
- [Notification](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/Notification.md)
- [NotificationCustomWebhook](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/NotificationCustomWebhook.md) - [NotificationCustomWebhook](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/NotificationCustomWebhook.md)
- [NotificationEmail](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/NotificationEmail.md) - [NotificationEmail](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/NotificationEmail.md)
- [NotificationThirdParty](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/NotificationThirdParty.md) - [NotificationThirdParty](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/NotificationThirdParty.md)

View File

@ -7,8 +7,8 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | ------------- ------------ | ------------- | ------------- | -------------
**id** | **str** | A unique ID for each individual alert occurrence. | [optional] [readonly] **id** | **str** | A unique ID for each individual alert occurrence. | [optional] [readonly]
**alert_type** | [**AlertType**](AlertType.md) | | [optional] **alert_type** | [**AlertType**](AlertType.md) | | [optional]
**start_date** | **datetime** | The start date and time (in UTC, ISO 8601 format) for querying alerts. | [optional] [readonly] **start_date** | **datetime** | (Optional) When passing `window` or `startDate` parameter, the client will also receive the `startDate` field indicating the UTC start date of the data's time range being retrieved (ISO date-time format). | [optional] [readonly]
**end_date** | **datetime** | The end date and time (in UTC, ISO 8601 format) for querying alerts. | [optional] [readonly] **end_date** | **datetime** | (Optional) When passing `window` or `endDate` parameter, the client will also receive the `endDate` field indicating the UTC end date of the data's time range being retrieved (ISO date-time format). | [optional] [readonly]
**violation_count** | **int** | Number of sources that meet the alert criteria. | [optional] **violation_count** | **int** | Number of sources that meet the alert criteria. | [optional]
**duration** | **int** | Duration in seconds the alert was active | [optional] **duration** | **int** | Duration in seconds the alert was active | [optional]
**suppressed** | **bool** | Indicates whether the alert is currently suppressed by a real-time ASW. | [optional] **suppressed** | **bool** | Indicates whether the alert is currently suppressed by a real-time ASW. | [optional]

View File

@ -7,8 +7,8 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | ------------- ------------ | ------------- | ------------- | -------------
**id** | **str** | A unique ID for each individual alert occurrence. | [optional] [readonly] **id** | **str** | A unique ID for each individual alert occurrence. | [optional] [readonly]
**alert_type** | [**AlertType**](AlertType.md) | | [optional] **alert_type** | [**AlertType**](AlertType.md) | | [optional]
**start_date** | **datetime** | The start date and time (in UTC, ISO 8601 format) for querying alerts. | [optional] [readonly] **start_date** | **datetime** | (Optional) When passing `window` or `startDate` parameter, the client will also receive the `startDate` field indicating the UTC start date of the data's time range being retrieved (ISO date-time format). | [optional] [readonly]
**end_date** | **datetime** | The end date and time (in UTC, ISO 8601 format) for querying alerts. | [optional] [readonly] **end_date** | **datetime** | (Optional) When passing `window` or `endDate` parameter, the client will also receive the `endDate` field indicating the UTC end date of the data's time range being retrieved (ISO date-time format). | [optional] [readonly]
**violation_count** | **int** | Number of sources that meet the alert criteria. | [optional] **violation_count** | **int** | Number of sources that meet the alert criteria. | [optional]
**duration** | **int** | Duration in seconds the alert was active | [optional] **duration** | **int** | Duration in seconds the alert was active | [optional]
**suppressed** | **bool** | Indicates whether the alert is currently suppressed by a real-time ASW. | [optional] **suppressed** | **bool** | Indicates whether the alert is currently suppressed by a real-time ASW. | [optional]

View File

@ -0,0 +1,33 @@
# AlertNotification
Alert notification object. See Alert notification integrations.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**email** | [**NotificationEmail**](NotificationEmail.md) | | [optional]
**third_party** | [**List[NotificationThirdParty]**](NotificationThirdParty.md) | Third party notifications. | [optional]
**webhook** | [**List[NotificationWebhook]**](NotificationWebhook.md) | Webhook notifications. | [optional]
**custom_webhook** | [**List[NotificationCustomWebhook]**](NotificationCustomWebhook.md) | Custom webhook notifications. | [optional]
## Example
```python
from thousandeyes_sdk.alerts.models.alert_notification import AlertNotification
# TODO update the JSON string below
json = "{}"
# create an instance of AlertNotification from a JSON string
alert_notification_instance = AlertNotification.from_json(json)
# print the JSON string representation of the object
print(AlertNotification.to_json())
# convert the object into a dict
alert_notification_dict = alert_notification_instance.to_dict()
# create an instance of AlertNotification from a dict
alert_notification_from_dict = AlertNotification.from_dict(alert_notification_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

@ -26,7 +26,7 @@ Creates a new alert suppression window in ThousandEyes, using the provided POST
import thousandeyes_sdk.alerts import thousandeyes_sdk.alerts
from thousandeyes_sdk.alerts.models.alert_suppression_window_detail import AlertSuppressionWindowDetail from thousandeyes_sdk.alerts.models.alert_suppression_window_detail import AlertSuppressionWindowDetail
from thousandeyes_sdk.alerts.models.alert_suppression_window_request import AlertSuppressionWindowRequest from thousandeyes_sdk.alerts.models.alert_suppression_window_request import AlertSuppressionWindowRequest
from thousandeyes_sdk.alerts.models.expand import Expand from thousandeyes_sdk.alerts.models.expand_alert_test_options import ExpandAlertTestOptions
from thousandeyes_sdk.alerts.rest import ApiException from thousandeyes_sdk.alerts.rest import ApiException
from pprint import pprint from pprint import pprint
@ -52,7 +52,7 @@ with thousandeyes_sdk.alerts.ApiClient(configuration) as api_client:
api_instance = thousandeyes_sdk.alerts.AlertSuppressionWindowsApi(api_client) api_instance = thousandeyes_sdk.alerts.AlertSuppressionWindowsApi(api_client)
alert_suppression_window_request = thousandeyes_sdk.alerts.AlertSuppressionWindowRequest() # AlertSuppressionWindowRequest | alert_suppression_window_request = thousandeyes_sdk.alerts.AlertSuppressionWindowRequest() # AlertSuppressionWindowRequest |
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) 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)
expand = [thousandeyes_sdk.alerts.Expand()] # List[Expand] | Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query. (optional) expand = [thousandeyes_sdk.alerts.ExpandAlertTestOptions()] # List[ExpandAlertTestOptions] | Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query. (optional)
try: try:
# Create alert suppression window # Create alert suppression window
@ -72,7 +72,7 @@ Name | Type | Description | Notes
------------- | ------------- | ------------- | ------------- ------------- | ------------- | ------------- | -------------
**alert_suppression_window_request** | [**AlertSuppressionWindowRequest**](AlertSuppressionWindowRequest.md)| | **alert_suppression_window_request** | [**AlertSuppressionWindowRequest**](AlertSuppressionWindowRequest.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] **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]
**expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query. | [optional] **expand** | [**List[ExpandAlertTestOptions]**](ExpandAlertTestOptions.md)| Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query. | [optional]
### Return type ### Return type
@ -198,7 +198,7 @@ Returns detailed information about an alert suppression window configured in you
```python ```python
import thousandeyes_sdk.alerts import thousandeyes_sdk.alerts
from thousandeyes_sdk.alerts.models.alert_suppression_window_detail import AlertSuppressionWindowDetail from thousandeyes_sdk.alerts.models.alert_suppression_window_detail import AlertSuppressionWindowDetail
from thousandeyes_sdk.alerts.models.expand import Expand from thousandeyes_sdk.alerts.models.expand_alert_test_options import ExpandAlertTestOptions
from thousandeyes_sdk.alerts.rest import ApiException from thousandeyes_sdk.alerts.rest import ApiException
from pprint import pprint from pprint import pprint
@ -224,7 +224,7 @@ with thousandeyes_sdk.alerts.ApiClient(configuration) as api_client:
api_instance = thousandeyes_sdk.alerts.AlertSuppressionWindowsApi(api_client) api_instance = thousandeyes_sdk.alerts.AlertSuppressionWindowsApi(api_client)
window_id = '2411' # str | Unique window ID. window_id = '2411' # str | Unique window 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) 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)
expand = [thousandeyes_sdk.alerts.Expand()] # List[Expand] | Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query. (optional) expand = [thousandeyes_sdk.alerts.ExpandAlertTestOptions()] # List[ExpandAlertTestOptions] | Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query. (optional)
try: try:
# Retrieve alert suppression window # Retrieve alert suppression window
@ -244,7 +244,7 @@ Name | Type | Description | Notes
------------- | ------------- | ------------- | ------------- ------------- | ------------- | ------------- | -------------
**window_id** | **str**| Unique window ID. | **window_id** | **str**| Unique window 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] **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]
**expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query. | [optional] **expand** | [**List[ExpandAlertTestOptions]**](ExpandAlertTestOptions.md)| Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query. | [optional]
### Return type ### Return type
@ -370,7 +370,7 @@ Updates an alert suppression window in ThousandEyes, using the provided POST da
import thousandeyes_sdk.alerts import thousandeyes_sdk.alerts
from thousandeyes_sdk.alerts.models.alert_suppression_window_detail import AlertSuppressionWindowDetail from thousandeyes_sdk.alerts.models.alert_suppression_window_detail import AlertSuppressionWindowDetail
from thousandeyes_sdk.alerts.models.alert_suppression_window_request import AlertSuppressionWindowRequest from thousandeyes_sdk.alerts.models.alert_suppression_window_request import AlertSuppressionWindowRequest
from thousandeyes_sdk.alerts.models.expand import Expand from thousandeyes_sdk.alerts.models.expand_alert_test_options import ExpandAlertTestOptions
from thousandeyes_sdk.alerts.rest import ApiException from thousandeyes_sdk.alerts.rest import ApiException
from pprint import pprint from pprint import pprint
@ -397,7 +397,7 @@ with thousandeyes_sdk.alerts.ApiClient(configuration) as api_client:
window_id = '2411' # str | Unique window ID. window_id = '2411' # str | Unique window ID.
alert_suppression_window_request = thousandeyes_sdk.alerts.AlertSuppressionWindowRequest() # AlertSuppressionWindowRequest | alert_suppression_window_request = thousandeyes_sdk.alerts.AlertSuppressionWindowRequest() # AlertSuppressionWindowRequest |
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) 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)
expand = [thousandeyes_sdk.alerts.Expand()] # List[Expand] | Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query. (optional) expand = [thousandeyes_sdk.alerts.ExpandAlertTestOptions()] # List[ExpandAlertTestOptions] | Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query. (optional)
try: try:
# Update alert suppression window # Update alert suppression window
@ -418,7 +418,7 @@ Name | Type | Description | Notes
**window_id** | **str**| Unique window ID. | **window_id** | **str**| Unique window ID. |
**alert_suppression_window_request** | [**AlertSuppressionWindowRequest**](AlertSuppressionWindowRequest.md)| | **alert_suppression_window_request** | [**AlertSuppressionWindowRequest**](AlertSuppressionWindowRequest.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] **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]
**expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query. | [optional] **expand** | [**List[ExpandAlertTestOptions]**](ExpandAlertTestOptions.md)| Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query. | [optional]
### Return type ### Return type

View File

@ -7,8 +7,8 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | ------------- ------------ | ------------- | ------------- | -------------
**id** | **str** | A unique ID for each individual alert occurrence. | [optional] [readonly] **id** | **str** | A unique ID for each individual alert occurrence. | [optional] [readonly]
**alert_type** | [**AlertType**](AlertType.md) | | [optional] **alert_type** | [**AlertType**](AlertType.md) | | [optional]
**start_date** | **datetime** | The start date and time (in UTC, ISO 8601 format) for querying alerts. | [optional] [readonly] **start_date** | **datetime** | (Optional) When passing `window` or `startDate` parameter, the client will also receive the `startDate` field indicating the UTC start date of the data's time range being retrieved (ISO date-time format). | [optional] [readonly]
**end_date** | **datetime** | The end date and time (in UTC, ISO 8601 format) for querying alerts. | [optional] [readonly] **end_date** | **datetime** | (Optional) When passing `window` or `endDate` parameter, the client will also receive the `endDate` field indicating the UTC end date of the data's time range being retrieved (ISO date-time format). | [optional] [readonly]
**violation_count** | **int** | Number of sources that meet the alert criteria. | [optional] **violation_count** | **int** | Number of sources that meet the alert criteria. | [optional]
**duration** | **int** | Duration in seconds the alert was active | [optional] **duration** | **int** | Duration in seconds the alert was active | [optional]
**suppressed** | **bool** | Indicates whether the alert is currently suppressed by a real-time ASW. | [optional] **suppressed** | **bool** | Indicates whether the alert is currently suppressed by a real-time ASW. | [optional]

View File

@ -0,0 +1,11 @@
# ExpandAlertTestOptions
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -20,7 +20,7 @@ Name | Type | Description | Notes
**include_covered_prefixes** | **bool** | Set true to include covered prefixes in the BGP alert rule. Only applicable to BGP alert rules. | [optional] **include_covered_prefixes** | **bool** | Set true to include covered prefixes in the BGP alert rule. Only applicable to BGP alert rules. | [optional]
**sensitivity_level** | [**SensitivityLevel**](SensitivityLevel.md) | | [optional] **sensitivity_level** | [**SensitivityLevel**](SensitivityLevel.md) | | [optional]
**severity** | [**Severity**](Severity.md) | | [optional] **severity** | [**Severity**](Severity.md) | | [optional]
**notifications** | [**Notification**](Notification.md) | | [optional] **notifications** | [**AlertNotification**](AlertNotification.md) | | [optional]
**test_ids** | **List[str]** | Array of test IDs to link to alert rule (get `testId` from `/tests` endpoint). | [optional] **test_ids** | **List[str]** | Array of test IDs to link to alert rule (get `testId` from `/tests` endpoint). | [optional]
**links** | [**SelfLinks**](SelfLinks.md) | | [optional] **links** | [**SelfLinks**](SelfLinks.md) | | [optional]

View File

@ -20,7 +20,7 @@ Name | Type | Description | Notes
**include_covered_prefixes** | **bool** | Set true to include covered prefixes in the BGP alert rule. Only applicable to BGP alert rules. | [optional] **include_covered_prefixes** | **bool** | Set true to include covered prefixes in the BGP alert rule. Only applicable to BGP alert rules. | [optional]
**sensitivity_level** | [**SensitivityLevel**](SensitivityLevel.md) | | [optional] **sensitivity_level** | [**SensitivityLevel**](SensitivityLevel.md) | | [optional]
**severity** | [**Severity**](Severity.md) | | [optional] **severity** | [**Severity**](Severity.md) | | [optional]
**notifications** | [**Notification**](Notification.md) | | [optional] **notifications** | [**AlertNotification**](AlertNotification.md) | | [optional]
**tests** | [**List[BaseTest]**](BaseTest.md) | | [optional] [readonly] **tests** | [**List[BaseTest]**](BaseTest.md) | | [optional] [readonly]
**links** | [**SelfLinks**](SelfLinks.md) | | [optional] **links** | [**SelfLinks**](SelfLinks.md) | | [optional]

View File

@ -20,7 +20,7 @@ Name | Type | Description | Notes
**include_covered_prefixes** | **bool** | Set true to include covered prefixes in the BGP alert rule. Only applicable to BGP alert rules. | [optional] **include_covered_prefixes** | **bool** | Set true to include covered prefixes in the BGP alert rule. Only applicable to BGP alert rules. | [optional]
**sensitivity_level** | [**SensitivityLevel**](SensitivityLevel.md) | | [optional] **sensitivity_level** | [**SensitivityLevel**](SensitivityLevel.md) | | [optional]
**severity** | [**Severity**](Severity.md) | | [optional] **severity** | [**Severity**](Severity.md) | | [optional]
**notifications** | [**Notification**](Notification.md) | | [optional] **notifications** | [**AlertNotification**](AlertNotification.md) | | [optional]
**test_ids** | **List[str]** | Array of test IDs to link to alert rule (get `testId` from `/tests` endpoint). | [optional] **test_ids** | **List[str]** | Array of test IDs to link to alert rule (get `testId` from `/tests` endpoint). | [optional]
## Example ## Example

View File

@ -26,6 +26,7 @@ from thousandeyes_sdk.alerts.models.alert_direction import AlertDirection
from thousandeyes_sdk.alerts.models.alert_links import AlertLinks from thousandeyes_sdk.alerts.models.alert_links import AlertLinks
from thousandeyes_sdk.alerts.models.alert_meta import AlertMeta from thousandeyes_sdk.alerts.models.alert_meta import AlertMeta
from thousandeyes_sdk.alerts.models.alert_metric_detail import AlertMetricDetail from thousandeyes_sdk.alerts.models.alert_metric_detail import AlertMetricDetail
from thousandeyes_sdk.alerts.models.alert_notification import AlertNotification
from thousandeyes_sdk.alerts.models.alert_rounds_violation_mode import AlertRoundsViolationMode from thousandeyes_sdk.alerts.models.alert_rounds_violation_mode import AlertRoundsViolationMode
from thousandeyes_sdk.alerts.models.alert_rule import AlertRule from thousandeyes_sdk.alerts.models.alert_rule import AlertRule
from thousandeyes_sdk.alerts.models.alert_suppression_window import AlertSuppressionWindow from thousandeyes_sdk.alerts.models.alert_suppression_window import AlertSuppressionWindow
@ -45,11 +46,10 @@ from thousandeyes_sdk.alerts.models.end_alert_metrics import EndAlertMetrics
from thousandeyes_sdk.alerts.models.end_repeat import EndRepeat from thousandeyes_sdk.alerts.models.end_repeat import EndRepeat
from thousandeyes_sdk.alerts.models.end_repeat_type import EndRepeatType from thousandeyes_sdk.alerts.models.end_repeat_type import EndRepeatType
from thousandeyes_sdk.alerts.models.error import Error from thousandeyes_sdk.alerts.models.error import Error
from thousandeyes_sdk.alerts.models.expand import Expand from thousandeyes_sdk.alerts.models.expand_alert_test_options import ExpandAlertTestOptions
from thousandeyes_sdk.alerts.models.interval_type import IntervalType from thousandeyes_sdk.alerts.models.interval_type import IntervalType
from thousandeyes_sdk.alerts.models.legacy_alert import LegacyAlert from thousandeyes_sdk.alerts.models.legacy_alert import LegacyAlert
from thousandeyes_sdk.alerts.models.link import Link from thousandeyes_sdk.alerts.models.link import Link
from thousandeyes_sdk.alerts.models.notification import Notification
from thousandeyes_sdk.alerts.models.notification_custom_webhook import NotificationCustomWebhook from thousandeyes_sdk.alerts.models.notification_custom_webhook import NotificationCustomWebhook
from thousandeyes_sdk.alerts.models.notification_email import NotificationEmail from thousandeyes_sdk.alerts.models.notification_email import NotificationEmail
from thousandeyes_sdk.alerts.models.notification_third_party import NotificationThirdParty from thousandeyes_sdk.alerts.models.notification_third_party import NotificationThirdParty

View File

@ -24,7 +24,7 @@ from typing_extensions import Annotated
from thousandeyes_sdk.alerts.models.alert_suppression_window_detail import AlertSuppressionWindowDetail from thousandeyes_sdk.alerts.models.alert_suppression_window_detail import AlertSuppressionWindowDetail
from thousandeyes_sdk.alerts.models.alert_suppression_window_request import AlertSuppressionWindowRequest from thousandeyes_sdk.alerts.models.alert_suppression_window_request import AlertSuppressionWindowRequest
from thousandeyes_sdk.alerts.models.alert_suppression_windows import AlertSuppressionWindows from thousandeyes_sdk.alerts.models.alert_suppression_windows import AlertSuppressionWindows
from thousandeyes_sdk.alerts.models.expand import Expand from thousandeyes_sdk.alerts.models.expand_alert_test_options import ExpandAlertTestOptions
from thousandeyes_sdk.core.api_client import ApiClient, RequestSerialized from thousandeyes_sdk.core.api_client import ApiClient, RequestSerialized
from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.api_response import ApiResponse
@ -50,7 +50,7 @@ class AlertSuppressionWindowsApi:
self, self,
alert_suppression_window_request: AlertSuppressionWindowRequest, alert_suppression_window_request: AlertSuppressionWindowRequest,
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, 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,
expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query.")] = None, expand: Annotated[Optional[List[ExpandAlertTestOptions]], Field(description="Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query.")] = None,
_request_timeout: Union[ _request_timeout: Union[
None, None,
Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)],
@ -73,7 +73,7 @@ class AlertSuppressionWindowsApi:
:param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.
:type aid: str :type aid: str
:param expand: Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query. :param expand: Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query.
:type expand: List[Expand] :type expand: List[ExpandAlertTestOptions]
:param _request_timeout: timeout setting for this request. If one :param _request_timeout: timeout setting for this request. If one
number provided, it will be total request number provided, it will be total request
timeout. It can also be a pair (tuple) of timeout. It can also be a pair (tuple) of
@ -132,7 +132,7 @@ class AlertSuppressionWindowsApi:
self, self,
alert_suppression_window_request: AlertSuppressionWindowRequest, alert_suppression_window_request: AlertSuppressionWindowRequest,
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, 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,
expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query.")] = None, expand: Annotated[Optional[List[ExpandAlertTestOptions]], Field(description="Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query.")] = None,
_request_timeout: Union[ _request_timeout: Union[
None, None,
Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)],
@ -155,7 +155,7 @@ class AlertSuppressionWindowsApi:
:param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.
:type aid: str :type aid: str
:param expand: Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query. :param expand: Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query.
:type expand: List[Expand] :type expand: List[ExpandAlertTestOptions]
:param _request_timeout: timeout setting for this request. If one :param _request_timeout: timeout setting for this request. If one
number provided, it will be total request number provided, it will be total request
timeout. It can also be a pair (tuple) of timeout. It can also be a pair (tuple) of
@ -214,7 +214,7 @@ class AlertSuppressionWindowsApi:
self, self,
alert_suppression_window_request: AlertSuppressionWindowRequest, alert_suppression_window_request: AlertSuppressionWindowRequest,
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, 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,
expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query.")] = None, expand: Annotated[Optional[List[ExpandAlertTestOptions]], Field(description="Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query.")] = None,
_request_timeout: Union[ _request_timeout: Union[
None, None,
Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)],
@ -237,7 +237,7 @@ class AlertSuppressionWindowsApi:
:param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.
:type aid: str :type aid: str
:param expand: Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query. :param expand: Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query.
:type expand: List[Expand] :type expand: List[ExpandAlertTestOptions]
:param _request_timeout: timeout setting for this request. If one :param _request_timeout: timeout setting for this request. If one
number provided, it will be total request number provided, it will be total request
timeout. It can also be a pair (tuple) of timeout. It can also be a pair (tuple) of
@ -674,7 +674,7 @@ class AlertSuppressionWindowsApi:
self, self,
window_id: Annotated[StrictStr, Field(description="Unique window ID.")], window_id: Annotated[StrictStr, Field(description="Unique window ID.")],
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, 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,
expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query.")] = None, expand: Annotated[Optional[List[ExpandAlertTestOptions]], Field(description="Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query.")] = None,
_request_timeout: Union[ _request_timeout: Union[
None, None,
Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)],
@ -697,7 +697,7 @@ class AlertSuppressionWindowsApi:
:param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.
:type aid: str :type aid: str
:param expand: Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query. :param expand: Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query.
:type expand: List[Expand] :type expand: List[ExpandAlertTestOptions]
:param _request_timeout: timeout setting for this request. If one :param _request_timeout: timeout setting for this request. If one
number provided, it will be total request number provided, it will be total request
timeout. It can also be a pair (tuple) of timeout. It can also be a pair (tuple) of
@ -755,7 +755,7 @@ class AlertSuppressionWindowsApi:
self, self,
window_id: Annotated[StrictStr, Field(description="Unique window ID.")], window_id: Annotated[StrictStr, Field(description="Unique window ID.")],
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, 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,
expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query.")] = None, expand: Annotated[Optional[List[ExpandAlertTestOptions]], Field(description="Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query.")] = None,
_request_timeout: Union[ _request_timeout: Union[
None, None,
Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)],
@ -778,7 +778,7 @@ class AlertSuppressionWindowsApi:
:param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.
:type aid: str :type aid: str
:param expand: Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query. :param expand: Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query.
:type expand: List[Expand] :type expand: List[ExpandAlertTestOptions]
:param _request_timeout: timeout setting for this request. If one :param _request_timeout: timeout setting for this request. If one
number provided, it will be total request number provided, it will be total request
timeout. It can also be a pair (tuple) of timeout. It can also be a pair (tuple) of
@ -836,7 +836,7 @@ class AlertSuppressionWindowsApi:
self, self,
window_id: Annotated[StrictStr, Field(description="Unique window ID.")], window_id: Annotated[StrictStr, Field(description="Unique window ID.")],
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, 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,
expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query.")] = None, expand: Annotated[Optional[List[ExpandAlertTestOptions]], Field(description="Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query.")] = None,
_request_timeout: Union[ _request_timeout: Union[
None, None,
Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)],
@ -859,7 +859,7 @@ class AlertSuppressionWindowsApi:
:param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.
:type aid: str :type aid: str
:param expand: Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query. :param expand: Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query.
:type expand: List[Expand] :type expand: List[ExpandAlertTestOptions]
:param _request_timeout: timeout setting for this request. If one :param _request_timeout: timeout setting for this request. If one
number provided, it will be total request number provided, it will be total request
timeout. It can also be a pair (tuple) of timeout. It can also be a pair (tuple) of
@ -1266,7 +1266,7 @@ class AlertSuppressionWindowsApi:
window_id: Annotated[StrictStr, Field(description="Unique window ID.")], window_id: Annotated[StrictStr, Field(description="Unique window ID.")],
alert_suppression_window_request: AlertSuppressionWindowRequest, alert_suppression_window_request: AlertSuppressionWindowRequest,
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, 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,
expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query.")] = None, expand: Annotated[Optional[List[ExpandAlertTestOptions]], Field(description="Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query.")] = None,
_request_timeout: Union[ _request_timeout: Union[
None, None,
Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)],
@ -1291,7 +1291,7 @@ class AlertSuppressionWindowsApi:
:param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.
:type aid: str :type aid: str
:param expand: Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query. :param expand: Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query.
:type expand: List[Expand] :type expand: List[ExpandAlertTestOptions]
:param _request_timeout: timeout setting for this request. If one :param _request_timeout: timeout setting for this request. If one
number provided, it will be total request number provided, it will be total request
timeout. It can also be a pair (tuple) of timeout. It can also be a pair (tuple) of
@ -1352,7 +1352,7 @@ class AlertSuppressionWindowsApi:
window_id: Annotated[StrictStr, Field(description="Unique window ID.")], window_id: Annotated[StrictStr, Field(description="Unique window ID.")],
alert_suppression_window_request: AlertSuppressionWindowRequest, alert_suppression_window_request: AlertSuppressionWindowRequest,
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, 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,
expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query.")] = None, expand: Annotated[Optional[List[ExpandAlertTestOptions]], Field(description="Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query.")] = None,
_request_timeout: Union[ _request_timeout: Union[
None, None,
Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)],
@ -1377,7 +1377,7 @@ class AlertSuppressionWindowsApi:
:param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.
:type aid: str :type aid: str
:param expand: Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query. :param expand: Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query.
:type expand: List[Expand] :type expand: List[ExpandAlertTestOptions]
:param _request_timeout: timeout setting for this request. If one :param _request_timeout: timeout setting for this request. If one
number provided, it will be total request number provided, it will be total request
timeout. It can also be a pair (tuple) of timeout. It can also be a pair (tuple) of
@ -1438,7 +1438,7 @@ class AlertSuppressionWindowsApi:
window_id: Annotated[StrictStr, Field(description="Unique window ID.")], window_id: Annotated[StrictStr, Field(description="Unique window ID.")],
alert_suppression_window_request: AlertSuppressionWindowRequest, alert_suppression_window_request: AlertSuppressionWindowRequest,
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, 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,
expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query.")] = None, expand: Annotated[Optional[List[ExpandAlertTestOptions]], Field(description="Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query.")] = None,
_request_timeout: Union[ _request_timeout: Union[
None, None,
Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)],
@ -1463,7 +1463,7 @@ class AlertSuppressionWindowsApi:
:param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.
:type aid: str :type aid: str
:param expand: Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query. :param expand: Optional parameter on whether or not to expand alert related resources. Without this parameter, there's no default expansion. For example, to expand the \"tests\" resource, use the `?expand=test` query.
:type expand: List[Expand] :type expand: List[ExpandAlertTestOptions]
:param _request_timeout: timeout setting for this request. If one :param _request_timeout: timeout setting for this request. If one
number provided, it will be total request number provided, it will be total request
timeout. It can also be a pair (tuple) of timeout. It can also be a pair (tuple) of

View File

@ -19,6 +19,7 @@ from thousandeyes_sdk.alerts.models.alert_direction import AlertDirection
from thousandeyes_sdk.alerts.models.alert_links import AlertLinks from thousandeyes_sdk.alerts.models.alert_links import AlertLinks
from thousandeyes_sdk.alerts.models.alert_meta import AlertMeta from thousandeyes_sdk.alerts.models.alert_meta import AlertMeta
from thousandeyes_sdk.alerts.models.alert_metric_detail import AlertMetricDetail from thousandeyes_sdk.alerts.models.alert_metric_detail import AlertMetricDetail
from thousandeyes_sdk.alerts.models.alert_notification import AlertNotification
from thousandeyes_sdk.alerts.models.alert_rounds_violation_mode import AlertRoundsViolationMode from thousandeyes_sdk.alerts.models.alert_rounds_violation_mode import AlertRoundsViolationMode
from thousandeyes_sdk.alerts.models.alert_rule import AlertRule from thousandeyes_sdk.alerts.models.alert_rule import AlertRule
from thousandeyes_sdk.alerts.models.alert_suppression_window import AlertSuppressionWindow from thousandeyes_sdk.alerts.models.alert_suppression_window import AlertSuppressionWindow
@ -38,11 +39,10 @@ from thousandeyes_sdk.alerts.models.end_alert_metrics import EndAlertMetrics
from thousandeyes_sdk.alerts.models.end_repeat import EndRepeat from thousandeyes_sdk.alerts.models.end_repeat import EndRepeat
from thousandeyes_sdk.alerts.models.end_repeat_type import EndRepeatType from thousandeyes_sdk.alerts.models.end_repeat_type import EndRepeatType
from thousandeyes_sdk.alerts.models.error import Error from thousandeyes_sdk.alerts.models.error import Error
from thousandeyes_sdk.alerts.models.expand import Expand from thousandeyes_sdk.alerts.models.expand_alert_test_options import ExpandAlertTestOptions
from thousandeyes_sdk.alerts.models.interval_type import IntervalType from thousandeyes_sdk.alerts.models.interval_type import IntervalType
from thousandeyes_sdk.alerts.models.legacy_alert import LegacyAlert from thousandeyes_sdk.alerts.models.legacy_alert import LegacyAlert
from thousandeyes_sdk.alerts.models.link import Link from thousandeyes_sdk.alerts.models.link import Link
from thousandeyes_sdk.alerts.models.notification import Notification
from thousandeyes_sdk.alerts.models.notification_custom_webhook import NotificationCustomWebhook from thousandeyes_sdk.alerts.models.notification_custom_webhook import NotificationCustomWebhook
from thousandeyes_sdk.alerts.models.notification_email import NotificationEmail from thousandeyes_sdk.alerts.models.notification_email import NotificationEmail
from thousandeyes_sdk.alerts.models.notification_third_party import NotificationThirdParty from thousandeyes_sdk.alerts.models.notification_third_party import NotificationThirdParty

View File

@ -33,8 +33,8 @@ class Alert(BaseModel):
""" # noqa: E501 """ # noqa: E501
id: Optional[StrictStr] = Field(default=None, description="A unique ID for each individual alert occurrence.") id: Optional[StrictStr] = Field(default=None, description="A unique ID for each individual alert occurrence.")
alert_type: Optional[AlertType] = Field(default=None, alias="alertType") alert_type: Optional[AlertType] = Field(default=None, alias="alertType")
start_date: Optional[datetime] = Field(default=None, description="The start date and time (in UTC, ISO 8601 format) for querying alerts.", alias="startDate") start_date: Optional[datetime] = Field(default=None, description="(Optional) When passing `window` or `startDate` parameter, the client will also receive the `startDate` field indicating the UTC start date of the data's time range being retrieved (ISO date-time format).", alias="startDate")
end_date: Optional[datetime] = Field(default=None, description="The end date and time (in UTC, ISO 8601 format) for querying alerts.", alias="endDate") end_date: Optional[datetime] = Field(default=None, description="(Optional) When passing `window` or `endDate` parameter, the client will also receive the `endDate` field indicating the UTC end date of the data's time range being retrieved (ISO date-time format).", alias="endDate")
violation_count: Optional[StrictInt] = Field(default=None, description="Number of sources that meet the alert criteria.", alias="violationCount") violation_count: Optional[StrictInt] = Field(default=None, description="Number of sources that meet the alert criteria.", alias="violationCount")
duration: Optional[StrictInt] = Field(default=None, description="Duration in seconds the alert was active") duration: Optional[StrictInt] = Field(default=None, description="Duration in seconds the alert was active")
suppressed: Optional[StrictBool] = Field(default=None, description="Indicates whether the alert is currently suppressed by a real-time ASW.") suppressed: Optional[StrictBool] = Field(default=None, description="Indicates whether the alert is currently suppressed by a real-time ASW.")

View File

@ -34,8 +34,8 @@ class AlertDetail(BaseModel):
""" # noqa: E501 """ # noqa: E501
id: Optional[StrictStr] = Field(default=None, description="A unique ID for each individual alert occurrence.") id: Optional[StrictStr] = Field(default=None, description="A unique ID for each individual alert occurrence.")
alert_type: Optional[AlertType] = Field(default=None, alias="alertType") alert_type: Optional[AlertType] = Field(default=None, alias="alertType")
start_date: Optional[datetime] = Field(default=None, description="The start date and time (in UTC, ISO 8601 format) for querying alerts.", alias="startDate") start_date: Optional[datetime] = Field(default=None, description="(Optional) When passing `window` or `startDate` parameter, the client will also receive the `startDate` field indicating the UTC start date of the data's time range being retrieved (ISO date-time format).", alias="startDate")
end_date: Optional[datetime] = Field(default=None, description="The end date and time (in UTC, ISO 8601 format) for querying alerts.", alias="endDate") end_date: Optional[datetime] = Field(default=None, description="(Optional) When passing `window` or `endDate` parameter, the client will also receive the `endDate` field indicating the UTC end date of the data's time range being retrieved (ISO date-time format).", alias="endDate")
violation_count: Optional[StrictInt] = Field(default=None, description="Number of sources that meet the alert criteria.", alias="violationCount") violation_count: Optional[StrictInt] = Field(default=None, description="Number of sources that meet the alert criteria.", alias="violationCount")
duration: Optional[StrictInt] = Field(default=None, description="Duration in seconds the alert was active") duration: Optional[StrictInt] = Field(default=None, description="Duration in seconds the alert was active")
suppressed: Optional[StrictBool] = Field(default=None, description="Indicates whether the alert is currently suppressed by a real-time ASW.") suppressed: Optional[StrictBool] = Field(default=None, description="Indicates whether the alert is currently suppressed by a real-time ASW.")

View File

@ -0,0 +1,121 @@
# coding: utf-8
"""
Alerts API
You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rules conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts).
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import pprint
import re # noqa: F401
import json
from pydantic import BaseModel, ConfigDict, Field
from typing import Any, ClassVar, Dict, List, Optional
from thousandeyes_sdk.alerts.models.notification_custom_webhook import NotificationCustomWebhook
from thousandeyes_sdk.alerts.models.notification_email import NotificationEmail
from thousandeyes_sdk.alerts.models.notification_third_party import NotificationThirdParty
from thousandeyes_sdk.alerts.models.notification_webhook import NotificationWebhook
from typing import Optional, Set
from typing_extensions import Self
class AlertNotification(BaseModel):
"""
Alert notification object. See Alert notification integrations.
""" # noqa: E501
email: Optional[NotificationEmail] = None
third_party: Optional[List[NotificationThirdParty]] = Field(default=None, description="Third party notifications.", alias="thirdParty")
webhook: Optional[List[NotificationWebhook]] = Field(default=None, description="Webhook notifications.")
custom_webhook: Optional[List[NotificationCustomWebhook]] = Field(default=None, description="Custom webhook notifications.", alias="customWebhook")
__properties: ClassVar[List[str]] = ["email", "thirdParty", "webhook", "customWebhook"]
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 AlertNotification 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 email
if self.email:
_dict['email'] = self.email.to_dict()
# override the default output from pydantic by calling `to_dict()` of each item in third_party (list)
_items = []
if self.third_party:
for _item in self.third_party:
if _item:
_items.append(_item.to_dict())
_dict['thirdParty'] = _items
# override the default output from pydantic by calling `to_dict()` of each item in webhook (list)
_items = []
if self.webhook:
for _item in self.webhook:
if _item:
_items.append(_item.to_dict())
_dict['webhook'] = _items
# override the default output from pydantic by calling `to_dict()` of each item in custom_webhook (list)
_items = []
if self.custom_webhook:
for _item in self.custom_webhook:
if _item:
_items.append(_item.to_dict())
_dict['customWebhook'] = _items
return _dict
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of AlertNotification from a dict"""
if obj is None:
return None
if not isinstance(obj, dict):
return cls.model_validate(obj)
_obj = cls.model_validate({
"email": NotificationEmail.from_dict(obj["email"]) if obj.get("email") is not None else None,
"thirdParty": [NotificationThirdParty.from_dict(_item) for _item in obj["thirdParty"]] if obj.get("thirdParty") is not None else None,
"webhook": [NotificationWebhook.from_dict(_item) for _item in obj["webhook"]] if obj.get("webhook") is not None else None,
"customWebhook": [NotificationCustomWebhook.from_dict(_item) for _item in obj["customWebhook"]] if obj.get("customWebhook") is not None else None
})
return _obj

View File

@ -31,8 +31,8 @@ class BaseAlert(BaseModel):
""" # noqa: E501 """ # noqa: E501
id: Optional[StrictStr] = Field(default=None, description="A unique ID for each individual alert occurrence.") id: Optional[StrictStr] = Field(default=None, description="A unique ID for each individual alert occurrence.")
alert_type: Optional[AlertType] = Field(default=None, alias="alertType") alert_type: Optional[AlertType] = Field(default=None, alias="alertType")
start_date: Optional[datetime] = Field(default=None, description="The start date and time (in UTC, ISO 8601 format) for querying alerts.", alias="startDate") start_date: Optional[datetime] = Field(default=None, description="(Optional) When passing `window` or `startDate` parameter, the client will also receive the `startDate` field indicating the UTC start date of the data's time range being retrieved (ISO date-time format).", alias="startDate")
end_date: Optional[datetime] = Field(default=None, description="The end date and time (in UTC, ISO 8601 format) for querying alerts.", alias="endDate") end_date: Optional[datetime] = Field(default=None, description="(Optional) When passing `window` or `endDate` parameter, the client will also receive the `endDate` field indicating the UTC end date of the data's time range being retrieved (ISO date-time format).", alias="endDate")
violation_count: Optional[StrictInt] = Field(default=None, description="Number of sources that meet the alert criteria.", alias="violationCount") violation_count: Optional[StrictInt] = Field(default=None, description="Number of sources that meet the alert criteria.", alias="violationCount")
duration: Optional[StrictInt] = Field(default=None, description="Duration in seconds the alert was active") duration: Optional[StrictInt] = Field(default=None, description="Duration in seconds the alert was active")
suppressed: Optional[StrictBool] = Field(default=None, description="Indicates whether the alert is currently suppressed by a real-time ASW.") suppressed: Optional[StrictBool] = Field(default=None, description="Indicates whether the alert is currently suppressed by a real-time ASW.")

View File

@ -0,0 +1,35 @@
# coding: utf-8
"""
Alerts API
You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rules conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts).
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
from __future__ import annotations
import json
from enum import Enum
from typing_extensions import Self
class ExpandAlertTestOptions(str, Enum):
"""
ExpandAlertTestOptions
"""
"""
allowed enum values
"""
TEST = 'test'
@classmethod
def from_json(cls, json_str: str) -> Self:
"""Create an instance of ExpandAlertTestOptions from a JSON string"""
return cls(json.loads(json_str))

View File

@ -19,9 +19,9 @@ import json
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional from typing import Any, ClassVar, Dict, List, Optional
from thousandeyes_sdk.alerts.models.alert_direction import AlertDirection from thousandeyes_sdk.alerts.models.alert_direction import AlertDirection
from thousandeyes_sdk.alerts.models.alert_notification import AlertNotification
from thousandeyes_sdk.alerts.models.alert_rounds_violation_mode import AlertRoundsViolationMode from thousandeyes_sdk.alerts.models.alert_rounds_violation_mode import AlertRoundsViolationMode
from thousandeyes_sdk.alerts.models.alert_type import AlertType from thousandeyes_sdk.alerts.models.alert_type import AlertType
from thousandeyes_sdk.alerts.models.notification import Notification
from thousandeyes_sdk.alerts.models.self_links import SelfLinks from thousandeyes_sdk.alerts.models.self_links import SelfLinks
from thousandeyes_sdk.alerts.models.sensitivity_level import SensitivityLevel from thousandeyes_sdk.alerts.models.sensitivity_level import SensitivityLevel
from thousandeyes_sdk.alerts.models.severity import Severity from thousandeyes_sdk.alerts.models.severity import Severity
@ -47,7 +47,7 @@ class Rule(BaseModel):
include_covered_prefixes: Optional[StrictBool] = Field(default=None, description="Set true to include covered prefixes in the BGP alert rule. Only applicable to BGP alert rules.", alias="includeCoveredPrefixes") include_covered_prefixes: Optional[StrictBool] = Field(default=None, description="Set true to include covered prefixes in the BGP alert rule. Only applicable to BGP alert rules.", alias="includeCoveredPrefixes")
sensitivity_level: Optional[SensitivityLevel] = Field(default=None, alias="sensitivityLevel") sensitivity_level: Optional[SensitivityLevel] = Field(default=None, alias="sensitivityLevel")
severity: Optional[Severity] = None severity: Optional[Severity] = None
notifications: Optional[Notification] = None notifications: Optional[AlertNotification] = None
test_ids: Optional[List[StrictStr]] = Field(default=None, description="Array of test IDs to link to alert rule (get `testId` from `/tests` endpoint).", alias="testIds") test_ids: Optional[List[StrictStr]] = Field(default=None, description="Array of test IDs to link to alert rule (get `testId` from `/tests` endpoint).", alias="testIds")
links: Optional[SelfLinks] = Field(default=None, alias="_links") links: Optional[SelfLinks] = Field(default=None, alias="_links")
__properties: ClassVar[List[str]] = ["ruleId", "ruleName", "expression", "direction", "notifyOnClear", "isDefault", "alertType", "minimumSources", "minimumSourcesPct", "roundsViolatingMode", "roundsViolatingOutOf", "roundsViolatingRequired", "includeCoveredPrefixes", "sensitivityLevel", "severity", "notifications", "testIds", "_links"] __properties: ClassVar[List[str]] = ["ruleId", "ruleName", "expression", "direction", "notifyOnClear", "isDefault", "alertType", "minimumSources", "minimumSourcesPct", "roundsViolatingMode", "roundsViolatingOutOf", "roundsViolatingRequired", "includeCoveredPrefixes", "sensitivityLevel", "severity", "notifications", "testIds", "_links"]
@ -127,7 +127,7 @@ class Rule(BaseModel):
"includeCoveredPrefixes": obj.get("includeCoveredPrefixes"), "includeCoveredPrefixes": obj.get("includeCoveredPrefixes"),
"sensitivityLevel": obj.get("sensitivityLevel"), "sensitivityLevel": obj.get("sensitivityLevel"),
"severity": obj.get("severity"), "severity": obj.get("severity"),
"notifications": Notification.from_dict(obj["notifications"]) if obj.get("notifications") is not None else None, "notifications": AlertNotification.from_dict(obj["notifications"]) if obj.get("notifications") is not None else None,
"testIds": obj.get("testIds"), "testIds": obj.get("testIds"),
"_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None
}) })

View File

@ -19,10 +19,10 @@ import json
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional from typing import Any, ClassVar, Dict, List, Optional
from thousandeyes_sdk.alerts.models.alert_direction import AlertDirection from thousandeyes_sdk.alerts.models.alert_direction import AlertDirection
from thousandeyes_sdk.alerts.models.alert_notification import AlertNotification
from thousandeyes_sdk.alerts.models.alert_rounds_violation_mode import AlertRoundsViolationMode from thousandeyes_sdk.alerts.models.alert_rounds_violation_mode import AlertRoundsViolationMode
from thousandeyes_sdk.alerts.models.alert_type import AlertType from thousandeyes_sdk.alerts.models.alert_type import AlertType
from thousandeyes_sdk.alerts.models.base_test import BaseTest from thousandeyes_sdk.alerts.models.base_test import BaseTest
from thousandeyes_sdk.alerts.models.notification import Notification
from thousandeyes_sdk.alerts.models.self_links import SelfLinks from thousandeyes_sdk.alerts.models.self_links import SelfLinks
from thousandeyes_sdk.alerts.models.sensitivity_level import SensitivityLevel from thousandeyes_sdk.alerts.models.sensitivity_level import SensitivityLevel
from thousandeyes_sdk.alerts.models.severity import Severity from thousandeyes_sdk.alerts.models.severity import Severity
@ -48,7 +48,7 @@ class RuleDetail(BaseModel):
include_covered_prefixes: Optional[StrictBool] = Field(default=None, description="Set true to include covered prefixes in the BGP alert rule. Only applicable to BGP alert rules.", alias="includeCoveredPrefixes") include_covered_prefixes: Optional[StrictBool] = Field(default=None, description="Set true to include covered prefixes in the BGP alert rule. Only applicable to BGP alert rules.", alias="includeCoveredPrefixes")
sensitivity_level: Optional[SensitivityLevel] = Field(default=None, alias="sensitivityLevel") sensitivity_level: Optional[SensitivityLevel] = Field(default=None, alias="sensitivityLevel")
severity: Optional[Severity] = None severity: Optional[Severity] = None
notifications: Optional[Notification] = None notifications: Optional[AlertNotification] = None
tests: Optional[List[BaseTest]] = None tests: Optional[List[BaseTest]] = None
links: Optional[SelfLinks] = Field(default=None, alias="_links") links: Optional[SelfLinks] = Field(default=None, alias="_links")
__properties: ClassVar[List[str]] = ["ruleId", "ruleName", "expression", "direction", "notifyOnClear", "isDefault", "alertType", "minimumSources", "minimumSourcesPct", "roundsViolatingMode", "roundsViolatingOutOf", "roundsViolatingRequired", "includeCoveredPrefixes", "sensitivityLevel", "severity", "notifications", "tests", "_links"] __properties: ClassVar[List[str]] = ["ruleId", "ruleName", "expression", "direction", "notifyOnClear", "isDefault", "alertType", "minimumSources", "minimumSourcesPct", "roundsViolatingMode", "roundsViolatingOutOf", "roundsViolatingRequired", "includeCoveredPrefixes", "sensitivityLevel", "severity", "notifications", "tests", "_links"]
@ -137,7 +137,7 @@ class RuleDetail(BaseModel):
"includeCoveredPrefixes": obj.get("includeCoveredPrefixes"), "includeCoveredPrefixes": obj.get("includeCoveredPrefixes"),
"sensitivityLevel": obj.get("sensitivityLevel"), "sensitivityLevel": obj.get("sensitivityLevel"),
"severity": obj.get("severity"), "severity": obj.get("severity"),
"notifications": Notification.from_dict(obj["notifications"]) if obj.get("notifications") is not None else None, "notifications": AlertNotification.from_dict(obj["notifications"]) if obj.get("notifications") is not None else None,
"tests": [BaseTest.from_dict(_item) for _item in obj["tests"]] if obj.get("tests") is not None else None, "tests": [BaseTest.from_dict(_item) for _item in obj["tests"]] if obj.get("tests") is not None else None,
"_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None
}) })

View File

@ -19,9 +19,9 @@ import json
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
from typing import Any, ClassVar, Dict, List, Optional from typing import Any, ClassVar, Dict, List, Optional
from thousandeyes_sdk.alerts.models.alert_direction import AlertDirection from thousandeyes_sdk.alerts.models.alert_direction import AlertDirection
from thousandeyes_sdk.alerts.models.alert_notification import AlertNotification
from thousandeyes_sdk.alerts.models.alert_rounds_violation_mode import AlertRoundsViolationMode from thousandeyes_sdk.alerts.models.alert_rounds_violation_mode import AlertRoundsViolationMode
from thousandeyes_sdk.alerts.models.alert_type import AlertType from thousandeyes_sdk.alerts.models.alert_type import AlertType
from thousandeyes_sdk.alerts.models.notification import Notification
from thousandeyes_sdk.alerts.models.sensitivity_level import SensitivityLevel from thousandeyes_sdk.alerts.models.sensitivity_level import SensitivityLevel
from thousandeyes_sdk.alerts.models.severity import Severity from thousandeyes_sdk.alerts.models.severity import Severity
from typing import Optional, Set from typing import Optional, Set
@ -46,7 +46,7 @@ class RuleDetailUpdate(BaseModel):
include_covered_prefixes: Optional[StrictBool] = Field(default=None, description="Set true to include covered prefixes in the BGP alert rule. Only applicable to BGP alert rules.", alias="includeCoveredPrefixes") include_covered_prefixes: Optional[StrictBool] = Field(default=None, description="Set true to include covered prefixes in the BGP alert rule. Only applicable to BGP alert rules.", alias="includeCoveredPrefixes")
sensitivity_level: Optional[SensitivityLevel] = Field(default=None, alias="sensitivityLevel") sensitivity_level: Optional[SensitivityLevel] = Field(default=None, alias="sensitivityLevel")
severity: Optional[Severity] = None severity: Optional[Severity] = None
notifications: Optional[Notification] = None notifications: Optional[AlertNotification] = None
test_ids: Optional[List[StrictStr]] = Field(default=None, description="Array of test IDs to link to alert rule (get `testId` from `/tests` endpoint).", alias="testIds") test_ids: Optional[List[StrictStr]] = Field(default=None, description="Array of test IDs to link to alert rule (get `testId` from `/tests` endpoint).", alias="testIds")
__properties: ClassVar[List[str]] = ["ruleId", "ruleName", "expression", "direction", "notifyOnClear", "isDefault", "alertType", "minimumSources", "minimumSourcesPct", "roundsViolatingMode", "roundsViolatingOutOf", "roundsViolatingRequired", "includeCoveredPrefixes", "sensitivityLevel", "severity", "notifications", "testIds"] __properties: ClassVar[List[str]] = ["ruleId", "ruleName", "expression", "direction", "notifyOnClear", "isDefault", "alertType", "minimumSources", "minimumSourcesPct", "roundsViolatingMode", "roundsViolatingOutOf", "roundsViolatingRequired", "includeCoveredPrefixes", "sensitivityLevel", "severity", "notifications", "testIds"]
@ -122,7 +122,7 @@ class RuleDetailUpdate(BaseModel):
"includeCoveredPrefixes": obj.get("includeCoveredPrefixes"), "includeCoveredPrefixes": obj.get("includeCoveredPrefixes"),
"sensitivityLevel": obj.get("sensitivityLevel"), "sensitivityLevel": obj.get("sensitivityLevel"),
"severity": obj.get("severity"), "severity": obj.get("severity"),
"notifications": Notification.from_dict(obj["notifications"]) if obj.get("notifications") is not None else None, "notifications": AlertNotification.from_dict(obj["notifications"]) if obj.get("notifications") is not None else None,
"testIds": obj.get("testIds") "testIds": obj.get("testIds")
}) })
return _obj return _obj

View File

@ -213,7 +213,7 @@ class TestAlertRulesApi(unittest.TestCase):
"ruleId" : "127094", "ruleId" : "127094",
"direction" : "to-target" "direction" : "to-target"
} ], } ],
"interval" : 120, "interval" : 60,
"alertsEnabled" : true, "alertsEnabled" : true,
"enabled" : true "enabled" : true
}, { }, {
@ -246,7 +246,7 @@ class TestAlertRulesApi(unittest.TestCase):
"ruleId" : "127094", "ruleId" : "127094",
"direction" : "to-target" "direction" : "to-target"
} ], } ],
"interval" : 120, "interval" : 60,
"alertsEnabled" : true, "alertsEnabled" : true,
"enabled" : true "enabled" : true
} ], } ],

View File

@ -90,7 +90,7 @@ class TestAlertSuppressionWindowsApi(unittest.TestCase):
"ruleId" : "127094", "ruleId" : "127094",
"direction" : "to-target" "direction" : "to-target"
} ], } ],
"interval" : 120, "interval" : 60,
"alertsEnabled" : true, "alertsEnabled" : true,
"enabled" : true "enabled" : true
}, { }, {
@ -123,7 +123,7 @@ class TestAlertSuppressionWindowsApi(unittest.TestCase):
"ruleId" : "127094", "ruleId" : "127094",
"direction" : "to-target" "direction" : "to-target"
} ], } ],
"interval" : 120, "interval" : 60,
"alertsEnabled" : true, "alertsEnabled" : true,
"enabled" : true "enabled" : true
} ], } ],
@ -201,7 +201,7 @@ class TestAlertSuppressionWindowsApi(unittest.TestCase):
"ruleId" : "127094", "ruleId" : "127094",
"direction" : "to-target" "direction" : "to-target"
} ], } ],
"interval" : 120, "interval" : 60,
"alertsEnabled" : true, "alertsEnabled" : true,
"enabled" : true "enabled" : true
}, { }, {
@ -234,7 +234,7 @@ class TestAlertSuppressionWindowsApi(unittest.TestCase):
"ruleId" : "127094", "ruleId" : "127094",
"direction" : "to-target" "direction" : "to-target"
} ], } ],
"interval" : 120, "interval" : 60,
"alertsEnabled" : true, "alertsEnabled" : true,
"enabled" : true "enabled" : true
} ], } ],
@ -417,7 +417,7 @@ class TestAlertSuppressionWindowsApi(unittest.TestCase):
"ruleId" : "127094", "ruleId" : "127094",
"direction" : "to-target" "direction" : "to-target"
} ], } ],
"interval" : 120, "interval" : 60,
"alertsEnabled" : true, "alertsEnabled" : true,
"enabled" : true "enabled" : true
}, { }, {
@ -450,7 +450,7 @@ class TestAlertSuppressionWindowsApi(unittest.TestCase):
"ruleId" : "127094", "ruleId" : "127094",
"direction" : "to-target" "direction" : "to-target"
} ], } ],
"interval" : 120, "interval" : 60,
"alertsEnabled" : true, "alertsEnabled" : true,
"enabled" : true "enabled" : true
} ], } ],

View File

@ -37,7 +37,7 @@ class TestAlertsApi(unittest.TestCase):
"severity" : "major", "severity" : "major",
"alertType" : "http-server", "alertType" : "http-server",
"violationCount" : 2, "violationCount" : 2,
"endDate" : "2020-04-23T13:43:16Z", "endDate" : "2022-07-18T22:00:54Z",
"_links" : { "_links" : {
"appLink" : { "appLink" : {
"hreflang" : "hreflang", "hreflang" : "hreflang",
@ -109,7 +109,7 @@ class TestAlertsApi(unittest.TestCase):
"id" : "e9c3bf02-a48c-4aa8-9e5f-898800d6f569", "id" : "e9c3bf02-a48c-4aa8-9e5f-898800d6f569",
"suppressed" : false, "suppressed" : false,
"state" : "active", "state" : "active",
"startDate" : "2020-04-23T13:43:16Z" "startDate" : "2022-07-17T22:00:54Z"
}""" }"""
response_loaded_json = json.loads(response_body_json) response_loaded_json = json.loads(response_body_json)
@ -124,7 +124,7 @@ class TestAlertsApi(unittest.TestCase):
"alerts" : [ { "alerts" : [ {
"severity" : "MAJOR", "severity" : "MAJOR",
"alertType" : "http-server", "alertType" : "http-server",
"endDate" : "2020-04-23T13:43:16Z", "endDate" : "2022-07-18T22:00:54Z",
"_links" : { "_links" : {
"appLink" : { "appLink" : {
"hreflang" : "hreflang", "hreflang" : "hreflang",
@ -187,12 +187,12 @@ class TestAlertsApi(unittest.TestCase):
"ruleId" : 127094, "ruleId" : 127094,
"permalink" : "https://app.thousandeyes.com/alerts/list?__a=75&alertId=2783&agentId=12", "permalink" : "https://app.thousandeyes.com/alerts/list?__a=75&alertId=2783&agentId=12",
"alertState" : "active", "alertState" : "active",
"startDate" : "2020-04-23T13:43:16Z", "startDate" : "2022-07-17T22:00:54Z",
"alertRuleId" : "127094" "alertRuleId" : "127094"
}, { }, {
"severity" : "MAJOR", "severity" : "MAJOR",
"alertType" : "http-server", "alertType" : "http-server",
"endDate" : "2020-04-23T13:43:16Z", "endDate" : "2022-07-18T22:00:54Z",
"_links" : { "_links" : {
"appLink" : { "appLink" : {
"hreflang" : "hreflang", "hreflang" : "hreflang",
@ -255,7 +255,7 @@ class TestAlertsApi(unittest.TestCase):
"ruleId" : 127094, "ruleId" : 127094,
"permalink" : "https://app.thousandeyes.com/alerts/list?__a=75&alertId=2783&agentId=12", "permalink" : "https://app.thousandeyes.com/alerts/list?__a=75&alertId=2783&agentId=12",
"alertState" : "active", "alertState" : "active",
"startDate" : "2020-04-23T13:43:16Z", "startDate" : "2022-07-17T22:00:54Z",
"alertRuleId" : "127094" "alertRuleId" : "127094"
} ], } ],
"_links" : { "_links" : {

View File

@ -1,9 +1,9 @@
.openapi-generator-ignore .openapi-generator-ignore
MANIFEST.in MANIFEST.in
README.md README.md
docs/BGPMonitorsApi.md
docs/Error.md docs/Error.md
docs/Link.md docs/Link.md
docs/ListBGPMonitorsApi.md
docs/Monitor.md docs/Monitor.md
docs/MonitorType.md docs/MonitorType.md
docs/Monitors.md docs/Monitors.md
@ -13,7 +13,7 @@ pyproject.toml
setup.cfg setup.cfg
src/thousandeyes_sdk/bgp_monitors/__init__.py src/thousandeyes_sdk/bgp_monitors/__init__.py
src/thousandeyes_sdk/bgp_monitors/api/__init__.py src/thousandeyes_sdk/bgp_monitors/api/__init__.py
src/thousandeyes_sdk/bgp_monitors/api/list_bgp_monitors_api.py src/thousandeyes_sdk/bgp_monitors/api/bgp_monitors_api.py
src/thousandeyes_sdk/bgp_monitors/models/__init__.py src/thousandeyes_sdk/bgp_monitors/models/__init__.py
src/thousandeyes_sdk/bgp_monitors/models/error.py src/thousandeyes_sdk/bgp_monitors/models/error.py
src/thousandeyes_sdk/bgp_monitors/models/link.py src/thousandeyes_sdk/bgp_monitors/models/link.py
@ -24,5 +24,5 @@ src/thousandeyes_sdk/bgp_monitors/models/self_links.py
src/thousandeyes_sdk/bgp_monitors/models/unauthorized_error.py src/thousandeyes_sdk/bgp_monitors/models/unauthorized_error.py
src/thousandeyes_sdk/bgp_monitors/py.typed src/thousandeyes_sdk/bgp_monitors/py.typed
test/__init__.py test/__init__.py
test/test_list_bgp_monitors_api.py test/test_bgp_monitors_api.py
test/test_utils.py test/test_utils.py

View File

@ -9,7 +9,7 @@ For more information about monitors, see [Inside-Out BGP Visibility](https://doc
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.15 - API version: 7.0.17
- Generator version: 7.6.0 - Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
@ -81,16 +81,16 @@ configuration = thousandeyes_sdk.core.Configuration(
# Enter a context with an instance of the API client # Enter a context with an instance of the API client
with thousandeyes_sdk.core.ApiClient(configuration) as api_client: with thousandeyes_sdk.core.ApiClient(configuration) as api_client:
# Create an instance of the API class # Create an instance of the API class
api_instance = thousandeyes_sdk.bgp_monitors.ListBGPMonitorsApi(api_client) api_instance = thousandeyes_sdk.bgp_monitors.BGPMonitorsApi(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) 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: try:
# List BGP monitors # List BGP monitors
api_response = api_instance.get_bgp_monitors(aid=aid) api_response = api_instance.get_bgp_monitors(aid=aid)
print("The response of ListBGPMonitorsApi->get_bgp_monitors:\n") print("The response of BGPMonitorsApi->get_bgp_monitors:\n")
pprint(api_response) pprint(api_response)
except ApiException as e: except ApiException as e:
print("Exception when calling ListBGPMonitorsApi->get_bgp_monitors: %s\n" % e) print("Exception when calling BGPMonitorsApi->get_bgp_monitors: %s\n" % e)
``` ```
@ -100,7 +100,7 @@ All URIs are relative to *https://api.thousandeyes.com/v7*
Class | Method | HTTP request | Description Class | Method | HTTP request | Description
------------ | ------------- | ------------- | ------------- ------------ | ------------- | ------------- | -------------
*ListBGPMonitorsApi* | [**get_bgp_monitors**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-bgp-monitors/docs/ListBGPMonitorsApi.md#get_bgp_monitors) | **GET** /monitors | List BGP monitors *BGPMonitorsApi* | [**get_bgp_monitors**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-bgp-monitors/docs/BGPMonitorsApi.md#get_bgp_monitors) | **GET** /monitors | List BGP monitors
## Documentation For Models ## Documentation For Models

View File

@ -0,0 +1,92 @@
# thousandeyes_sdk.bgp_monitors.BGPMonitorsApi
All URIs are relative to *https://api.thousandeyes.com/v7*
Method | HTTP request | Description
------------- | ------------- | -------------
[**get_bgp_monitors**](BGPMonitorsApi.md#get_bgp_monitors) | **GET** /monitors | List BGP monitors
# **get_bgp_monitors**
> Monitors get_bgp_monitors(aid=aid)
List BGP monitors
Retrieves a list of BGP monitors available to your account in ThousandEyes, including public and private feeds.
### Example
* Bearer Authentication (BearerAuth):
```python
import thousandeyes_sdk.bgp_monitors
from thousandeyes_sdk.bgp_monitors.models.monitors import Monitors
from thousandeyes_sdk.bgp_monitors.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.bgp_monitors.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = thousandeyes_sdk.bgp_monitors.BGPMonitorsApi(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 BGP monitors
api_response = api_instance.get_bgp_monitors(aid=aid)
print("The response of BGPMonitorsApi->get_bgp_monitors:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling BGPMonitorsApi->get_bgp_monitors: %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
[**Monitors**](Monitors.md)
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/hal+json, application/json, application/problem+json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | OK | - |
**401** | Unauthorized | - |
**403** | Insufficient permissions to query endpoint | - |
**404** | Not found | - |
**429** | Exhausted rate limit for the organization | - |
**500** | Internal server error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)

View File

@ -14,7 +14,7 @@
# import apis into sdk package # import apis into sdk package
from thousandeyes_sdk.bgp_monitors.api.list_bgp_monitors_api import ListBGPMonitorsApi from thousandeyes_sdk.bgp_monitors.api.bgp_monitors_api import BGPMonitorsApi
# import models into sdk package # import models into sdk package

View File

@ -1,5 +1,5 @@
# flake8: noqa # flake8: noqa
# import apis into api package # import apis into api package
from thousandeyes_sdk.bgp_monitors.api.list_bgp_monitors_api import ListBGPMonitorsApi from thousandeyes_sdk.bgp_monitors.api.bgp_monitors_api import BGPMonitorsApi

View File

@ -0,0 +1,321 @@
# coding: utf-8
"""
BGP Monitors API
Retrieve information about BGP monitors available to your ThousandEyes account. ThousandEyes ingests BGP routing data from dozens of global BGP collectors and automatically integrates that visibility as a configurable layer under service, network, and path visualization layers. When you specify a service URL in a test, layered BGP tests automatically track reachability and path changes for any relevant prefix. When you use an IP address as the target for a test, the ThousandEyes platform monitors the relevant internet-routed prefix. You can also create specific BGP monitoring for a prefix, and can alert on hijacks and leaks. For more information about monitors, see [Inside-Out BGP Visibility](https://docs.thousandeyes.com/product-documentation/internet-and-wan-monitoring/tests/bgp-tests/inside-out-bgp-visibility).
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
import warnings
from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
from typing import Any, Dict, List, Optional, Tuple, Union
from typing_extensions import Annotated
from importlib.metadata import version
import thousandeyes_sdk.bgp_monitors.models
from pydantic import Field, StrictStr
from typing import Optional
from typing_extensions import Annotated
from thousandeyes_sdk.bgp_monitors.models.monitors import Monitors
from thousandeyes_sdk.core.api_client import ApiClient, RequestSerialized
from thousandeyes_sdk.core.api_response import ApiResponse
from thousandeyes_sdk.core.rest import RESTResponseType
class BGPMonitorsApi:
"""NOTE: This class is auto generated by OpenAPI Generator
Ref: https://openapi-generator.tech
Do not edit the class manually.
"""
def __init__(self, api_client=None) -> None:
if api_client is None:
api_client = ApiClient.get_default()
api_client.user_agent = "ThousandEyesSDK-Python/{0}".format(version("thousandeyes-sdk-bgp-monitors"))
self.api_client = api_client
@validate_call
def get_bgp_monitors(
self,
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,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> Monitors:
"""List BGP monitors
Retrieves a list of BGP monitors available to your account in ThousandEyes, including public and private feeds.
: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
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_bgp_monitors_serialize(
aid=aid,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "Monitors",
'401': "UnauthorizedError",
'403': "Error",
'404': "Error",
'429': "Error",
'500': "Error",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
models=thousandeyes_sdk.bgp_monitors.models,
).data
@validate_call
def get_bgp_monitors_with_http_info(
self,
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,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> ApiResponse[Monitors]:
"""List BGP monitors
Retrieves a list of BGP monitors available to your account in ThousandEyes, including public and private feeds.
: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
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_bgp_monitors_serialize(
aid=aid,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "Monitors",
'401': "UnauthorizedError",
'403': "Error",
'404': "Error",
'429': "Error",
'500': "Error",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
response_data.read()
return self.api_client.response_deserialize(
response_data=response_data,
response_types_map=_response_types_map,
models=thousandeyes_sdk.bgp_monitors.models,
)
@validate_call
def get_bgp_monitors_without_preload_content(
self,
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,
Annotated[StrictFloat, Field(gt=0)],
Tuple[
Annotated[StrictFloat, Field(gt=0)],
Annotated[StrictFloat, Field(gt=0)]
]
] = None,
_request_auth: Optional[Dict[StrictStr, Any]] = None,
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> RESTResponseType:
"""List BGP monitors
Retrieves a list of BGP monitors available to your account in ThousandEyes, including public and private feeds.
: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
number provided, it will be total request
timeout. It can also be a pair (tuple) of
(connection, read) timeouts.
:type _request_timeout: int, tuple(int, int), optional
:param _request_auth: set to override the auth_settings for an a single
request; this effectively ignores the
authentication in the spec for a single request.
:type _request_auth: dict, optional
:param _content_type: force content-type for the request.
:type _content_type: str, Optional
:param _headers: set to override the headers for a single
request; this effectively ignores the headers
in the spec for a single request.
:type _headers: dict, optional
:param _host_index: set to override the host_index for a single
request; this effectively ignores the host_index
in the spec for a single request.
:type _host_index: int, optional
:return: Returns the result object.
""" # noqa: E501
_param = self._get_bgp_monitors_serialize(
aid=aid,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
_host_index=_host_index
)
_response_types_map: Dict[str, Optional[str]] = {
'200': "Monitors",
'401': "UnauthorizedError",
'403': "Error",
'404': "Error",
'429': "Error",
'500': "Error",
}
response_data = self.api_client.call_api(
*_param,
_request_timeout=_request_timeout
)
return response_data.response
def _get_bgp_monitors_serialize(
self,
aid,
_request_auth,
_content_type,
_headers,
_host_index,
) -> RequestSerialized:
_host = None
_collection_formats: Dict[str, str] = {
}
_path_params: Dict[str, str] = {}
_query_params: List[Tuple[str, str]] = []
_header_params: Dict[str, Optional[str]] = _headers or {}
_form_params: List[Tuple[str, str]] = []
_files: Dict[str, Union[str, bytes]] = {}
_body_params: Optional[bytes] = None
# process the path parameters
# process the query parameters
if aid is not None:
_query_params.append(('aid', aid))
# process the header parameters
# process the form parameters
# process the body parameter
# set the HTTP header `Accept`
_header_params['Accept'] = self.api_client.select_header_accept(
[
'application/hal+json',
'application/json',
'application/problem+json'
]
)
# authentication setting
_auth_settings: List[str] = [
'BearerAuth'
]
return self.api_client.param_serialize(
method='GET',
resource_path='/monitors',
path_params=_path_params,
query_params=_query_params,
header_params=_header_params,
body=_body_params,
post_params=_form_params,
files=_files,
auth_settings=_auth_settings,
collection_formats=_collection_formats,
_host=_host,
_request_auth=_request_auth
)

View File

@ -0,0 +1,71 @@
# coding: utf-8
"""
BGP Monitors API
Retrieve information about BGP monitors available to your ThousandEyes account. ThousandEyes ingests BGP routing data from dozens of global BGP collectors and automatically integrates that visibility as a configurable layer under service, network, and path visualization layers. When you specify a service URL in a test, layered BGP tests automatically track reachability and path changes for any relevant prefix. When you use an IP address as the target for a test, the ThousandEyes platform monitors the relevant internet-routed prefix. You can also create specific BGP monitoring for a prefix, and can alert on hijacks and leaks. For more information about monitors, see [Inside-Out BGP Visibility](https://docs.thousandeyes.com/product-documentation/internet-and-wan-monitoring/tests/bgp-tests/inside-out-bgp-visibility).
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
import json
import unittest
import thousandeyes_sdk.bgp_monitors.models
from .test_utils import assert_constructed_model_matches_example_json
from thousandeyes_sdk.bgp_monitors.api.bgp_monitors_api import BGPMonitorsApi
class TestBGPMonitorsApi(unittest.TestCase):
"""BGPMonitorsApi unit test stubs"""
def setUp(self) -> None:
self.api = BGPMonitorsApi()
def tearDown(self) -> None:
pass
def test_get_bgp_monitors_models_validation(self) -> None:
"""Test case for get_bgp_monitors 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"
}
},
"monitors" : [ {
"monitorType" : "public",
"monitorId" : "1234",
"monitorName" : "Seattle, WA",
"ipAddress" : "4.69.184.193",
"countryId" : "GB",
"network" : "Level 3 Communications, Inc. (AS 3356)"
}, {
"monitorType" : "public",
"monitorId" : "1234",
"monitorName" : "Seattle, WA",
"ipAddress" : "4.69.184.193",
"countryId" : "GB",
"network" : "Level 3 Communications, Inc. (AS 3356)"
} ]
}"""
response_loaded_json = json.loads(response_body_json)
response_from_json = thousandeyes_sdk.bgp_monitors.models.Monitors.from_json(response_body_json)
assert_constructed_model_matches_example_json(response_from_json, response_loaded_json)
if __name__ == '__main__':
unittest.main()

View File

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

View File

@ -29,7 +29,6 @@ docs/ApiDataSourceFilter.md
docs/ApiDataSourceFilters.md docs/ApiDataSourceFilters.md
docs/ApiDefaultTimespan.md docs/ApiDefaultTimespan.md
docs/ApiDuration.md docs/ApiDuration.md
docs/ApiDurationUnit.md
docs/ApiGeoMapWidget.md docs/ApiGeoMapWidget.md
docs/ApiGraphletPoint.md docs/ApiGraphletPoint.md
docs/ApiGroupedBarchartWidget.md docs/ApiGroupedBarchartWidget.md
@ -152,7 +151,6 @@ src/thousandeyes_sdk/dashboards/models/api_data_source_filter.py
src/thousandeyes_sdk/dashboards/models/api_data_source_filters.py src/thousandeyes_sdk/dashboards/models/api_data_source_filters.py
src/thousandeyes_sdk/dashboards/models/api_default_timespan.py src/thousandeyes_sdk/dashboards/models/api_default_timespan.py
src/thousandeyes_sdk/dashboards/models/api_duration.py src/thousandeyes_sdk/dashboards/models/api_duration.py
src/thousandeyes_sdk/dashboards/models/api_duration_unit.py
src/thousandeyes_sdk/dashboards/models/api_geo_map_widget.py src/thousandeyes_sdk/dashboards/models/api_geo_map_widget.py
src/thousandeyes_sdk/dashboards/models/api_graphlet_point.py src/thousandeyes_sdk/dashboards/models/api_graphlet_point.py
src/thousandeyes_sdk/dashboards/models/api_grouped_barchart_widget.py src/thousandeyes_sdk/dashboards/models/api_grouped_barchart_widget.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: This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.15 - API version: 7.0.17
- Generator version: 7.6.0 - Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
@ -144,7 +144,6 @@ Class | Method | HTTP request | Description
- [ApiDataSourceFilters](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiDataSourceFilters.md) - [ApiDataSourceFilters](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiDataSourceFilters.md)
- [ApiDefaultTimespan](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiDefaultTimespan.md) - [ApiDefaultTimespan](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiDefaultTimespan.md)
- [ApiDuration](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiDuration.md) - [ApiDuration](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiDuration.md)
- [ApiDurationUnit](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiDurationUnit.md)
- [ApiGeoMapWidget](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiGeoMapWidget.md) - [ApiGeoMapWidget](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiGeoMapWidget.md)
- [ApiGraphletPoint](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiGraphletPoint.md) - [ApiGraphletPoint](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiGraphletPoint.md)
- [ApiGroupedBarchartWidget](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiGroupedBarchartWidget.md) - [ApiGroupedBarchartWidget](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/ApiGroupedBarchartWidget.md)

View File

@ -1,5 +1,6 @@
# ActiveWithin # ActiveWithin
Timespan in which alerts must have been active to appear in the widget.
## Properties ## Properties

View File

@ -89,12 +89,12 @@ Name | Type | Description | Notes
| Status code | Description | Response headers | | Status code | Description | Response headers |
|-------------|-------------|------------------| |-------------|-------------|------------------|
**201** | Created | * Location - <br> | **201** | Created | * Location - <br> * X-Dashboard-Snapshot-Rate-Limit-Limit - <br> * X-Dashboard-Snapshot-Rate-Limit-Remaining - <br> * X-Dashboard-Snapshot-Rate-Limit-Reset - <br> |
**400** | Bad Request | - | **400** | Bad Request | - |
**401** | Unauthorized | - | **401** | Unauthorized | - |
**403** | Insufficient permissions to query endpoint | - | **403** | Insufficient permissions to query endpoint | - |
**404** | Not found | - | **404** | Not found | - |
**429** | Exhausted rate limit for the organization | - | **429** | Exhausted rate limit for snapshot creation | * X-Dashboard-Snapshot-Rate-Limit-Limit - <br> * X-Dashboard-Snapshot-Rate-Limit-Remaining - <br> * X-Dashboard-Snapshot-Rate-Limit-Reset - <br> |
**500** | Internal server error | - | **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) [[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

@ -48,7 +48,6 @@ from thousandeyes_sdk.dashboards.models.api_data_source_filter import ApiDataSou
from thousandeyes_sdk.dashboards.models.api_data_source_filters import ApiDataSourceFilters from thousandeyes_sdk.dashboards.models.api_data_source_filters import ApiDataSourceFilters
from thousandeyes_sdk.dashboards.models.api_default_timespan import ApiDefaultTimespan from thousandeyes_sdk.dashboards.models.api_default_timespan import ApiDefaultTimespan
from thousandeyes_sdk.dashboards.models.api_duration import ApiDuration from thousandeyes_sdk.dashboards.models.api_duration import ApiDuration
from thousandeyes_sdk.dashboards.models.api_duration_unit import ApiDurationUnit
from thousandeyes_sdk.dashboards.models.api_geo_map_widget import ApiGeoMapWidget from thousandeyes_sdk.dashboards.models.api_geo_map_widget import ApiGeoMapWidget
from thousandeyes_sdk.dashboards.models.api_graphlet_point import ApiGraphletPoint from thousandeyes_sdk.dashboards.models.api_graphlet_point import ApiGraphletPoint
from thousandeyes_sdk.dashboards.models.api_grouped_barchart_widget import ApiGroupedBarchartWidget from thousandeyes_sdk.dashboards.models.api_grouped_barchart_widget import ApiGroupedBarchartWidget

View File

@ -110,7 +110,7 @@ class DashboardSnapshotsApi:
'401': "UnauthorizedError", '401': "UnauthorizedError",
'403': "Error", '403': "Error",
'404': "Error", '404': "Error",
'429': "Error", '429': None,
'500': "Error", '500': "Error",
} }
response_data = self.api_client.call_api( response_data = self.api_client.call_api(
@ -188,7 +188,7 @@ class DashboardSnapshotsApi:
'401': "UnauthorizedError", '401': "UnauthorizedError",
'403': "Error", '403': "Error",
'404': "Error", '404': "Error",
'429': "Error", '429': None,
'500': "Error", '500': "Error",
} }
response_data = self.api_client.call_api( response_data = self.api_client.call_api(
@ -266,7 +266,7 @@ class DashboardSnapshotsApi:
'401': "UnauthorizedError", '401': "UnauthorizedError",
'403': "Error", '403': "Error",
'404': "Error", '404': "Error",
'429': "Error", '429': None,
'500': "Error", '500': "Error",
} }
response_data = self.api_client.call_api( response_data = self.api_client.call_api(

View File

@ -41,7 +41,6 @@ from thousandeyes_sdk.dashboards.models.api_data_source_filter import ApiDataSou
from thousandeyes_sdk.dashboards.models.api_data_source_filters import ApiDataSourceFilters from thousandeyes_sdk.dashboards.models.api_data_source_filters import ApiDataSourceFilters
from thousandeyes_sdk.dashboards.models.api_default_timespan import ApiDefaultTimespan from thousandeyes_sdk.dashboards.models.api_default_timespan import ApiDefaultTimespan
from thousandeyes_sdk.dashboards.models.api_duration import ApiDuration from thousandeyes_sdk.dashboards.models.api_duration import ApiDuration
from thousandeyes_sdk.dashboards.models.api_duration_unit import ApiDurationUnit
from thousandeyes_sdk.dashboards.models.api_geo_map_widget import ApiGeoMapWidget from thousandeyes_sdk.dashboards.models.api_geo_map_widget import ApiGeoMapWidget
from thousandeyes_sdk.dashboards.models.api_graphlet_point import ApiGraphletPoint from thousandeyes_sdk.dashboards.models.api_graphlet_point import ApiGraphletPoint
from thousandeyes_sdk.dashboards.models.api_grouped_barchart_widget import ApiGroupedBarchartWidget from thousandeyes_sdk.dashboards.models.api_grouped_barchart_widget import ApiGroupedBarchartWidget

View File

@ -24,7 +24,7 @@ from typing_extensions import Self
class ActiveWithin(BaseModel): class ActiveWithin(BaseModel):
""" """
ActiveWithin Timespan in which alerts must have been active to appear in the widget.
""" # noqa: E501 """ # noqa: E501
value: Optional[StrictInt] = Field(default=None, description="Timespan value.") value: Optional[StrictInt] = Field(default=None, description="Timespan value.")
unit: Optional[LegacyDurationUnit] = None unit: Optional[LegacyDurationUnit] = None

View File

@ -7,7 +7,7 @@ docs/EmulatedDeviceResponse.md
docs/EmulatedDeviceResponses.md docs/EmulatedDeviceResponses.md
docs/EmulationApi.md docs/EmulationApi.md
docs/Error.md docs/Error.md
docs/Expand.md docs/ExpandEmulatedDeviceOptions.md
docs/Link.md docs/Link.md
docs/SelfLinks.md docs/SelfLinks.md
docs/UnauthorizedError.md docs/UnauthorizedError.md
@ -24,7 +24,7 @@ src/thousandeyes_sdk/emulation/models/emulated_device_category.py
src/thousandeyes_sdk/emulation/models/emulated_device_response.py src/thousandeyes_sdk/emulation/models/emulated_device_response.py
src/thousandeyes_sdk/emulation/models/emulated_device_responses.py src/thousandeyes_sdk/emulation/models/emulated_device_responses.py
src/thousandeyes_sdk/emulation/models/error.py src/thousandeyes_sdk/emulation/models/error.py
src/thousandeyes_sdk/emulation/models/expand.py src/thousandeyes_sdk/emulation/models/expand_emulated_device_options.py
src/thousandeyes_sdk/emulation/models/link.py src/thousandeyes_sdk/emulation/models/link.py
src/thousandeyes_sdk/emulation/models/self_links.py src/thousandeyes_sdk/emulation/models/self_links.py
src/thousandeyes_sdk/emulation/models/unauthorized_error.py src/thousandeyes_sdk/emulation/models/unauthorized_error.py

View File

@ -9,7 +9,7 @@ To access Emulation API endpoints, the following permissions are required:
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.15 - API version: 7.0.17
- Generator version: 7.6.0 - Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
@ -113,7 +113,7 @@ Class | Method | HTTP request | Description
- [EmulatedDeviceResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-emulation/docs/EmulatedDeviceResponse.md) - [EmulatedDeviceResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-emulation/docs/EmulatedDeviceResponse.md)
- [EmulatedDeviceResponses](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-emulation/docs/EmulatedDeviceResponses.md) - [EmulatedDeviceResponses](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-emulation/docs/EmulatedDeviceResponses.md)
- [Error](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-emulation/docs/Error.md) - [Error](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-emulation/docs/Error.md)
- [Expand](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-emulation/docs/Expand.md) - [ExpandEmulatedDeviceOptions](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-emulation/docs/ExpandEmulatedDeviceOptions.md)
- [Link](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-emulation/docs/Link.md) - [Link](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-emulation/docs/Link.md)
- [SelfLinks](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-emulation/docs/SelfLinks.md) - [SelfLinks](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-emulation/docs/SelfLinks.md)
- [UnauthorizedError](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-emulation/docs/UnauthorizedError.md) - [UnauthorizedError](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-emulation/docs/UnauthorizedError.md)

View File

@ -109,7 +109,7 @@ Retrieves a list of emulated devices available for browser tests.
```python ```python
import thousandeyes_sdk.emulation import thousandeyes_sdk.emulation
from thousandeyes_sdk.emulation.models.emulated_device_responses import EmulatedDeviceResponses from thousandeyes_sdk.emulation.models.emulated_device_responses import EmulatedDeviceResponses
from thousandeyes_sdk.emulation.models.expand import Expand from thousandeyes_sdk.emulation.models.expand_emulated_device_options import ExpandEmulatedDeviceOptions
from thousandeyes_sdk.emulation.rest import ApiException from thousandeyes_sdk.emulation.rest import ApiException
from pprint import pprint from pprint import pprint
@ -133,7 +133,7 @@ configuration = thousandeyes_sdk.core.Configuration(
with thousandeyes_sdk.emulation.ApiClient(configuration) as api_client: with thousandeyes_sdk.emulation.ApiClient(configuration) as api_client:
# Create an instance of the API class # Create an instance of the API class
api_instance = thousandeyes_sdk.emulation.EmulationApi(api_client) api_instance = thousandeyes_sdk.emulation.EmulationApi(api_client)
expand = [thousandeyes_sdk.emulation.Expand()] # List[Expand] | Optional query parameter that controls whether user-agent templates are included in the response. By default, user-agent templates are not included. To include them, add `?expand=user-agent` to the request. (optional) expand = [thousandeyes_sdk.emulation.ExpandEmulatedDeviceOptions()] # List[ExpandEmulatedDeviceOptions] | Optional query parameter that controls whether user-agent templates are included in the response. By default, user-agent templates are not included. To include them, add `?expand=user-agent` to the request. (optional)
try: try:
# List emulated devices # List emulated devices
@ -151,7 +151,7 @@ with thousandeyes_sdk.emulation.ApiClient(configuration) as api_client:
Name | Type | Description | Notes Name | Type | Description | Notes
------------- | ------------- | ------------- | ------------- ------------- | ------------- | ------------- | -------------
**expand** | [**List[Expand]**](Expand.md)| Optional query parameter that controls whether user-agent templates are included in the response. By default, user-agent templates are not included. To include them, add &#x60;?expand&#x3D;user-agent&#x60; to the request. | [optional] **expand** | [**List[ExpandEmulatedDeviceOptions]**](ExpandEmulatedDeviceOptions.md)| Optional query parameter that controls whether user-agent templates are included in the response. By default, user-agent templates are not included. To include them, add &#x60;?expand&#x3D;user-agent&#x60; to the request. | [optional]
### Return type ### Return type

View File

@ -0,0 +1,11 @@
# ExpandEmulatedDeviceOptions
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View File

@ -23,7 +23,7 @@ from thousandeyes_sdk.emulation.models.emulated_device_category import EmulatedD
from thousandeyes_sdk.emulation.models.emulated_device_response import EmulatedDeviceResponse from thousandeyes_sdk.emulation.models.emulated_device_response import EmulatedDeviceResponse
from thousandeyes_sdk.emulation.models.emulated_device_responses import EmulatedDeviceResponses from thousandeyes_sdk.emulation.models.emulated_device_responses import EmulatedDeviceResponses
from thousandeyes_sdk.emulation.models.error import Error from thousandeyes_sdk.emulation.models.error import Error
from thousandeyes_sdk.emulation.models.expand import Expand from thousandeyes_sdk.emulation.models.expand_emulated_device_options import ExpandEmulatedDeviceOptions
from thousandeyes_sdk.emulation.models.link import Link from thousandeyes_sdk.emulation.models.link import Link
from thousandeyes_sdk.emulation.models.self_links import SelfLinks from thousandeyes_sdk.emulation.models.self_links import SelfLinks
from thousandeyes_sdk.emulation.models.unauthorized_error import UnauthorizedError from thousandeyes_sdk.emulation.models.unauthorized_error import UnauthorizedError

View File

@ -24,7 +24,7 @@ from typing_extensions import Annotated
from thousandeyes_sdk.emulation.models.emulated_device import EmulatedDevice from thousandeyes_sdk.emulation.models.emulated_device import EmulatedDevice
from thousandeyes_sdk.emulation.models.emulated_device_response import EmulatedDeviceResponse from thousandeyes_sdk.emulation.models.emulated_device_response import EmulatedDeviceResponse
from thousandeyes_sdk.emulation.models.emulated_device_responses import EmulatedDeviceResponses from thousandeyes_sdk.emulation.models.emulated_device_responses import EmulatedDeviceResponses
from thousandeyes_sdk.emulation.models.expand import Expand from thousandeyes_sdk.emulation.models.expand_emulated_device_options import ExpandEmulatedDeviceOptions
from thousandeyes_sdk.emulation.models.user_agents import UserAgents from thousandeyes_sdk.emulation.models.user_agents import UserAgents
from thousandeyes_sdk.core.api_client import ApiClient, RequestSerialized from thousandeyes_sdk.core.api_client import ApiClient, RequestSerialized
@ -356,7 +356,7 @@ class EmulationApi:
@validate_call @validate_call
def get_emulated_devices( def get_emulated_devices(
self, self,
expand: Annotated[Optional[List[Expand]], Field(description="Optional query parameter that controls whether user-agent templates are included in the response. By default, user-agent templates are not included. To include them, add `?expand=user-agent` to the request. ")] = None, expand: Annotated[Optional[List[ExpandEmulatedDeviceOptions]], Field(description="Optional query parameter that controls whether user-agent templates are included in the response. By default, user-agent templates are not included. To include them, add `?expand=user-agent` to the request. ")] = None,
_request_timeout: Union[ _request_timeout: Union[
None, None,
Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)],
@ -375,7 +375,7 @@ class EmulationApi:
Retrieves a list of emulated devices available for browser tests. Retrieves a list of emulated devices available for browser tests.
:param expand: Optional query parameter that controls whether user-agent templates are included in the response. By default, user-agent templates are not included. To include them, add `?expand=user-agent` to the request. :param expand: Optional query parameter that controls whether user-agent templates are included in the response. By default, user-agent templates are not included. To include them, add `?expand=user-agent` to the request.
:type expand: List[Expand] :type expand: List[ExpandEmulatedDeviceOptions]
:param _request_timeout: timeout setting for this request. If one :param _request_timeout: timeout setting for this request. If one
number provided, it will be total request number provided, it will be total request
timeout. It can also be a pair (tuple) of timeout. It can also be a pair (tuple) of
@ -429,7 +429,7 @@ class EmulationApi:
@validate_call @validate_call
def get_emulated_devices_with_http_info( def get_emulated_devices_with_http_info(
self, self,
expand: Annotated[Optional[List[Expand]], Field(description="Optional query parameter that controls whether user-agent templates are included in the response. By default, user-agent templates are not included. To include them, add `?expand=user-agent` to the request. ")] = None, expand: Annotated[Optional[List[ExpandEmulatedDeviceOptions]], Field(description="Optional query parameter that controls whether user-agent templates are included in the response. By default, user-agent templates are not included. To include them, add `?expand=user-agent` to the request. ")] = None,
_request_timeout: Union[ _request_timeout: Union[
None, None,
Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)],
@ -448,7 +448,7 @@ class EmulationApi:
Retrieves a list of emulated devices available for browser tests. Retrieves a list of emulated devices available for browser tests.
:param expand: Optional query parameter that controls whether user-agent templates are included in the response. By default, user-agent templates are not included. To include them, add `?expand=user-agent` to the request. :param expand: Optional query parameter that controls whether user-agent templates are included in the response. By default, user-agent templates are not included. To include them, add `?expand=user-agent` to the request.
:type expand: List[Expand] :type expand: List[ExpandEmulatedDeviceOptions]
:param _request_timeout: timeout setting for this request. If one :param _request_timeout: timeout setting for this request. If one
number provided, it will be total request number provided, it will be total request
timeout. It can also be a pair (tuple) of timeout. It can also be a pair (tuple) of
@ -502,7 +502,7 @@ class EmulationApi:
@validate_call @validate_call
def get_emulated_devices_without_preload_content( def get_emulated_devices_without_preload_content(
self, self,
expand: Annotated[Optional[List[Expand]], Field(description="Optional query parameter that controls whether user-agent templates are included in the response. By default, user-agent templates are not included. To include them, add `?expand=user-agent` to the request. ")] = None, expand: Annotated[Optional[List[ExpandEmulatedDeviceOptions]], Field(description="Optional query parameter that controls whether user-agent templates are included in the response. By default, user-agent templates are not included. To include them, add `?expand=user-agent` to the request. ")] = None,
_request_timeout: Union[ _request_timeout: Union[
None, None,
Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)],
@ -521,7 +521,7 @@ class EmulationApi:
Retrieves a list of emulated devices available for browser tests. Retrieves a list of emulated devices available for browser tests.
:param expand: Optional query parameter that controls whether user-agent templates are included in the response. By default, user-agent templates are not included. To include them, add `?expand=user-agent` to the request. :param expand: Optional query parameter that controls whether user-agent templates are included in the response. By default, user-agent templates are not included. To include them, add `?expand=user-agent` to the request.
:type expand: List[Expand] :type expand: List[ExpandEmulatedDeviceOptions]
:param _request_timeout: timeout setting for this request. If one :param _request_timeout: timeout setting for this request. If one
number provided, it will be total request number provided, it will be total request
timeout. It can also be a pair (tuple) of timeout. It can also be a pair (tuple) of

View File

@ -18,7 +18,7 @@ from thousandeyes_sdk.emulation.models.emulated_device_category import EmulatedD
from thousandeyes_sdk.emulation.models.emulated_device_response import EmulatedDeviceResponse from thousandeyes_sdk.emulation.models.emulated_device_response import EmulatedDeviceResponse
from thousandeyes_sdk.emulation.models.emulated_device_responses import EmulatedDeviceResponses from thousandeyes_sdk.emulation.models.emulated_device_responses import EmulatedDeviceResponses
from thousandeyes_sdk.emulation.models.error import Error from thousandeyes_sdk.emulation.models.error import Error
from thousandeyes_sdk.emulation.models.expand import Expand from thousandeyes_sdk.emulation.models.expand_emulated_device_options import ExpandEmulatedDeviceOptions
from thousandeyes_sdk.emulation.models.link import Link from thousandeyes_sdk.emulation.models.link import Link
from thousandeyes_sdk.emulation.models.self_links import SelfLinks from thousandeyes_sdk.emulation.models.self_links import SelfLinks
from thousandeyes_sdk.emulation.models.unauthorized_error import UnauthorizedError from thousandeyes_sdk.emulation.models.unauthorized_error import UnauthorizedError

View File

@ -0,0 +1,35 @@
# coding: utf-8
"""
Emulation API
The Emulation API facilitates the retrieval of user-agent strings for HTTP, pageload, and transaction tests. It also enables the retrieval and addition of emulated devices for pageload and transaction tests. To access Emulation API endpoints, the following permissions are required: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations.
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 ExpandEmulatedDeviceOptions(str, Enum):
"""
ExpandEmulatedDeviceOptions
"""
"""
allowed enum values
"""
USER_MINUS_AGENT = 'user-agent'
@classmethod
def from_json(cls, json_str: str) -> Self:
"""Create an instance of ExpandEmulatedDeviceOptions from a JSON string"""
return cls(json.loads(json_str))

View File

@ -3,7 +3,6 @@ MANIFEST.in
README.md README.md
docs/AddressProfile.md docs/AddressProfile.md
docs/AddressType.md docs/AddressType.md
docs/AdministrativeEndpointsApi.md
docs/AgentLicenseType.md docs/AgentLicenseType.md
docs/AgentSearchFilters.md docs/AgentSearchFilters.md
docs/AgentSearchRequest.md docs/AgentSearchRequest.md
@ -20,23 +19,24 @@ docs/BulkAgentTransferResponse.md
docs/ConditionalOperator.md docs/ConditionalOperator.md
docs/ConnectionString.md docs/ConnectionString.md
docs/EndpointAgent.md docs/EndpointAgent.md
docs/EndpointAgentEthernetProfile.md
docs/EndpointAgentLocation.md docs/EndpointAgentLocation.md
docs/EndpointAgentUpdate.md docs/EndpointAgentUpdate.md
docs/EndpointAgents.md docs/EndpointAgents.md
docs/EndpointAgentsApi.md
docs/EndpointAgentsTransferApi.md
docs/EndpointAsnDetails.md docs/EndpointAsnDetails.md
docs/EndpointBrowserExtension.md docs/EndpointBrowserExtension.md
docs/EndpointClient.md docs/EndpointClient.md
docs/EndpointUserProfile.md docs/EndpointUserProfile.md
docs/EndpointVpnProfile.md docs/EndpointVpnProfile.md
docs/Error.md docs/Error.md
docs/EthernetProfile.md docs/ExpandEndpointAgentOptions.md
docs/Expand.md
docs/FilterEndpointAgentsResponse.md docs/FilterEndpointAgentsResponse.md
docs/InterfaceHardwareType.md docs/InterfaceHardwareType.md
docs/InterfaceProfile.md docs/InterfaceProfile.md
docs/Link.md docs/Link.md
docs/ListEndpointAgentsResponse.md docs/ListEndpointAgentsResponse.md
docs/ManageAgentsApi.md
docs/PaginationNextAndSelfLink.md docs/PaginationNextAndSelfLink.md
docs/PaginationNextLink.md docs/PaginationNextLink.md
docs/Platform.md docs/Platform.md
@ -44,7 +44,6 @@ docs/SelfLinks.md
docs/SortOrder.md docs/SortOrder.md
docs/Status.md docs/Status.md
docs/ThresholdFilterOperator.md docs/ThresholdFilterOperator.md
docs/TransferApi.md
docs/UnauthorizedError.md docs/UnauthorizedError.md
docs/ValidationError.md docs/ValidationError.md
docs/ValidationErrorItem.md docs/ValidationErrorItem.md
@ -54,9 +53,8 @@ pyproject.toml
setup.cfg setup.cfg
src/thousandeyes_sdk/endpoint_agents/__init__.py src/thousandeyes_sdk/endpoint_agents/__init__.py
src/thousandeyes_sdk/endpoint_agents/api/__init__.py src/thousandeyes_sdk/endpoint_agents/api/__init__.py
src/thousandeyes_sdk/endpoint_agents/api/administrative_endpoints_api.py src/thousandeyes_sdk/endpoint_agents/api/endpoint_agents_api.py
src/thousandeyes_sdk/endpoint_agents/api/manage_agents_api.py src/thousandeyes_sdk/endpoint_agents/api/endpoint_agents_transfer_api.py
src/thousandeyes_sdk/endpoint_agents/api/transfer_api.py
src/thousandeyes_sdk/endpoint_agents/models/__init__.py src/thousandeyes_sdk/endpoint_agents/models/__init__.py
src/thousandeyes_sdk/endpoint_agents/models/address_profile.py src/thousandeyes_sdk/endpoint_agents/models/address_profile.py
src/thousandeyes_sdk/endpoint_agents/models/address_type.py src/thousandeyes_sdk/endpoint_agents/models/address_type.py
@ -76,6 +74,7 @@ src/thousandeyes_sdk/endpoint_agents/models/bulk_agent_transfer_response.py
src/thousandeyes_sdk/endpoint_agents/models/conditional_operator.py src/thousandeyes_sdk/endpoint_agents/models/conditional_operator.py
src/thousandeyes_sdk/endpoint_agents/models/connection_string.py src/thousandeyes_sdk/endpoint_agents/models/connection_string.py
src/thousandeyes_sdk/endpoint_agents/models/endpoint_agent.py src/thousandeyes_sdk/endpoint_agents/models/endpoint_agent.py
src/thousandeyes_sdk/endpoint_agents/models/endpoint_agent_ethernet_profile.py
src/thousandeyes_sdk/endpoint_agents/models/endpoint_agent_location.py src/thousandeyes_sdk/endpoint_agents/models/endpoint_agent_location.py
src/thousandeyes_sdk/endpoint_agents/models/endpoint_agent_update.py src/thousandeyes_sdk/endpoint_agents/models/endpoint_agent_update.py
src/thousandeyes_sdk/endpoint_agents/models/endpoint_agents.py src/thousandeyes_sdk/endpoint_agents/models/endpoint_agents.py
@ -85,8 +84,7 @@ src/thousandeyes_sdk/endpoint_agents/models/endpoint_client.py
src/thousandeyes_sdk/endpoint_agents/models/endpoint_user_profile.py src/thousandeyes_sdk/endpoint_agents/models/endpoint_user_profile.py
src/thousandeyes_sdk/endpoint_agents/models/endpoint_vpn_profile.py src/thousandeyes_sdk/endpoint_agents/models/endpoint_vpn_profile.py
src/thousandeyes_sdk/endpoint_agents/models/error.py src/thousandeyes_sdk/endpoint_agents/models/error.py
src/thousandeyes_sdk/endpoint_agents/models/ethernet_profile.py src/thousandeyes_sdk/endpoint_agents/models/expand_endpoint_agent_options.py
src/thousandeyes_sdk/endpoint_agents/models/expand.py
src/thousandeyes_sdk/endpoint_agents/models/filter_endpoint_agents_response.py src/thousandeyes_sdk/endpoint_agents/models/filter_endpoint_agents_response.py
src/thousandeyes_sdk/endpoint_agents/models/interface_hardware_type.py src/thousandeyes_sdk/endpoint_agents/models/interface_hardware_type.py
src/thousandeyes_sdk/endpoint_agents/models/interface_profile.py src/thousandeyes_sdk/endpoint_agents/models/interface_profile.py
@ -106,7 +104,6 @@ src/thousandeyes_sdk/endpoint_agents/models/vpn_type.py
src/thousandeyes_sdk/endpoint_agents/models/wireless_profile.py src/thousandeyes_sdk/endpoint_agents/models/wireless_profile.py
src/thousandeyes_sdk/endpoint_agents/py.typed src/thousandeyes_sdk/endpoint_agents/py.typed
test/__init__.py test/__init__.py
test/test_administrative_endpoints_api.py test/test_endpoint_agents_api.py
test/test_manage_agents_api.py test/test_endpoint_agents_transfer_api.py
test/test_transfer_api.py
test/test_utils.py test/test_utils.py

View File

@ -5,7 +5,7 @@ For more information about Endpoint Agents, see [Endpoint Agents](https://docs.t
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 7.0.15 - API version: 7.0.17
- Generator version: 7.6.0 - Generator version: 7.6.0
- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator
@ -77,16 +77,16 @@ configuration = thousandeyes_sdk.core.Configuration(
# Enter a context with an instance of the API client # Enter a context with an instance of the API client
with thousandeyes_sdk.core.ApiClient(configuration) as api_client: with thousandeyes_sdk.core.ApiClient(configuration) as api_client:
# Create an instance of the API class # Create an instance of the API class
api_instance = thousandeyes_sdk.endpoint_agents.AdministrativeEndpointsApi(api_client) api_instance = thousandeyes_sdk.endpoint_agents.EndpointAgentsApi(api_client)
agent_id = 'agent_id_example' # str | The identifier of the agent to operate on.
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) 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)
expand = [thousandeyes_sdk.endpoint_agents.ExpandEndpointAgentOptions()] # List[ExpandEndpointAgentOptions] | This optional parameter allows you to control the expansion of test resources associated with the agent. By default, no expansion occurs when this query parameter is omitted. To expand the \"clients\" resource, include the query parameter `?expand=clients`. For multiple expansions, you have two options: * Separate the values with commas. For example, `?expandAgent=clients,tasks`. * Specify the parameter multiple times. For example, `?expandAgent=clients&expandAgent=tasks`. This parameter offers flexibility for users to customize the expansion of specific resources related to the agent. (optional)
try: try:
# Get agent connection string # Delete endpoint agent
api_response = api_instance.get_endpoint_agents_connection_string(aid=aid) api_instance.delete_endpoint_agent(agent_id, aid=aid, expand=expand)
print("The response of AdministrativeEndpointsApi->get_endpoint_agents_connection_string:\n")
pprint(api_response)
except ApiException as e: except ApiException as e:
print("Exception when calling AdministrativeEndpointsApi->get_endpoint_agents_connection_string: %s\n" % e) print("Exception when calling EndpointAgentsApi->delete_endpoint_agent: %s\n" % e)
``` ```
@ -96,16 +96,16 @@ All URIs are relative to *https://api.thousandeyes.com/v7*
Class | Method | HTTP request | Description Class | Method | HTTP request | Description
------------ | ------------- | ------------- | ------------- ------------ | ------------- | ------------- | -------------
*AdministrativeEndpointsApi* | [**get_endpoint_agents_connection_string**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/AdministrativeEndpointsApi.md#get_endpoint_agents_connection_string) | **GET** /endpoint/agents/connection-string | Get agent connection string *EndpointAgentsApi* | [**delete_endpoint_agent**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/EndpointAgentsApi.md#delete_endpoint_agent) | **DELETE** /endpoint/agents/{agentId} | Delete endpoint agent
*ManageAgentsApi* | [**delete_endpoint_agent**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/ManageAgentsApi.md#delete_endpoint_agent) | **DELETE** /endpoint/agents/{agentId} | Delete endpoint agent *EndpointAgentsApi* | [**disable_endpoint_agent**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/EndpointAgentsApi.md#disable_endpoint_agent) | **POST** /endpoint/agents/{agentId}/disable | Disable endpoint agent
*ManageAgentsApi* | [**disable_endpoint_agent**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/ManageAgentsApi.md#disable_endpoint_agent) | **POST** /endpoint/agents/{agentId}/disable | Disable endpoint agent *EndpointAgentsApi* | [**enable_endpoint_agent**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/EndpointAgentsApi.md#enable_endpoint_agent) | **POST** /endpoint/agents/{agentId}/enable | Enable endpoint agent
*ManageAgentsApi* | [**enable_endpoint_agent**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/ManageAgentsApi.md#enable_endpoint_agent) | **POST** /endpoint/agents/{agentId}/enable | Enable endpoint agent *EndpointAgentsApi* | [**filter_endpoint_agents**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/EndpointAgentsApi.md#filter_endpoint_agents) | **POST** /endpoint/agents/filter | Filter endpoint agents
*ManageAgentsApi* | [**filter_endpoint_agents**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/ManageAgentsApi.md#filter_endpoint_agents) | **POST** /endpoint/agents/filter | Filter endpoint agents *EndpointAgentsApi* | [**get_endpoint_agent**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/EndpointAgentsApi.md#get_endpoint_agent) | **GET** /endpoint/agents/{agentId} | Retrieve endpoint agent
*ManageAgentsApi* | [**get_endpoint_agent**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/ManageAgentsApi.md#get_endpoint_agent) | **GET** /endpoint/agents/{agentId} | Retrieve endpoint agent *EndpointAgentsApi* | [**get_endpoint_agents**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/EndpointAgentsApi.md#get_endpoint_agents) | **GET** /endpoint/agents | List endpoint agents
*ManageAgentsApi* | [**get_endpoint_agents**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/ManageAgentsApi.md#get_endpoint_agents) | **GET** /endpoint/agents | List endpoint agents *EndpointAgentsApi* | [**get_endpoint_agents_connection_string**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/EndpointAgentsApi.md#get_endpoint_agents_connection_string) | **GET** /endpoint/agents/connection-string | Get agent connection string
*ManageAgentsApi* | [**update_endpoint_agent**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/ManageAgentsApi.md#update_endpoint_agent) | **PATCH** /endpoint/agents/{agentId} | Update endpoint agent *EndpointAgentsApi* | [**update_endpoint_agent**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/EndpointAgentsApi.md#update_endpoint_agent) | **PATCH** /endpoint/agents/{agentId} | Update endpoint agent
*TransferApi* | [**transfer_endpoint_agent**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/TransferApi.md#transfer_endpoint_agent) | **POST** /endpoint/agents/{agentId}/transfer | Transfer endpoint agent *EndpointAgentsTransferApi* | [**transfer_endpoint_agent**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/EndpointAgentsTransferApi.md#transfer_endpoint_agent) | **POST** /endpoint/agents/{agentId}/transfer | Transfer endpoint agent
*TransferApi* | [**transfer_endpoint_agents**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/TransferApi.md#transfer_endpoint_agents) | **POST** /endpoint/agents/transfer/bulk | Bulk transfer agents *EndpointAgentsTransferApi* | [**transfer_endpoint_agents**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/EndpointAgentsTransferApi.md#transfer_endpoint_agents) | **POST** /endpoint/agents/transfer/bulk | Bulk transfer agents
## Documentation For Models ## Documentation For Models
@ -128,6 +128,7 @@ Class | Method | HTTP request | Description
- [ConditionalOperator](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/ConditionalOperator.md) - [ConditionalOperator](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/ConditionalOperator.md)
- [ConnectionString](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/ConnectionString.md) - [ConnectionString](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/ConnectionString.md)
- [EndpointAgent](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/EndpointAgent.md) - [EndpointAgent](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/EndpointAgent.md)
- [EndpointAgentEthernetProfile](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/EndpointAgentEthernetProfile.md)
- [EndpointAgentLocation](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/EndpointAgentLocation.md) - [EndpointAgentLocation](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/EndpointAgentLocation.md)
- [EndpointAgentUpdate](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/EndpointAgentUpdate.md) - [EndpointAgentUpdate](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/EndpointAgentUpdate.md)
- [EndpointAgents](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/EndpointAgents.md) - [EndpointAgents](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/EndpointAgents.md)
@ -137,8 +138,7 @@ Class | Method | HTTP request | Description
- [EndpointUserProfile](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/EndpointUserProfile.md) - [EndpointUserProfile](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/EndpointUserProfile.md)
- [EndpointVpnProfile](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/EndpointVpnProfile.md) - [EndpointVpnProfile](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/EndpointVpnProfile.md)
- [Error](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/Error.md) - [Error](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/Error.md)
- [EthernetProfile](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/EthernetProfile.md) - [ExpandEndpointAgentOptions](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/ExpandEndpointAgentOptions.md)
- [Expand](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/Expand.md)
- [FilterEndpointAgentsResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/FilterEndpointAgentsResponse.md) - [FilterEndpointAgentsResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/FilterEndpointAgentsResponse.md)
- [InterfaceHardwareType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/InterfaceHardwareType.md) - [InterfaceHardwareType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/InterfaceHardwareType.md)
- [InterfaceProfile](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/InterfaceProfile.md) - [InterfaceProfile](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/InterfaceProfile.md)

View File

@ -5,7 +5,7 @@
Name | Type | Description | Notes Name | Type | Description | Notes
------------ | ------------- | ------------- | ------------- ------------ | ------------- | ------------- | -------------
**agent_id** | **str** | Identifier of the agent this applies to. | [optional] [readonly] **agent_id** | **str** | Unique ID of endpoint agent, from &#x60;/endpoint/agents&#x60; endpoint. | [optional] [readonly]
**from_aid** | **str** | A unique identifier associated with your account group. You can retrieve your &#x60;AccountGroupId&#x60; from the &#x60;/account-groups&#x60; endpoint. | [optional] **from_aid** | **str** | A unique identifier associated with your account group. You can retrieve your &#x60;AccountGroupId&#x60; from the &#x60;/account-groups&#x60; endpoint. | [optional]
**to_aid** | **str** | A unique identifier associated with your account group. You can retrieve your &#x60;AccountGroupId&#x60; from the &#x60;/account-groups&#x60; endpoint. | [optional] **to_aid** | **str** | A unique identifier associated with your account group. You can retrieve your &#x60;AccountGroupId&#x60; from the &#x60;/account-groups&#x60; endpoint. | [optional]

View File

@ -6,7 +6,7 @@ The `EndpointAgent` object, which may include multiple clients.
Name | Type | Description | Notes Name | Type | Description | Notes
------------ | ------------- | ------------- | ------------- ------------ | ------------- | ------------- | -------------
**id** | **str** | Identifier of the agent this applies to. | [optional] [readonly] **id** | **str** | Unique ID of endpoint agent, from &#x60;/endpoint/agents&#x60; endpoint. | [optional] [readonly]
**aid** | **str** | | [optional] **aid** | **str** | | [optional]
**name** | **str** | The name of the agent. | [optional] **name** | **str** | The name of the agent. | [optional]
**computer_name** | **str** | | [optional] [readonly] **computer_name** | **str** | | [optional] [readonly]

View File

@ -0,0 +1,30 @@
# EndpointAgentEthernetProfile
Information about the ethernet connectivity of this device. Only present if the hardware type is `ethernet`.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**link_speed** | **int** | Link speed in Mbps. | [optional]
## Example
```python
from thousandeyes_sdk.endpoint_agents.models.endpoint_agent_ethernet_profile import EndpointAgentEthernetProfile
# TODO update the JSON string below
json = "{}"
# create an instance of EndpointAgentEthernetProfile from a JSON string
endpoint_agent_ethernet_profile_instance = EndpointAgentEthernetProfile.from_json(json)
# print the JSON string representation of the object
print(EndpointAgentEthernetProfile.to_json())
# convert the object into a dict
endpoint_agent_ethernet_profile_dict = endpoint_agent_ethernet_profile_instance.to_dict()
# create an instance of EndpointAgentEthernetProfile from a dict
endpoint_agent_ethernet_profile_from_dict = EndpointAgentEthernetProfile.from_dict(endpoint_agent_ethernet_profile_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,716 @@
# thousandeyes_sdk.endpoint_agents.EndpointAgentsApi
All URIs are relative to *https://api.thousandeyes.com/v7*
Method | HTTP request | Description
------------- | ------------- | -------------
[**delete_endpoint_agent**](EndpointAgentsApi.md#delete_endpoint_agent) | **DELETE** /endpoint/agents/{agentId} | Delete endpoint agent
[**disable_endpoint_agent**](EndpointAgentsApi.md#disable_endpoint_agent) | **POST** /endpoint/agents/{agentId}/disable | Disable endpoint agent
[**enable_endpoint_agent**](EndpointAgentsApi.md#enable_endpoint_agent) | **POST** /endpoint/agents/{agentId}/enable | Enable endpoint agent
[**filter_endpoint_agents**](EndpointAgentsApi.md#filter_endpoint_agents) | **POST** /endpoint/agents/filter | Filter endpoint agents
[**get_endpoint_agent**](EndpointAgentsApi.md#get_endpoint_agent) | **GET** /endpoint/agents/{agentId} | Retrieve endpoint agent
[**get_endpoint_agents**](EndpointAgentsApi.md#get_endpoint_agents) | **GET** /endpoint/agents | List endpoint agents
[**get_endpoint_agents_connection_string**](EndpointAgentsApi.md#get_endpoint_agents_connection_string) | **GET** /endpoint/agents/connection-string | Get agent connection string
[**update_endpoint_agent**](EndpointAgentsApi.md#update_endpoint_agent) | **PATCH** /endpoint/agents/{agentId} | Update endpoint agent
# **delete_endpoint_agent**
> delete_endpoint_agent(agent_id, aid=aid, expand=expand)
Delete endpoint agent
Deletes the agent with the specified `agent_id`.
### Example
* Bearer Authentication (BearerAuth):
```python
import thousandeyes_sdk.endpoint_agents
from thousandeyes_sdk.endpoint_agents.models.expand_endpoint_agent_options import ExpandEndpointAgentOptions
from thousandeyes_sdk.endpoint_agents.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.endpoint_agents.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = thousandeyes_sdk.endpoint_agents.EndpointAgentsApi(api_client)
agent_id = 'agent_id_example' # str | The identifier of the agent to operate on.
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)
expand = [thousandeyes_sdk.endpoint_agents.ExpandEndpointAgentOptions()] # List[ExpandEndpointAgentOptions] | This optional parameter allows you to control the expansion of test resources associated with the agent. By default, no expansion occurs when this query parameter is omitted. To expand the \"clients\" resource, include the query parameter `?expand=clients`. For multiple expansions, you have two options: * Separate the values with commas. For example, `?expandAgent=clients,tasks`. * Specify the parameter multiple times. For example, `?expandAgent=clients&expandAgent=tasks`. This parameter offers flexibility for users to customize the expansion of specific resources related to the agent. (optional)
try:
# Delete endpoint agent
api_instance.delete_endpoint_agent(agent_id, aid=aid, expand=expand)
except Exception as e:
print("Exception when calling EndpointAgentsApi->delete_endpoint_agent: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**agent_id** | **str**| The identifier of the agent to operate on. |
**aid** | **str**| A unique identifier associated with your account group. You can retrieve your &#x60;AccountGroupId&#x60; from the &#x60;/account-groups&#x60; 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]
**expand** | [**List[ExpandEndpointAgentOptions]**](ExpandEndpointAgentOptions.md)| This optional parameter allows you to control the expansion of test resources associated with the agent. By default, no expansion occurs when this query parameter is omitted. To expand the \&quot;clients\&quot; resource, include the query parameter &#x60;?expand&#x3D;clients&#x60;. For multiple expansions, you have two options: * Separate the values with commas. For example, &#x60;?expandAgent&#x3D;clients,tasks&#x60;. * Specify the parameter multiple times. For example, &#x60;?expandAgent&#x3D;clients&amp;expandAgent&#x3D;tasks&#x60;. This parameter offers flexibility for users to customize the expansion of specific resources related to the agent. | [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 | - |
**401** | Unauthorized | - |
**403** | Insufficient permissions to query endpoint | - |
**404** | Not found | - |
**429** | Exhausted rate limit for the organization | - |
[[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)
# **disable_endpoint_agent**
> EndpointAgent disable_endpoint_agent(agent_id, aid=aid)
Disable endpoint agent
Disables an endpoint agent. If it's already disabled, it has no effect (no operation).
### Example
* Bearer Authentication (BearerAuth):
```python
import thousandeyes_sdk.endpoint_agents
from thousandeyes_sdk.endpoint_agents.models.endpoint_agent import EndpointAgent
from thousandeyes_sdk.endpoint_agents.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.endpoint_agents.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = thousandeyes_sdk.endpoint_agents.EndpointAgentsApi(api_client)
agent_id = 'agent_id_example' # str | The identifier of the agent to operate on.
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:
# Disable endpoint agent
api_response = api_instance.disable_endpoint_agent(agent_id, aid=aid)
print("The response of EndpointAgentsApi->disable_endpoint_agent:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling EndpointAgentsApi->disable_endpoint_agent: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**agent_id** | **str**| The identifier of the agent to operate on. |
**aid** | **str**| A unique identifier associated with your account group. You can retrieve your &#x60;AccountGroupId&#x60; from the &#x60;/account-groups&#x60; 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
[**EndpointAgent**](EndpointAgent.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** | The agent&#39;s current state. | - |
**401** | Unauthorized | - |
**403** | Insufficient permissions to query endpoint | - |
**404** | Not found | - |
**429** | Exhausted rate limit for the organization | - |
[[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)
# **enable_endpoint_agent**
> EndpointAgent enable_endpoint_agent(agent_id, aid=aid)
Enable endpoint agent
Enables an endpoint agent. If it's already enabled, it has no effect (no operation).
### Example
* Bearer Authentication (BearerAuth):
```python
import thousandeyes_sdk.endpoint_agents
from thousandeyes_sdk.endpoint_agents.models.endpoint_agent import EndpointAgent
from thousandeyes_sdk.endpoint_agents.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.endpoint_agents.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = thousandeyes_sdk.endpoint_agents.EndpointAgentsApi(api_client)
agent_id = 'agent_id_example' # str | The identifier of the agent to operate on.
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:
# Enable endpoint agent
api_response = api_instance.enable_endpoint_agent(agent_id, aid=aid)
print("The response of EndpointAgentsApi->enable_endpoint_agent:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling EndpointAgentsApi->enable_endpoint_agent: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**agent_id** | **str**| The identifier of the agent to operate on. |
**aid** | **str**| A unique identifier associated with your account group. You can retrieve your &#x60;AccountGroupId&#x60; from the &#x60;/account-groups&#x60; 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
[**EndpointAgent**](EndpointAgent.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** | The agent&#39;s current state. | - |
**401** | Unauthorized | - |
**403** | Insufficient permissions to query endpoint | - |
**404** | Not found | - |
**429** | Exhausted rate limit for the organization | - |
[[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)
# **filter_endpoint_agents**
> FilterEndpointAgentsResponse filter_endpoint_agents(agent_search_request, max=max, cursor=cursor, aid=aid, expand=expand, include_deleted=include_deleted)
Filter endpoint agents
Retrieves a list of endpoint agents within the specified account group that match the specified filters. If no agents meet the filter criteria, the API returns an empty array.
### Example
* Bearer Authentication (BearerAuth):
```python
import thousandeyes_sdk.endpoint_agents
from thousandeyes_sdk.endpoint_agents.models.agent_search_request import AgentSearchRequest
from thousandeyes_sdk.endpoint_agents.models.expand_endpoint_agent_options import ExpandEndpointAgentOptions
from thousandeyes_sdk.endpoint_agents.models.filter_endpoint_agents_response import FilterEndpointAgentsResponse
from thousandeyes_sdk.endpoint_agents.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.endpoint_agents.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = thousandeyes_sdk.endpoint_agents.EndpointAgentsApi(api_client)
agent_search_request = thousandeyes_sdk.endpoint_agents.AgentSearchRequest() # AgentSearchRequest | The filter options for advanced search filtering for agents.
max = 5 # int | (Optional) Maximum number of objects to return. (optional)
cursor = 'cursor_example' # str | (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. (optional)
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)
expand = [thousandeyes_sdk.endpoint_agents.ExpandEndpointAgentOptions()] # List[ExpandEndpointAgentOptions] | This optional parameter allows you to control the expansion of test resources associated with the agent. By default, no expansion occurs when this query parameter is omitted. To expand the \"clients\" resource, include the query parameter `?expand=clients`. For multiple expansions, you have two options: * Separate the values with commas. For example, `?expandAgent=clients,tasks`. * Specify the parameter multiple times. For example, `?expandAgent=clients&expandAgent=tasks`. This parameter offers flexibility for users to customize the expansion of specific resources related to the agent. (optional)
include_deleted = false # bool | When requesting entities, set to `true` if you want to see deleted entities. (optional)
try:
# Filter endpoint agents
api_response = api_instance.filter_endpoint_agents(agent_search_request, max=max, cursor=cursor, aid=aid, expand=expand, include_deleted=include_deleted)
print("The response of EndpointAgentsApi->filter_endpoint_agents:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling EndpointAgentsApi->filter_endpoint_agents: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**agent_search_request** | [**AgentSearchRequest**](AgentSearchRequest.md)| The filter options for advanced search filtering for agents. |
**max** | **int**| (Optional) Maximum number of objects to return. | [optional]
**cursor** | **str**| (Optional) Opaque cursor used for pagination. Clients should use &#x60;next&#x60; value from &#x60;_links&#x60; instead of this parameter. | [optional]
**aid** | **str**| A unique identifier associated with your account group. You can retrieve your &#x60;AccountGroupId&#x60; from the &#x60;/account-groups&#x60; 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]
**expand** | [**List[ExpandEndpointAgentOptions]**](ExpandEndpointAgentOptions.md)| This optional parameter allows you to control the expansion of test resources associated with the agent. By default, no expansion occurs when this query parameter is omitted. To expand the \&quot;clients\&quot; resource, include the query parameter &#x60;?expand&#x3D;clients&#x60;. For multiple expansions, you have two options: * Separate the values with commas. For example, &#x60;?expandAgent&#x3D;clients,tasks&#x60;. * Specify the parameter multiple times. For example, &#x60;?expandAgent&#x3D;clients&amp;expandAgent&#x3D;tasks&#x60;. This parameter offers flexibility for users to customize the expansion of specific resources related to the agent. | [optional]
**include_deleted** | **bool**| When requesting entities, set to &#x60;true&#x60; if you want to see deleted entities. | [optional]
### Return type
[**FilterEndpointAgentsResponse**](FilterEndpointAgentsResponse.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** | OK | - |
**400** | Bad Request | - |
**401** | Unauthorized | - |
**403** | Insufficient permissions to query endpoint | - |
**429** | Exhausted rate limit for the organization | - |
[[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_endpoint_agent**
> EndpointAgent get_endpoint_agent(agent_id, aid=aid, expand=expand, include_deleted=include_deleted)
Retrieve endpoint agent
Retrieves details of an agent with the specified `agent_id`.
### Example
* Bearer Authentication (BearerAuth):
```python
import thousandeyes_sdk.endpoint_agents
from thousandeyes_sdk.endpoint_agents.models.endpoint_agent import EndpointAgent
from thousandeyes_sdk.endpoint_agents.models.expand_endpoint_agent_options import ExpandEndpointAgentOptions
from thousandeyes_sdk.endpoint_agents.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.endpoint_agents.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = thousandeyes_sdk.endpoint_agents.EndpointAgentsApi(api_client)
agent_id = 'agent_id_example' # str | The identifier of the agent to operate on.
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)
expand = [thousandeyes_sdk.endpoint_agents.ExpandEndpointAgentOptions()] # List[ExpandEndpointAgentOptions] | This optional parameter allows you to control the expansion of test resources associated with the agent. By default, no expansion occurs when this query parameter is omitted. To expand the \"clients\" resource, include the query parameter `?expand=clients`. For multiple expansions, you have two options: * Separate the values with commas. For example, `?expandAgent=clients,tasks`. * Specify the parameter multiple times. For example, `?expandAgent=clients&expandAgent=tasks`. This parameter offers flexibility for users to customize the expansion of specific resources related to the agent. (optional)
include_deleted = false # bool | When requesting entities, set to `true` if you want to see deleted entities. (optional)
try:
# Retrieve endpoint agent
api_response = api_instance.get_endpoint_agent(agent_id, aid=aid, expand=expand, include_deleted=include_deleted)
print("The response of EndpointAgentsApi->get_endpoint_agent:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling EndpointAgentsApi->get_endpoint_agent: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**agent_id** | **str**| The identifier of the agent to operate on. |
**aid** | **str**| A unique identifier associated with your account group. You can retrieve your &#x60;AccountGroupId&#x60; from the &#x60;/account-groups&#x60; 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]
**expand** | [**List[ExpandEndpointAgentOptions]**](ExpandEndpointAgentOptions.md)| This optional parameter allows you to control the expansion of test resources associated with the agent. By default, no expansion occurs when this query parameter is omitted. To expand the \&quot;clients\&quot; resource, include the query parameter &#x60;?expand&#x3D;clients&#x60;. For multiple expansions, you have two options: * Separate the values with commas. For example, &#x60;?expandAgent&#x3D;clients,tasks&#x60;. * Specify the parameter multiple times. For example, &#x60;?expandAgent&#x3D;clients&amp;expandAgent&#x3D;tasks&#x60;. This parameter offers flexibility for users to customize the expansion of specific resources related to the agent. | [optional]
**include_deleted** | **bool**| When requesting entities, set to &#x60;true&#x60; if you want to see deleted entities. | [optional]
### Return type
[**EndpointAgent**](EndpointAgent.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** | The agent&#39;s current state. | - |
**401** | Unauthorized | - |
**403** | Insufficient permissions to query endpoint | - |
**404** | Not found | - |
**429** | Exhausted rate limit for the organization | - |
[[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_endpoint_agents**
> ListEndpointAgentsResponse get_endpoint_agents(max=max, cursor=cursor, aid=aid, expand=expand, include_deleted=include_deleted, use_all_permitted_aids=use_all_permitted_aids, agent_name=agent_name, computer_name=computer_name)
List endpoint agents
Retrieves a list of endpoint agents in a given account group. If there are no agents in the specified account group, it returns an empty array.
### Example
* Bearer Authentication (BearerAuth):
```python
import thousandeyes_sdk.endpoint_agents
from thousandeyes_sdk.endpoint_agents.models.expand_endpoint_agent_options import ExpandEndpointAgentOptions
from thousandeyes_sdk.endpoint_agents.models.list_endpoint_agents_response import ListEndpointAgentsResponse
from thousandeyes_sdk.endpoint_agents.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.endpoint_agents.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = thousandeyes_sdk.endpoint_agents.EndpointAgentsApi(api_client)
max = 5 # int | (Optional) Maximum number of objects to return. (optional)
cursor = 'cursor_example' # str | (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. (optional)
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)
expand = [thousandeyes_sdk.endpoint_agents.ExpandEndpointAgentOptions()] # List[ExpandEndpointAgentOptions] | This optional parameter allows you to control the expansion of test resources associated with the agent. By default, no expansion occurs when this query parameter is omitted. To expand the \"clients\" resource, include the query parameter `?expand=clients`. For multiple expansions, you have two options: * Separate the values with commas. For example, `?expandAgent=clients,tasks`. * Specify the parameter multiple times. For example, `?expandAgent=clients&expandAgent=tasks`. This parameter offers flexibility for users to customize the expansion of specific resources related to the agent. (optional)
include_deleted = false # bool | When requesting entities, set to `true` if you want to see deleted entities. (optional)
use_all_permitted_aids = False # bool | Set to `true` to load data from all accounts the user has access to. (optional) (default to False)
agent_name = 'agent_name_example' # str | Returns only agents with the specified name. This is an exact match only. (optional)
computer_name = 'computer_name_example' # str | Returns only agents with the specified computer name. This is an exact match only. (optional)
try:
# List endpoint agents
api_response = api_instance.get_endpoint_agents(max=max, cursor=cursor, aid=aid, expand=expand, include_deleted=include_deleted, use_all_permitted_aids=use_all_permitted_aids, agent_name=agent_name, computer_name=computer_name)
print("The response of EndpointAgentsApi->get_endpoint_agents:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling EndpointAgentsApi->get_endpoint_agents: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**max** | **int**| (Optional) Maximum number of objects to return. | [optional]
**cursor** | **str**| (Optional) Opaque cursor used for pagination. Clients should use &#x60;next&#x60; value from &#x60;_links&#x60; instead of this parameter. | [optional]
**aid** | **str**| A unique identifier associated with your account group. You can retrieve your &#x60;AccountGroupId&#x60; from the &#x60;/account-groups&#x60; 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]
**expand** | [**List[ExpandEndpointAgentOptions]**](ExpandEndpointAgentOptions.md)| This optional parameter allows you to control the expansion of test resources associated with the agent. By default, no expansion occurs when this query parameter is omitted. To expand the \&quot;clients\&quot; resource, include the query parameter &#x60;?expand&#x3D;clients&#x60;. For multiple expansions, you have two options: * Separate the values with commas. For example, &#x60;?expandAgent&#x3D;clients,tasks&#x60;. * Specify the parameter multiple times. For example, &#x60;?expandAgent&#x3D;clients&amp;expandAgent&#x3D;tasks&#x60;. This parameter offers flexibility for users to customize the expansion of specific resources related to the agent. | [optional]
**include_deleted** | **bool**| When requesting entities, set to &#x60;true&#x60; if you want to see deleted entities. | [optional]
**use_all_permitted_aids** | **bool**| Set to &#x60;true&#x60; to load data from all accounts the user has access to. | [optional] [default to False]
**agent_name** | **str**| Returns only agents with the specified name. This is an exact match only. | [optional]
**computer_name** | **str**| Returns only agents with the specified computer name. This is an exact match only. | [optional]
### Return type
[**ListEndpointAgentsResponse**](ListEndpointAgentsResponse.md)
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/hal+json, application/json, application/problem+json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | OK | - |
**401** | Unauthorized | - |
**403** | Insufficient permissions to query endpoint | - |
**429** | Exhausted rate limit for the organization | - |
[[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_endpoint_agents_connection_string**
> ConnectionString get_endpoint_agents_connection_string(aid=aid)
Get agent connection string
### Example
* Bearer Authentication (BearerAuth):
```python
import thousandeyes_sdk.endpoint_agents
from thousandeyes_sdk.endpoint_agents.models.connection_string import ConnectionString
from thousandeyes_sdk.endpoint_agents.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.endpoint_agents.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = thousandeyes_sdk.endpoint_agents.EndpointAgentsApi(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:
# Get agent connection string
api_response = api_instance.get_endpoint_agents_connection_string(aid=aid)
print("The response of EndpointAgentsApi->get_endpoint_agents_connection_string:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling EndpointAgentsApi->get_endpoint_agents_connection_string: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**aid** | **str**| A unique identifier associated with your account group. You can retrieve your &#x60;AccountGroupId&#x60; from the &#x60;/account-groups&#x60; 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
[**ConnectionString**](ConnectionString.md)
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/hal+json, application/json, application/problem+json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | OK | - |
**401** | Unauthorized | - |
**403** | Insufficient permissions to query endpoint | - |
**429** | Exhausted rate limit for the organization | - |
[[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_endpoint_agent**
> EndpointAgent update_endpoint_agent(agent_id, aid=aid, expand=expand, endpoint_agent_update=endpoint_agent_update)
Update endpoint agent
Updates the agent with the specified `agent_id`. This API supports the modification of the following fields: * `name` * `licenseType` Any attempt to update fields other than those listed above, with a value different from their current value, will result in a 400 Bad Request response.
### Example
* Bearer Authentication (BearerAuth):
```python
import thousandeyes_sdk.endpoint_agents
from thousandeyes_sdk.endpoint_agents.models.endpoint_agent import EndpointAgent
from thousandeyes_sdk.endpoint_agents.models.endpoint_agent_update import EndpointAgentUpdate
from thousandeyes_sdk.endpoint_agents.models.expand_endpoint_agent_options import ExpandEndpointAgentOptions
from thousandeyes_sdk.endpoint_agents.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.endpoint_agents.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = thousandeyes_sdk.endpoint_agents.EndpointAgentsApi(api_client)
agent_id = 'agent_id_example' # str | The identifier of the agent to operate on.
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)
expand = [thousandeyes_sdk.endpoint_agents.ExpandEndpointAgentOptions()] # List[ExpandEndpointAgentOptions] | This optional parameter allows you to control the expansion of test resources associated with the agent. By default, no expansion occurs when this query parameter is omitted. To expand the \"clients\" resource, include the query parameter `?expand=clients`. For multiple expansions, you have two options: * Separate the values with commas. For example, `?expandAgent=clients,tasks`. * Specify the parameter multiple times. For example, `?expandAgent=clients&expandAgent=tasks`. This parameter offers flexibility for users to customize the expansion of specific resources related to the agent. (optional)
endpoint_agent_update = thousandeyes_sdk.endpoint_agents.EndpointAgentUpdate() # EndpointAgentUpdate | Fields to modify on the agent (optional)
try:
# Update endpoint agent
api_response = api_instance.update_endpoint_agent(agent_id, aid=aid, expand=expand, endpoint_agent_update=endpoint_agent_update)
print("The response of EndpointAgentsApi->update_endpoint_agent:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling EndpointAgentsApi->update_endpoint_agent: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**agent_id** | **str**| The identifier of the agent to operate on. |
**aid** | **str**| A unique identifier associated with your account group. You can retrieve your &#x60;AccountGroupId&#x60; from the &#x60;/account-groups&#x60; 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]
**expand** | [**List[ExpandEndpointAgentOptions]**](ExpandEndpointAgentOptions.md)| This optional parameter allows you to control the expansion of test resources associated with the agent. By default, no expansion occurs when this query parameter is omitted. To expand the \&quot;clients\&quot; resource, include the query parameter &#x60;?expand&#x3D;clients&#x60;. For multiple expansions, you have two options: * Separate the values with commas. For example, &#x60;?expandAgent&#x3D;clients,tasks&#x60;. * Specify the parameter multiple times. For example, &#x60;?expandAgent&#x3D;clients&amp;expandAgent&#x3D;tasks&#x60;. This parameter offers flexibility for users to customize the expansion of specific resources related to the agent. | [optional]
**endpoint_agent_update** | [**EndpointAgentUpdate**](EndpointAgentUpdate.md)| Fields to modify on the agent | [optional]
### Return type
[**EndpointAgent**](EndpointAgent.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 agent&#39;s current state. | - |
**401** | Unauthorized | - |
**403** | Insufficient permissions to query endpoint | - |
**404** | Not found | - |
**429** | Exhausted rate limit for the organization | - |
[[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,180 @@
# thousandeyes_sdk.endpoint_agents.EndpointAgentsTransferApi
All URIs are relative to *https://api.thousandeyes.com/v7*
Method | HTTP request | Description
------------- | ------------- | -------------
[**transfer_endpoint_agent**](EndpointAgentsTransferApi.md#transfer_endpoint_agent) | **POST** /endpoint/agents/{agentId}/transfer | Transfer endpoint agent
[**transfer_endpoint_agents**](EndpointAgentsTransferApi.md#transfer_endpoint_agents) | **POST** /endpoint/agents/transfer/bulk | Bulk transfer agents
# **transfer_endpoint_agent**
> transfer_endpoint_agent(agent_id, agent_transfer_request, aid=aid)
Transfer endpoint agent
Initiates the transfer of an agent from its current account, which must correspond to the provided aid, to the target account. **Note:** It is essential to ensure that the `aid` parameter matches the current account of the agent for this operation to succeed.
### Example
* Bearer Authentication (BearerAuth):
```python
import thousandeyes_sdk.endpoint_agents
from thousandeyes_sdk.endpoint_agents.models.agent_transfer_request import AgentTransferRequest
from thousandeyes_sdk.endpoint_agents.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.endpoint_agents.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = thousandeyes_sdk.endpoint_agents.EndpointAgentsTransferApi(api_client)
agent_id = 'agent_id_example' # str | The identifier of the agent to operate on.
agent_transfer_request = thousandeyes_sdk.endpoint_agents.AgentTransferRequest() # AgentTransferRequest | The request to move an agent between accounts.
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:
# Transfer endpoint agent
api_instance.transfer_endpoint_agent(agent_id, agent_transfer_request, aid=aid)
except Exception as e:
print("Exception when calling EndpointAgentsTransferApi->transfer_endpoint_agent: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**agent_id** | **str**| The identifier of the agent to operate on. |
**agent_transfer_request** | [**AgentTransferRequest**](AgentTransferRequest.md)| The request to move an agent between accounts. |
**aid** | **str**| A unique identifier associated with your account group. You can retrieve your &#x60;AccountGroupId&#x60; from the &#x60;/account-groups&#x60; 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**: application/json
- **Accept**: application/json, application/problem+json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**202** | Transfer initiated | - |
**401** | Unauthorized | - |
**403** | Insufficient permissions to query endpoint | - |
**404** | Not found | - |
**429** | Exhausted rate limit for the organization | - |
[[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)
# **transfer_endpoint_agents**
> BulkAgentTransferResponse transfer_endpoint_agents(aid=aid, bulk_agent_transfer_request=bulk_agent_transfer_request)
Bulk transfer agents
Initiates the transfer of multiple agents between accounts. The following conditions apply: * The requester must possess 'write' permissions for both the 'from' and 'to' accounts involved in each transfer. * Multiple transfers may involve a mix of different source and destination accounts. * For each transfer request, the 'from' account must match the current account of the respective agent. * Transfers are executed asynchronously. * Progress tracking is not intended, but users can monitor the progress by periodically polling the 'get agent' endpoint. * Each transfer request is individually validated and completed; this operation is not atomic, meaning transfers can succeed or fail individually. * The API response provides the status of each transfer request.
### Example
* Bearer Authentication (BearerAuth):
```python
import thousandeyes_sdk.endpoint_agents
from thousandeyes_sdk.endpoint_agents.models.bulk_agent_transfer_request import BulkAgentTransferRequest
from thousandeyes_sdk.endpoint_agents.models.bulk_agent_transfer_response import BulkAgentTransferResponse
from thousandeyes_sdk.endpoint_agents.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.endpoint_agents.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = thousandeyes_sdk.endpoint_agents.EndpointAgentsTransferApi(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)
bulk_agent_transfer_request = thousandeyes_sdk.endpoint_agents.BulkAgentTransferRequest() # BulkAgentTransferRequest | A collection of `AgentTransfers`. (optional)
try:
# Bulk transfer agents
api_response = api_instance.transfer_endpoint_agents(aid=aid, bulk_agent_transfer_request=bulk_agent_transfer_request)
print("The response of EndpointAgentsTransferApi->transfer_endpoint_agents:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling EndpointAgentsTransferApi->transfer_endpoint_agents: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**aid** | **str**| A unique identifier associated with your account group. You can retrieve your &#x60;AccountGroupId&#x60; from the &#x60;/account-groups&#x60; 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]
**bulk_agent_transfer_request** | [**BulkAgentTransferRequest**](BulkAgentTransferRequest.md)| A collection of &#x60;AgentTransfers&#x60;. | [optional]
### Return type
[**BulkAgentTransferResponse**](BulkAgentTransferResponse.md)
### Authorization
[BearerAuth](../README.md#BearerAuth)
### HTTP request headers
- **Content-Type**: application/json, text/csv, text/plain
- **Accept**: application/hal+json, application/json, application/problem+json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**207** | Transfer initiated | - |
**400** | Bad Request | - |
**401** | Unauthorized | - |
**403** | Insufficient permissions to query endpoint | - |
**404** | Not found | - |
**429** | Exhausted rate limit for the organization | - |
[[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)

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