diff --git a/.github/workflows/python.yaml b/.github/workflows/python.yaml index 9a7cef55..fb7998a5 100644 --- a/.github/workflows/python.yaml +++ b/.github/workflows/python.yaml @@ -3,7 +3,7 @@ name: Python CI on: push: branches: [ "main" ] - pull_request: + pull_request_target: branches: [ "main" ] jobs: @@ -23,7 +23,27 @@ jobs: - name: Install and test modules run: | pip install pytest - for module in $(find . -maxdepth 1 -type d -name "thousandeyes-sdk-*" | cut -c 3-); do + pip install coverage + + # Initialize coverage data file + coverage erase + + for module in $(find . -maxdepth 1 -type d -name "thousandeyes-sdk-*" | cut -c 3-); do pip install -e $module - pytest $module + coverage run --source=$module -m pytest $module + # Move the .coverage file to a unique name + mv .coverage .coverage.$module done + + # Combine all .coverage files + coverage combine .coverage.* + coverage report + coverage xml + + - name: Get Coverage + uses: orgoro/coverage@v3.2 + with: + coverageFile: ./coverage.xml + thresholdAll: 0.4 + thresholdNew: 0.6 + token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 8d20ebed..e531c698 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -7,7 +7,7 @@ on: jobs: set-package-matrix: # This action returns all sub-packages to be published. - # It thens exports the variable to matrix, so that the deployment job is run individually for each sub-package + # It thens exports the variable to `matrix`, so that the deployment job is run individually for each sub-package runs-on: ubuntu-latest outputs: packages: ${{ steps.packages.outputs.packages }} @@ -18,7 +18,6 @@ jobs: FOLDERS_JSON=$(find . -maxdepth 1 -type d -name "thousandeyes-sdk-*" | cut -c 3- | jq -R -s -c 'split("\n")[:-1]') echo "packages=$FOLDERS_JSON" >> "$GITHUB_OUTPUT" deployment: - if: github.event.pull_request.merged == true needs: set-package-matrix strategy: matrix: @@ -31,6 +30,10 @@ jobs: url: https://pypi.org/p/${{ matrix.package-name }} steps: - uses: actions/checkout@v4 + with: + ref: main + python-version: '3.11' + token: ${{ secrets.CHECKOUT_PAT }} - name: Set up Python uses: actions/setup-python@v5 with: diff --git a/README.md b/README.md index 7f0bcffd..114a7960 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,8 @@ Each of the APIs being published includes a README file with instructions on how * [bgp-monitors](/thousandeyes-sdk-bgp-monitors/README.md) * [credentials](/thousandeyes-sdk-credentials/README.md) * [dashboards](/thousandeyes-sdk-dashboards/README.md) +* [emulation](/thousandeyes-sdk-emulation/README.md) +* [event-detection](/thousandeyes-sdk-event-detection/README.md) * [endpoint-agents](/thousandeyes-sdk-endpoint-agents/README.md) * [endpoint-instant-tests](/thousandeyes-sdk-endpoint-instant-tests/README.md) * [endpoint-labels](/thousandeyes-sdk-endpoint-labels/README.md) @@ -22,7 +24,6 @@ Each of the APIs being published includes a README file with instructions on how * [endpoint-tests](/thousandeyes-sdk-endpoint-tests/README.md) * [instant-tests](/thousandeyes-sdk-instant-tests/README.md) * [internet-insights](/thousandeyes-sdk-internet-insights/README.md) -* [labels](/thousandeyes-sdk-labels/README.md) * [snapshots](/thousandeyes-sdk-snapshots/README.md) * [streaming](/thousandeyes-sdk-streaming/README.md) * [tags](/thousandeyes-sdk-tags/README.md) diff --git a/thousandeyes-sdk-administrative/.openapi-generator/FILES b/thousandeyes-sdk-administrative/.openapi-generator/FILES index 4ab66cae..c473353c 100644 --- a/thousandeyes-sdk-administrative/.openapi-generator/FILES +++ b/thousandeyes-sdk-administrative/.openapi-generator/FILES @@ -8,8 +8,8 @@ docs/AccountGroupRequest.md docs/AccountGroupRole.md docs/AccountGroups.md docs/AccountGroupsApi.md -docs/Agent.md docs/AgentBase.md +docs/AgentResponse.md docs/AuditUserEvents.md docs/BaseRole.md docs/CloudEnterpriseAgentType.md @@ -23,7 +23,7 @@ docs/EnterpriseAgentState.md docs/Error.md docs/ErrorDetail.md docs/ErrorDetailCode.md -docs/Expand.md +docs/ExpandAccountGroupOptions.md docs/ExtendedUser.md docs/InterfaceIpMapping.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_role.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_response.py src/thousandeyes_sdk/administrative/models/audit_user_events.py src/thousandeyes_sdk/administrative/models/base_role.py src/thousandeyes_sdk/administrative/models/cloud_enterprise_agent_type.py @@ -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_detail.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/interface_ip_mapping.py src/thousandeyes_sdk/administrative/models/link.py diff --git a/thousandeyes-sdk-administrative/README.md b/thousandeyes-sdk-administrative/README.md index 7ee7f703..dd8422a8 100644 --- a/thousandeyes-sdk-administrative/README.md +++ b/thousandeyes-sdk-administrative/README.md @@ -1,8 +1,8 @@ # thousandeyes-sdk-administrative 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: +This API provides the following 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. + * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. @@ -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: -- API version: 7.0.8 +- API version: 7.0.20 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator @@ -64,10 +64,10 @@ import thousandeyes_sdk.administrative from thousandeyes_sdk.core.exceptions import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -86,7 +86,7 @@ with thousandeyes_sdk.core.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = thousandeyes_sdk.administrative.AccountGroupsApi(api_client) 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: # Create account group @@ -100,27 +100,28 @@ with thousandeyes_sdk.core.ApiClient(configuration) as api_client: ## Documentation for API Endpoints -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- -*AccountGroupsApi* | [**create_account_group**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/AccountGroupsApi.md#create_account_group) | **POST** /v7/account-groups | Create account group -*AccountGroupsApi* | [**delete_account_group**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/AccountGroupsApi.md#delete_account_group) | **DELETE** /v7/account-groups/{id} | Delete account group -*AccountGroupsApi* | [**get_account_group**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/AccountGroupsApi.md#get_account_group) | **GET** /v7/account-groups/{id} | Retrieve account group -*AccountGroupsApi* | [**get_account_groups**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/AccountGroupsApi.md#get_account_groups) | **GET** /v7/account-groups | List account groups -*AccountGroupsApi* | [**update_account_group**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/AccountGroupsApi.md#update_account_group) | **PUT** /v7/account-groups/{id} | Update account group -*PermissionsApi* | [**get_permissions**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/PermissionsApi.md#get_permissions) | **GET** /v7/permissions | List assignable permissions -*RolesApi* | [**create_role**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/RolesApi.md#create_role) | **POST** /v7/roles | Create role -*RolesApi* | [**delete_role**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/RolesApi.md#delete_role) | **DELETE** /v7/roles/{id} | Delete role -*RolesApi* | [**get_role**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/RolesApi.md#get_role) | **GET** /v7/roles/{id} | Retrieve role -*RolesApi* | [**get_roles**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/RolesApi.md#get_roles) | **GET** /v7/roles | List roles -*RolesApi* | [**update_role**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/RolesApi.md#update_role) | **PUT** /v7/roles/{id} | Update role -*UserEventsApi* | [**get_user_events**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/UserEventsApi.md#get_user_events) | **GET** /v7/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** /v7/users | Create user -*UsersApi* | [**delete_user**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/UsersApi.md#delete_user) | **DELETE** /v7/users/{id} | Delete user -*UsersApi* | [**get_user**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/UsersApi.md#get_user) | **GET** /v7/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** /v7/users | List users -*UsersApi* | [**update_user**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/UsersApi.md#update_user) | **PUT** /v7/users/{id} | Update user +*AccountGroupsApi* | [**create_account_group**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/AccountGroupsApi.md#create_account_group) | **POST** /account-groups | Create account group +*AccountGroupsApi* | [**delete_account_group**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/AccountGroupsApi.md#delete_account_group) | **DELETE** /account-groups/{id} | Delete account group +*AccountGroupsApi* | [**get_account_group**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/AccountGroupsApi.md#get_account_group) | **GET** /account-groups/{id} | Retrieve account group +*AccountGroupsApi* | [**get_account_groups**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/AccountGroupsApi.md#get_account_groups) | **GET** /account-groups | List account groups +*AccountGroupsApi* | [**update_account_group**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/AccountGroupsApi.md#update_account_group) | **PUT** /account-groups/{id} | Update account group +*PermissionsApi* | [**get_permissions**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/PermissionsApi.md#get_permissions) | **GET** /permissions | List assignable permissions +*RolesApi* | [**create_role**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/RolesApi.md#create_role) | **POST** /roles | Create role +*RolesApi* | [**delete_role**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/RolesApi.md#delete_role) | **DELETE** /roles/{id} | Delete role +*RolesApi* | [**get_role**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/RolesApi.md#get_role) | **GET** /roles/{id} | Retrieve role +*RolesApi* | [**get_roles**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/RolesApi.md#get_roles) | **GET** /roles | List roles +*RolesApi* | [**update_role**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-administrative/docs/RolesApi.md#update_role) | **PUT** /roles/{id} | Update role +*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* | [**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_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 ## Documentation For Models @@ -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) - [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) - - [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) + - [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) - [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) @@ -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) - [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) - - [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) - [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) diff --git a/thousandeyes-sdk-administrative/docs/AccountGroupDetail.md b/thousandeyes-sdk-administrative/docs/AccountGroupDetail.md index da02182d..970ceaf3 100644 --- a/thousandeyes-sdk-administrative/docs/AccountGroupDetail.md +++ b/thousandeyes-sdk-administrative/docs/AccountGroupDetail.md @@ -13,6 +13,7 @@ Name | Type | Description | Notes **users** | [**List[UserAccountGroup]**](UserAccountGroup.md) | | [optional] **links** | [**SelfLinks**](SelfLinks.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 diff --git a/thousandeyes-sdk-administrative/docs/AccountGroupsApi.md b/thousandeyes-sdk-administrative/docs/AccountGroupsApi.md index 4d70a6dc..0c3f5a72 100644 --- a/thousandeyes-sdk-administrative/docs/AccountGroupsApi.md +++ b/thousandeyes-sdk-administrative/docs/AccountGroupsApi.md @@ -1,14 +1,14 @@ # thousandeyes_sdk.administrative.AccountGroupsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_account_group**](AccountGroupsApi.md#create_account_group) | **POST** /v7/account-groups | Create account group -[**delete_account_group**](AccountGroupsApi.md#delete_account_group) | **DELETE** /v7/account-groups/{id} | Delete account group -[**get_account_group**](AccountGroupsApi.md#get_account_group) | **GET** /v7/account-groups/{id} | Retrieve account group -[**get_account_groups**](AccountGroupsApi.md#get_account_groups) | **GET** /v7/account-groups | List account groups -[**update_account_group**](AccountGroupsApi.md#update_account_group) | **PUT** /v7/account-groups/{id} | Update account group +[**create_account_group**](AccountGroupsApi.md#create_account_group) | **POST** /account-groups | Create account group +[**delete_account_group**](AccountGroupsApi.md#delete_account_group) | **DELETE** /account-groups/{id} | Delete account group +[**get_account_group**](AccountGroupsApi.md#get_account_group) | **GET** /account-groups/{id} | Retrieve account group +[**get_account_groups**](AccountGroupsApi.md#get_account_groups) | **GET** /account-groups | List account groups +[**update_account_group**](AccountGroupsApi.md#update_account_group) | **PUT** /account-groups/{id} | Update account group # **create_account_group** @@ -26,14 +26,14 @@ Creates a new account group. This operation requires the `Edit all account group import thousandeyes_sdk.administrative 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.expand import Expand +from thousandeyes_sdk.administrative.models.expand_account_group_options import ExpandAccountGroupOptions from thousandeyes_sdk.administrative.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -51,7 +51,7 @@ with thousandeyes_sdk.administrative.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = thousandeyes_sdk.administrative.AccountGroupsApi(api_client) 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: # Create account group @@ -70,7 +70,7 @@ with thousandeyes_sdk.administrative.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **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 @@ -115,10 +115,10 @@ import thousandeyes_sdk.administrative from thousandeyes_sdk.administrative.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -194,14 +194,14 @@ Retrieves detailed information about an account group using its ID. This operat ```python import thousandeyes_sdk.administrative 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 pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -219,7 +219,7 @@ with thousandeyes_sdk.administrative.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = thousandeyes_sdk.administrative.AccountGroupsApi(api_client) 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: # Retrieve account group @@ -238,7 +238,7 @@ with thousandeyes_sdk.administrative.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **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 @@ -284,10 +284,10 @@ from thousandeyes_sdk.administrative.models.account_groups import AccountGroups from thousandeyes_sdk.administrative.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -366,14 +366,14 @@ Updates an account group using its ID. You can modify the account group’s name import thousandeyes_sdk.administrative 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.expand import Expand +from thousandeyes_sdk.administrative.models.expand_account_group_options import ExpandAccountGroupOptions from thousandeyes_sdk.administrative.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -392,7 +392,7 @@ with thousandeyes_sdk.administrative.ApiClient(configuration) as api_client: api_instance = thousandeyes_sdk.administrative.AccountGroupsApi(api_client) id = '1234' # str | Identifier for the account group. 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: # Update account group @@ -412,7 +412,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **id** | **str**| Identifier for the account group. | **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 diff --git a/thousandeyes-sdk-tests/docs/Agent.md b/thousandeyes-sdk-administrative/docs/AgentResponse.md similarity index 77% rename from thousandeyes-sdk-tests/docs/Agent.md rename to thousandeyes-sdk-administrative/docs/AgentResponse.md index 606d7c5d..78c5731c 100644 --- a/thousandeyes-sdk-tests/docs/Agent.md +++ b/thousandeyes-sdk-administrative/docs/AgentResponse.md @@ -1,4 +1,4 @@ -# Agent +# AgentResponse ## Properties @@ -20,19 +20,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.tests.models.agent import Agent +from thousandeyes_sdk.administrative.models.agent_response import AgentResponse # TODO update the JSON string below json = "{}" -# create an instance of Agent from a JSON string -agent_instance = Agent.from_json(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(Agent.to_json()) +print(AgentResponse.to_json()) # convert the object into a dict -agent_dict = agent_instance.to_dict() -# create an instance of Agent from a dict -agent_from_dict = Agent.from_dict(agent_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) diff --git a/thousandeyes-sdk-administrative/docs/ExpandAccountGroupOptions.md b/thousandeyes-sdk-administrative/docs/ExpandAccountGroupOptions.md new file mode 100644 index 00000000..47036c84 --- /dev/null +++ b/thousandeyes-sdk-administrative/docs/ExpandAccountGroupOptions.md @@ -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) + + diff --git a/thousandeyes-sdk-administrative/docs/PermissionsApi.md b/thousandeyes-sdk-administrative/docs/PermissionsApi.md index e0e82f3d..7198594c 100644 --- a/thousandeyes-sdk-administrative/docs/PermissionsApi.md +++ b/thousandeyes-sdk-administrative/docs/PermissionsApi.md @@ -1,10 +1,10 @@ # thousandeyes_sdk.administrative.PermissionsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**get_permissions**](PermissionsApi.md#get_permissions) | **GET** /v7/permissions | List assignable permissions +[**get_permissions**](PermissionsApi.md#get_permissions) | **GET** /permissions | List assignable permissions # **get_permissions** @@ -12,7 +12,7 @@ Method | HTTP request | Description List assignable permissions -Users must be in a role assigned management permissions to access this endpoint. Users without management permissions who attempt to access this endpoint receive an HTTP/403 response code. +Users must be in a role assigned management permissions to access this operation. Users without management permissions who attempt to access this operation receive an HTTP/403 response code. ### Example @@ -24,10 +24,10 @@ from thousandeyes_sdk.administrative.models.permissions import Permissions from thousandeyes_sdk.administrative.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters diff --git a/thousandeyes-sdk-administrative/docs/RoleRequestBody.md b/thousandeyes-sdk-administrative/docs/RoleRequestBody.md index 497ced76..747db754 100644 --- a/thousandeyes-sdk-administrative/docs/RoleRequestBody.md +++ b/thousandeyes-sdk-administrative/docs/RoleRequestBody.md @@ -6,7 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **name** | **str** | Name of the role. | [optional] -**permissions** | **List[str]** | Contains list of test permission IDs (get `permissionId` from `/permissions` endpoint) | [optional] +**permissions** | **List[str]** | Contains list of test permission IDs (get `permissionId` from `/permissions` operation) | [optional] ## Example diff --git a/thousandeyes-sdk-administrative/docs/RolesApi.md b/thousandeyes-sdk-administrative/docs/RolesApi.md index bf7ea3d5..2404d55b 100644 --- a/thousandeyes-sdk-administrative/docs/RolesApi.md +++ b/thousandeyes-sdk-administrative/docs/RolesApi.md @@ -1,14 +1,14 @@ # thousandeyes_sdk.administrative.RolesApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_role**](RolesApi.md#create_role) | **POST** /v7/roles | Create role -[**delete_role**](RolesApi.md#delete_role) | **DELETE** /v7/roles/{id} | Delete role -[**get_role**](RolesApi.md#get_role) | **GET** /v7/roles/{id} | Retrieve role -[**get_roles**](RolesApi.md#get_roles) | **GET** /v7/roles | List roles -[**update_role**](RolesApi.md#update_role) | **PUT** /v7/roles/{id} | Update role +[**create_role**](RolesApi.md#create_role) | **POST** /roles | Create role +[**delete_role**](RolesApi.md#delete_role) | **DELETE** /roles/{id} | Delete role +[**get_role**](RolesApi.md#get_role) | **GET** /roles/{id} | Retrieve role +[**get_roles**](RolesApi.md#get_roles) | **GET** /roles | List roles +[**update_role**](RolesApi.md#update_role) | **PUT** /roles/{id} | Update role # **create_role** @@ -29,10 +29,10 @@ from thousandeyes_sdk.administrative.models.role_request_body import RoleRequest from thousandeyes_sdk.administrative.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -103,7 +103,7 @@ Name | Type | Description | Notes Delete role -Deletes a role using its ID. The user needs appropriate permissions to successfully call this endpoint. +Deletes a role using its ID. The user needs appropriate permissions to successfully call this operation. ### Example @@ -114,10 +114,10 @@ import thousandeyes_sdk.administrative from thousandeyes_sdk.administrative.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -198,10 +198,10 @@ from thousandeyes_sdk.administrative.models.role_detail import RoleDetail from thousandeyes_sdk.administrative.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -284,10 +284,10 @@ from thousandeyes_sdk.administrative.models.roles import Roles from thousandeyes_sdk.administrative.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -356,7 +356,7 @@ Name | Type | Description | Notes Update role -Updates a user-defined role using its ID. When updating a role, the following applies: * The full list of permissions must be sent, This endpoint does not support delta-based grant or revoking of permissions. * Permission definitions and details can be obtained from the Permissions endpoint. +Updates a user-defined role using its ID. When updating a role, the following applies: * The full list of permissions must be sent, This operation does not support delta-based grant or revoking of permissions. * Permission definitions and details can be obtained from the Permissions operation. ### Example @@ -369,10 +369,10 @@ from thousandeyes_sdk.administrative.models.role_request_body import RoleRequest from thousandeyes_sdk.administrative.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters diff --git a/thousandeyes-sdk-administrative/docs/UserEventsApi.md b/thousandeyes-sdk-administrative/docs/UserEventsApi.md index 0c726743..4dd9b91c 100644 --- a/thousandeyes-sdk-administrative/docs/UserEventsApi.md +++ b/thousandeyes-sdk-administrative/docs/UserEventsApi.md @@ -1,10 +1,10 @@ # thousandeyes_sdk.administrative.UserEventsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**get_user_events**](UserEventsApi.md#get_user_events) | **GET** /v7/audit-user-events | List activity log events +[**get_user_events**](UserEventsApi.md#get_user_events) | **GET** /audit-user-events | List activity log events # **get_user_events** @@ -24,10 +24,10 @@ from thousandeyes_sdk.administrative.models.audit_user_events import AuditUserEv from thousandeyes_sdk.administrative.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters diff --git a/thousandeyes-sdk-administrative/docs/UsersApi.md b/thousandeyes-sdk-administrative/docs/UsersApi.md index a2cb031f..99c9a4e0 100644 --- a/thousandeyes-sdk-administrative/docs/UsersApi.md +++ b/thousandeyes-sdk-administrative/docs/UsersApi.md @@ -1,14 +1,15 @@ # thousandeyes_sdk.administrative.UsersApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_user**](UsersApi.md#create_user) | **POST** /v7/users | Create user -[**delete_user**](UsersApi.md#delete_user) | **DELETE** /v7/users/{id} | Delete user -[**get_user**](UsersApi.md#get_user) | **GET** /v7/users/{id} | Retrieve user -[**get_users**](UsersApi.md#get_users) | **GET** /v7/users | List users -[**update_user**](UsersApi.md#update_user) | **PUT** /v7/users/{id} | Update user +[**create_user**](UsersApi.md#create_user) | **POST** /users | Create 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_users**](UsersApi.md#get_users) | **GET** /users | List users +[**update_user**](UsersApi.md#update_user) | **PUT** /users/{id} | Update user # **create_user** @@ -29,10 +30,10 @@ from thousandeyes_sdk.administrative.models.user_request import UserRequest from thousandeyes_sdk.administrative.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -103,7 +104,7 @@ Name | Type | Description | Notes Delete user -Deletes a user using the user ID. This endpoint requires the `Edit users in all account groups` or `Edit users` permission. +Deletes a user using the user ID. This operation requires the `Edit users in all account groups` or `Edit users` permission. ### Example @@ -114,10 +115,10 @@ import thousandeyes_sdk.administrative from thousandeyes_sdk.administrative.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -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) +# **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** > UserDetail get_user(id, aid=aid) @@ -198,10 +279,10 @@ 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 +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -284,10 +365,10 @@ from thousandeyes_sdk.administrative.models.users import Users from thousandeyes_sdk.administrative.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -356,7 +437,7 @@ Name | Type | Description | Notes Update user -Updates a user using the user ID. You can update the user name, email address, account group assignments, or roles. This endpoint requires the `Edit users in all account groups` or `Edit users` permission. When updating a user, the following applies: * When updating a user's email address, the user must confirm the username change before they can subsequently log in or perform API operations. * Any update that includes `accountGroupRoles` is a replace-based update and not a delta-based update. +Updates a user using the user ID. You can update the user name, email address, account group assignments, or roles. This operation requires the `Edit users in all account groups` or `Edit users` permission. When updating a user, the following applies: * When updating a user's email address, the user must confirm the username change before they can subsequently log in or perform API operations. * Any update that includes `accountGroupRoles` is a replace-based update and not a delta-based update. ### Example @@ -369,10 +450,10 @@ from thousandeyes_sdk.administrative.models.user_request import UserRequest from thousandeyes_sdk.administrative.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters diff --git a/thousandeyes-sdk-administrative/pyproject.toml b/thousandeyes-sdk-administrative/pyproject.toml index a6fcc095..5bbf4219 100644 --- a/thousandeyes-sdk-administrative/pyproject.toml +++ b/thousandeyes-sdk-administrative/pyproject.toml @@ -9,9 +9,9 @@ description = "ThousandEyes SDK Administrative API" license = { file = "LICENSE" } requires-python = ">= 3.8" dependencies = [ - "urllib3 >= 1.25.3", + "urllib3 >= 2.0.0", "python-dateutil >=2.8.2", - "pydantic >=2", + "pydantic >=2.1.0", "typing-extensions >=4.7.1", "thousandeyes-sdk-core", ] diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/__init__.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/__init__.py index 334d4faf..5d260cb2 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/__init__.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/__init__.py @@ -5,9 +5,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,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_role import AccountGroupRole 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_response import AgentResponse from thousandeyes_sdk.administrative.models.audit_user_events import AuditUserEvents from thousandeyes_sdk.administrative.models.base_role import BaseRole from thousandeyes_sdk.administrative.models.cloud_enterprise_agent_type import CloudEnterpriseAgentType @@ -44,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_detail import ErrorDetail 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.interface_ip_mapping import InterfaceIpMapping from thousandeyes_sdk.administrative.models.link import Link diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/api/account_groups_api.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/api/account_groups_api.py index 923d8a0a..8954e6e3 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/api/account_groups_api.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/api/account_groups_api.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -26,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_groups import AccountGroups 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_response import ApiResponse @@ -51,7 +50,7 @@ class AccountGroupsApi: def create_account_group( self, 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[ None, Annotated[StrictFloat, Field(gt=0)], @@ -72,7 +71,7 @@ class AccountGroupsApi: :param account_group_request: (required) :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. - :type expand: List[Expand] + :type expand: List[ExpandAccountGroupOptions] :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 @@ -129,7 +128,7 @@ class AccountGroupsApi: def create_account_group_with_http_info( self, 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[ None, Annotated[StrictFloat, Field(gt=0)], @@ -150,7 +149,7 @@ class AccountGroupsApi: :param account_group_request: (required) :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. - :type expand: List[Expand] + :type expand: List[ExpandAccountGroupOptions] :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 @@ -207,7 +206,7 @@ class AccountGroupsApi: def create_account_group_without_preload_content( self, 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[ None, Annotated[StrictFloat, Field(gt=0)], @@ -228,7 +227,7 @@ class AccountGroupsApi: :param account_group_request: (required) :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. - :type expand: List[Expand] + :type expand: List[ExpandAccountGroupOptions] :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 @@ -342,7 +341,7 @@ class AccountGroupsApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/account-groups', + resource_path='/account-groups', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -621,7 +620,7 @@ class AccountGroupsApi: return self.api_client.param_serialize( method='DELETE', - resource_path='/v7/account-groups/{id}', + resource_path='/account-groups/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -641,7 +640,7 @@ class AccountGroupsApi: def get_account_group( self, 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[ None, Annotated[StrictFloat, Field(gt=0)], @@ -662,7 +661,7 @@ class AccountGroupsApi: :param id: Identifier for the account group. (required) :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. - :type expand: List[Expand] + :type expand: List[ExpandAccountGroupOptions] :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 @@ -719,7 +718,7 @@ class AccountGroupsApi: def get_account_group_with_http_info( self, 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[ None, Annotated[StrictFloat, Field(gt=0)], @@ -740,7 +739,7 @@ class AccountGroupsApi: :param id: Identifier for the account group. (required) :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. - :type expand: List[Expand] + :type expand: List[ExpandAccountGroupOptions] :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 @@ -797,7 +796,7 @@ class AccountGroupsApi: def get_account_group_without_preload_content( self, 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[ None, Annotated[StrictFloat, Field(gt=0)], @@ -818,7 +817,7 @@ class AccountGroupsApi: :param id: Identifier for the account group. (required) :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. - :type expand: List[Expand] + :type expand: List[ExpandAccountGroupOptions] :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 @@ -919,7 +918,7 @@ class AccountGroupsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/account-groups/{id}', + resource_path='/account-groups/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1201,7 +1200,7 @@ class AccountGroupsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/account-groups', + resource_path='/account-groups', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1222,7 +1221,7 @@ class AccountGroupsApi: self, id: Annotated[StrictStr, Field(description="Identifier for the account group.")], 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[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1245,7 +1244,7 @@ class AccountGroupsApi: :param account_group_request: (required) :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. - :type expand: List[Expand] + :type expand: List[ExpandAccountGroupOptions] :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 @@ -1304,7 +1303,7 @@ class AccountGroupsApi: self, id: Annotated[StrictStr, Field(description="Identifier for the account group.")], 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[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1327,7 +1326,7 @@ class AccountGroupsApi: :param account_group_request: (required) :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. - :type expand: List[Expand] + :type expand: List[ExpandAccountGroupOptions] :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 @@ -1386,7 +1385,7 @@ class AccountGroupsApi: self, id: Annotated[StrictStr, Field(description="Identifier for the account group.")], 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[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1409,7 +1408,7 @@ class AccountGroupsApi: :param account_group_request: (required) :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. - :type expand: List[Expand] + :type expand: List[ExpandAccountGroupOptions] :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 @@ -1527,7 +1526,7 @@ class AccountGroupsApi: return self.api_client.param_serialize( method='PUT', - resource_path='/v7/account-groups/{id}', + resource_path='/account-groups/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/api/permissions_api.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/api/permissions_api.py index 15a69fe0..92d147d1 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/api/permissions_api.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/api/permissions_api.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -62,7 +61,7 @@ class PermissionsApi: ) -> Permissions: """List assignable permissions - Users must be in a role assigned management permissions to access this endpoint. Users without management permissions who attempt to access this endpoint receive an HTTP/403 response code. + Users must be in a role assigned management permissions to access this operation. Users without management permissions who attempt to access this operation receive an HTTP/403 response code. :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 @@ -136,7 +135,7 @@ class PermissionsApi: ) -> ApiResponse[Permissions]: """List assignable permissions - Users must be in a role assigned management permissions to access this endpoint. Users without management permissions who attempt to access this endpoint receive an HTTP/403 response code. + Users must be in a role assigned management permissions to access this operation. Users without management permissions who attempt to access this operation receive an HTTP/403 response code. :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 @@ -210,7 +209,7 @@ class PermissionsApi: ) -> RESTResponseType: """List assignable permissions - Users must be in a role assigned management permissions to access this endpoint. Users without management permissions who attempt to access this endpoint receive an HTTP/403 response code. + Users must be in a role assigned management permissions to access this operation. Users without management permissions who attempt to access this operation receive an HTTP/403 response code. :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 @@ -309,7 +308,7 @@ class PermissionsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/permissions', + resource_path='/permissions', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/api/roles_api.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/api/roles_api.py index c8cddd6c..cdb8f1b4 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/api/roles_api.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/api/roles_api.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -339,7 +338,7 @@ class RolesApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/roles', + resource_path='/roles', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -375,7 +374,7 @@ class RolesApi: ) -> None: """Delete role - Deletes a role using its ID. The user needs appropriate permissions to successfully call this endpoint. + Deletes a role using its ID. The user needs appropriate permissions to successfully call this operation. :param id: The ID of the desired role. (required) :type id: str @@ -453,7 +452,7 @@ class RolesApi: ) -> ApiResponse[None]: """Delete role - Deletes a role using its ID. The user needs appropriate permissions to successfully call this endpoint. + Deletes a role using its ID. The user needs appropriate permissions to successfully call this operation. :param id: The ID of the desired role. (required) :type id: str @@ -531,7 +530,7 @@ class RolesApi: ) -> RESTResponseType: """Delete role - Deletes a role using its ID. The user needs appropriate permissions to successfully call this endpoint. + Deletes a role using its ID. The user needs appropriate permissions to successfully call this operation. :param id: The ID of the desired role. (required) :type id: str @@ -635,7 +634,7 @@ class RolesApi: return self.api_client.param_serialize( method='DELETE', - resource_path='/v7/roles/{id}', + resource_path='/roles/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -932,7 +931,7 @@ class RolesApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/roles/{id}', + resource_path='/roles/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1214,7 +1213,7 @@ class RolesApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/roles', + resource_path='/roles', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1251,7 +1250,7 @@ class RolesApi: ) -> RoleDetail: """Update role - Updates a user-defined role using its ID. When updating a role, the following applies: * The full list of permissions must be sent, This endpoint does not support delta-based grant or revoking of permissions. * Permission definitions and details can be obtained from the Permissions endpoint. + Updates a user-defined role using its ID. When updating a role, the following applies: * The full list of permissions must be sent, This operation does not support delta-based grant or revoking of permissions. * Permission definitions and details can be obtained from the Permissions operation. :param id: The ID of the desired role. (required) :type id: str @@ -1333,7 +1332,7 @@ class RolesApi: ) -> ApiResponse[RoleDetail]: """Update role - Updates a user-defined role using its ID. When updating a role, the following applies: * The full list of permissions must be sent, This endpoint does not support delta-based grant or revoking of permissions. * Permission definitions and details can be obtained from the Permissions endpoint. + Updates a user-defined role using its ID. When updating a role, the following applies: * The full list of permissions must be sent, This operation does not support delta-based grant or revoking of permissions. * Permission definitions and details can be obtained from the Permissions operation. :param id: The ID of the desired role. (required) :type id: str @@ -1415,7 +1414,7 @@ class RolesApi: ) -> RESTResponseType: """Update role - Updates a user-defined role using its ID. When updating a role, the following applies: * The full list of permissions must be sent, This endpoint does not support delta-based grant or revoking of permissions. * Permission definitions and details can be obtained from the Permissions endpoint. + Updates a user-defined role using its ID. When updating a role, the following applies: * The full list of permissions must be sent, This operation does not support delta-based grant or revoking of permissions. * Permission definitions and details can be obtained from the Permissions operation. :param id: The ID of the desired role. (required) :type id: str @@ -1539,7 +1538,7 @@ class RolesApi: return self.api_client.param_serialize( method='PUT', - resource_path='/v7/roles/{id}', + resource_path='/roles/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/api/user_events_api.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/api/user_events_api.py index 88703fb6..ac4ebb5b 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/api/user_events_api.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/api/user_events_api.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -413,7 +412,7 @@ class UserEventsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/audit-user-events', + resource_path='/audit-user-events', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/api/users_api.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/api/users_api.py index 7a5d2d98..f4ae1455 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/api/users_api.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/api/users_api.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -340,7 +339,7 @@ class UsersApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/users', + resource_path='/users', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -376,7 +375,7 @@ class UsersApi: ) -> None: """Delete user - Deletes a user using the user ID. This endpoint requires the `Edit users in all account groups` or `Edit users` permission. + Deletes a user using the user ID. This operation requires the `Edit users in all account groups` or `Edit users` permission. :param id: Identifier for the user. (required) :type id: str @@ -454,7 +453,7 @@ class UsersApi: ) -> ApiResponse[None]: """Delete user - Deletes a user using the user ID. This endpoint requires the `Edit users in all account groups` or `Edit users` permission. + Deletes a user using the user ID. This operation requires the `Edit users in all account groups` or `Edit users` permission. :param id: Identifier for the user. (required) :type id: str @@ -532,7 +531,7 @@ class UsersApi: ) -> RESTResponseType: """Delete user - Deletes a user using the user ID. This endpoint requires the `Edit users in all account groups` or `Edit users` permission. + Deletes a user using the user ID. This operation requires the `Edit users in all account groups` or `Edit users` permission. :param id: Identifier for the user. (required) :type id: str @@ -636,7 +635,272 @@ class UsersApi: return self.api_client.param_serialize( method='DELETE', - resource_path='/v7/users/{id}', + resource_path='/users/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_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, @@ -933,7 +1197,7 @@ class UsersApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/users/{id}', + resource_path='/users/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1215,7 +1479,7 @@ class UsersApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/users', + resource_path='/users', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1252,7 +1516,7 @@ class UsersApi: ) -> UserDetail: """Update user - Updates a user using the user ID. You can update the user name, email address, account group assignments, or roles. This endpoint requires the `Edit users in all account groups` or `Edit users` permission. When updating a user, the following applies: * When updating a user's email address, the user must confirm the username change before they can subsequently log in or perform API operations. * Any update that includes `accountGroupRoles` is a replace-based update and not a delta-based update. + Updates a user using the user ID. You can update the user name, email address, account group assignments, or roles. This operation requires the `Edit users in all account groups` or `Edit users` permission. When updating a user, the following applies: * When updating a user's email address, the user must confirm the username change before they can subsequently log in or perform API operations. * Any update that includes `accountGroupRoles` is a replace-based update and not a delta-based update. :param id: Identifier for the user. (required) :type id: str @@ -1334,7 +1598,7 @@ class UsersApi: ) -> ApiResponse[UserDetail]: """Update user - Updates a user using the user ID. You can update the user name, email address, account group assignments, or roles. This endpoint requires the `Edit users in all account groups` or `Edit users` permission. When updating a user, the following applies: * When updating a user's email address, the user must confirm the username change before they can subsequently log in or perform API operations. * Any update that includes `accountGroupRoles` is a replace-based update and not a delta-based update. + Updates a user using the user ID. You can update the user name, email address, account group assignments, or roles. This operation requires the `Edit users in all account groups` or `Edit users` permission. When updating a user, the following applies: * When updating a user's email address, the user must confirm the username change before they can subsequently log in or perform API operations. * Any update that includes `accountGroupRoles` is a replace-based update and not a delta-based update. :param id: Identifier for the user. (required) :type id: str @@ -1416,7 +1680,7 @@ class UsersApi: ) -> RESTResponseType: """Update user - Updates a user using the user ID. You can update the user name, email address, account group assignments, or roles. This endpoint requires the `Edit users in all account groups` or `Edit users` permission. When updating a user, the following applies: * When updating a user's email address, the user must confirm the username change before they can subsequently log in or perform API operations. * Any update that includes `accountGroupRoles` is a replace-based update and not a delta-based update. + Updates a user using the user ID. You can update the user name, email address, account group assignments, or roles. This operation requires the `Edit users in all account groups` or `Edit users` permission. When updating a user, the following applies: * When updating a user's email address, the user must confirm the username change before they can subsequently log in or perform API operations. * Any update that includes `accountGroupRoles` is a replace-based update and not a delta-based update. :param id: Identifier for the user. (required) :type id: str @@ -1540,7 +1804,7 @@ class UsersApi: return self.api_client.param_serialize( method='PUT', - resource_path='/v7/users/{id}', + resource_path='/users/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/__init__.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/__init__.py index fd5da5ed..98938db0 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/__init__.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/__init__.py @@ -4,9 +4,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,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_role import AccountGroupRole 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_response import AgentResponse from thousandeyes_sdk.administrative.models.audit_user_events import AuditUserEvents from thousandeyes_sdk.administrative.models.base_role import BaseRole from thousandeyes_sdk.administrative.models.cloud_enterprise_agent_type import CloudEnterpriseAgentType @@ -35,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_detail import ErrorDetail 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.interface_ip_mapping import InterfaceIpMapping from thousandeyes_sdk.administrative.models.link import Link diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/account_group.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/account_group.py index b8e70dec..28550fb2 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/account_group.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/account_group.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/account_group_detail.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/account_group_detail.py index e756b3dc..0e2a2001 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/account_group_detail.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/account_group_detail.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -37,7 +36,8 @@ class AccountGroupDetail(BaseModel): users: Optional[List[UserAccountGroup]] = None links: Optional[SelfLinks] = Field(default=None, alias="_links") 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( populate_by_name=True, @@ -115,7 +115,8 @@ class AccountGroupDetail(BaseModel): "organizationName": obj.get("organizationName"), "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, - "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 diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/account_group_info.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/account_group_info.py index 2da1aa97..290fa6f9 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/account_group_info.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/account_group_info.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/account_group_request.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/account_group_request.py index f6fa7bcf..3d2068da 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/account_group_request.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/account_group_request.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/account_group_role.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/account_group_role.py index a12dcbeb..7745de2f 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/account_group_role.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/account_group_role.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/account_groups.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/account_groups.py index bdecfd72..e34f084f 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/account_groups.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/account_groups.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/agent_base.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/agent_base.py index faf8f894..1e757f85 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/agent_base.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/agent_base.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/agent.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/agent_response.py similarity index 84% rename from thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/agent.py rename to thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/agent_response.py index 1f86272f..24fcf154 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/agent.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/agent_response.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -23,9 +22,9 @@ from thousandeyes_sdk.administrative.models.cloud_enterprise_agent_type import C from typing import Optional, Set from typing_extensions import Self -class Agent(BaseModel): +class AgentResponse(BaseModel): """ - Agent + 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") @@ -59,7 +58,7 @@ class Agent(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of Agent from a JSON string""" + """Create an instance of AgentResponse from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -100,7 +99,7 @@ class Agent(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of Agent from a dict""" + """Create an instance of AgentResponse from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/audit_user_events.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/audit_user_events.py index 3b2a9c44..5a15968c 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/audit_user_events.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/audit_user_events.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/base_role.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/base_role.py index beb62440..c876af6b 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/base_role.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/base_role.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/cloud_enterprise_agent_type.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/cloud_enterprise_agent_type.py index 1d81b0f9..82069bc4 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/cloud_enterprise_agent_type.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/cloud_enterprise_agent_type.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class CloudEnterpriseAgentType(str, Enum): CLOUD = 'cloud' ENTERPRISE_MINUS_CLUSTER = 'enterprise-cluster' ENTERPRISE = 'enterprise' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of CloudEnterpriseAgentType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/cluster_member.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/cluster_member.py index 2f69180c..e4f4ae40 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/cluster_member.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/cluster_member.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/created_account_group.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/created_account_group.py index b9583c72..32ce881a 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/created_account_group.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/created_account_group.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/created_user.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/created_user.py index 65785fd8..7c2345c5 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/created_user.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/created_user.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/enterprise_agent.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/enterprise_agent.py index c42fc17d..c263f0ac 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/enterprise_agent.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/enterprise_agent.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/enterprise_agent_data.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/enterprise_agent_data.py index 08d64087..5e6689cc 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/enterprise_agent_data.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/enterprise_agent_data.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/enterprise_agent_ipv6_policy.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/enterprise_agent_ipv6_policy.py index eccbc26e..eb112024 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/enterprise_agent_ipv6_policy.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/enterprise_agent_ipv6_policy.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class EnterpriseAgentIpv6Policy(str, Enum): FORCE_MINUS_IPV4 = 'force-ipv4' PREFER_MINUS_IPV6 = 'prefer-ipv6' FORCE_MINUS_IPV6 = 'force-ipv6' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of EnterpriseAgentIpv6Policy from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/enterprise_agent_state.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/enterprise_agent_state.py index 634c52a9..5decdb0e 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/enterprise_agent_state.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/enterprise_agent_state.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class EnterpriseAgentState(str, Enum): ONLINE = 'online' OFFLINE = 'offline' DISABLED = 'disabled' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of EnterpriseAgentState from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/error.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/error.py index fadc1024..61bf6384 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/error.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/error.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/error_detail.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/error_detail.py index e2b80542..3fc71ea2 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/error_detail.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/error_detail.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/error_detail_code.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/error_detail_code.py index 7f37f6f5..3d455c9b 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/error_detail_code.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/error_detail_code.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -34,10 +33,15 @@ class ErrorDetailCode(str, Enum): OS_MINUS_END_MINUS_OF_MINUS_SUPPORT = 'os-end-of-support' OS_MINUS_END_MINUS_OF_MINUS_LIFE = 'os-end-of-life' NAT_MINUS_TRAVERSAL_MINUS_ERROR = 'nat-traversal-error' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of ErrorDetailCode from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/expand.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/expand.py deleted file mode 100644 index 4c240c11..00000000 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/expand.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding: utf-8 - -""" - Administrative API - - Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following 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). - - The version of the OpenAPI document: 7.0.8 - 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 Expand(str, Enum): - """ - Expand - """ - - """ - allowed enum values - """ - USER = 'user' - AGENT = 'agent' - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Create an instance of Expand from a JSON string""" - return cls(json.loads(json_str)) - - diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/expand_account_group_options.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/expand_account_group_options.py new file mode 100644 index 00000000..5d9730a5 --- /dev/null +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/expand_account_group_options.py @@ -0,0 +1,41 @@ +# coding: utf-8 + +""" + Administrative API + + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class ExpandAccountGroupOptions(str, Enum): + """ + ExpandAccountGroupOptions + """ + + """ + allowed enum values + """ + USER = 'user' + AGENT = 'agent' + UNKNOWN = 'unknown' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ExpandAccountGroupOptions from a JSON string""" + return cls(json.loads(json_str)) + + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN + diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/extended_user.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/extended_user.py index 8ec3f82a..012a297e 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/extended_user.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/extended_user.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/interface_ip_mapping.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/interface_ip_mapping.py index 5d306223..963d9002 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/interface_ip_mapping.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/interface_ip_mapping.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/link.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/link.py index 7881de16..33f65b9d 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/link.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/link.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/pagination_links.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/pagination_links.py index 4e352216..12be58d5 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/pagination_links.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/pagination_links.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/permission.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/permission.py index e3cbde62..77138e3d 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/permission.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/permission.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/permissions.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/permissions.py index 25eef7f7..46e06933 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/permissions.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/permissions.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/resource.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/resource.py index df3cd5ca..612ec554 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/resource.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/resource.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/role.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/role.py index 12990b5b..f355aa41 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/role.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/role.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/role_detail.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/role_detail.py index 2d3080f8..a3726875 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/role_detail.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/role_detail.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/role_request_body.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/role_request_body.py index 38ae2005..3f3ad419 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/role_request_body.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/role_request_body.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -27,7 +26,7 @@ class RoleRequestBody(BaseModel): RoleRequestBody """ # noqa: E501 name: Optional[StrictStr] = Field(default=None, description="Name of the role.") - permissions: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test permission IDs (get `permissionId` from `/permissions` endpoint)") + permissions: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test permission IDs (get `permissionId` from `/permissions` operation)") __properties: ClassVar[List[str]] = ["name", "permissions"] model_config = ConfigDict( diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/roles.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/roles.py index 1b951eaa..b8647ccb 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/roles.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/roles.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/self_links.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/self_links.py index f81fb399..68885500 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/self_links.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/self_links.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/simple_agent.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/simple_agent.py index ebaa605e..25bdf1b3 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/simple_agent.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/simple_agent.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/unauthorized_error.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/unauthorized_error.py index a61c82e3..63faf0f7 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/unauthorized_error.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/unauthorized_error.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/user.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/user.py index bdc26d4c..eda4727b 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/user.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/user.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/user_account_group.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/user_account_group.py index 3f4651da..93c831d8 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/user_account_group.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/user_account_group.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/user_account_group_role.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/user_account_group_role.py index 2b30dad0..241bf903 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/user_account_group_role.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/user_account_group_role.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/user_detail.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/user_detail.py index c2950a6b..c1a56301 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/user_detail.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/user_detail.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/user_event.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/user_event.py index 85d3565d..1c1b950d 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/user_event.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/user_event.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/user_request.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/user_request.py index f40ff095..5a15820e 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/user_request.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/user_request.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/users.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/users.py index d97ce3ac..b09a11f9 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/users.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/users.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/validation_error.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/validation_error.py index ed7ff4e2..df4492d6 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/validation_error.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/validation_error.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/validation_error_item.py b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/validation_error_item.py index b003dfc0..955da5ac 100644 --- a/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/validation_error_item.py +++ b/thousandeyes-sdk-administrative/src/thousandeyes_sdk/administrative/models/validation_error_item.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/test/test_account_groups_api.py b/thousandeyes-sdk-administrative/test/test_account_groups_api.py index d9abde67..8b3a80c0 100644 --- a/thousandeyes-sdk-administrative/test/test_account_groups_api.py +++ b/thousandeyes-sdk-administrative/test/test_account_groups_api.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -126,6 +125,7 @@ class TestAccountGroupsApi(unittest.TestCase): }, "accountGroupName" : "Account A", "isDefaultAccountGroup" : true, + "accountToken" : "6j052y4vfgyuhefghue", "aid" : "1234", "users" : [ { "uid" : "235", @@ -389,6 +389,7 @@ class TestAccountGroupsApi(unittest.TestCase): }, "accountGroupName" : "Account A", "isDefaultAccountGroup" : true, + "accountToken" : "6j052y4vfgyuhefghue", "aid" : "1234", "users" : [ { "uid" : "235", diff --git a/thousandeyes-sdk-administrative/test/test_permissions_api.py b/thousandeyes-sdk-administrative/test/test_permissions_api.py index 2a88c6b3..4bf2f290 100644 --- a/thousandeyes-sdk-administrative/test/test_permissions_api.py +++ b/thousandeyes-sdk-administrative/test/test_permissions_api.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/test/test_roles_api.py b/thousandeyes-sdk-administrative/test/test_roles_api.py index da190180..e81e9d47 100644 --- a/thousandeyes-sdk-administrative/test/test_roles_api.py +++ b/thousandeyes-sdk-administrative/test/test_roles_api.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/test/test_user_events_api.py b/thousandeyes-sdk-administrative/test/test_user_events_api.py index dac278e1..e1d02122 100644 --- a/thousandeyes-sdk-administrative/test/test_user_events_api.py +++ b/thousandeyes-sdk-administrative/test/test_user_events_api.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-administrative/test/test_users_api.py b/thousandeyes-sdk-administrative/test/test_users_api.py index 15afc8e2..62f7885c 100644 --- a/thousandeyes-sdk-administrative/test/test_users_api.py +++ b/thousandeyes-sdk-administrative/test/test_users_api.py @@ -3,9 +3,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). + Manage users, accounts, and account groups in the ThousandEyes platform using the Administrative API. This API provides the following operations to manage your organization: * `/account-groups`: Account groups are used to divide an organization into different sections. These operations can be used to create, retrieve, update and delete account groups. * `/users`: Create, retrieve, update and delete users within an organization. * `/roles`: Create, retrieve and update roles for the current user. * `/permissions`: Retrieve all assignable permissions. Used in the context of modifying roles. * `/audit-user-events`: Retrieve all activity log events. For more information about the administrative models, see [Account Management](https://docs.thousandeyes.com/product-documentation/user-management). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -126,6 +125,82 @@ class TestUsersApi(unittest.TestCase): """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: """Test case for get_user request and response models""" diff --git a/thousandeyes-sdk-agents/.openapi-generator/FILES b/thousandeyes-sdk-agents/.openapi-generator/FILES index a627bfbb..989be4de 100644 --- a/thousandeyes-sdk-agents/.openapi-generator/FILES +++ b/thousandeyes-sdk-agents/.openapi-generator/FILES @@ -2,17 +2,20 @@ MANIFEST.in README.md docs/AccountGroup.md -docs/Agent.md docs/AgentBase.md docs/AgentClusterAssignRequest.md docs/AgentClusterUnassignRequest.md docs/AgentDetails.md docs/AgentDetailsExpand.md docs/AgentIpv6Policy.md +docs/AgentLabel.md docs/AgentListExpand.md +docs/AgentNotification.md docs/AgentProxies.md +docs/AgentProxiesApi.md docs/AgentProxy.md docs/AgentRequest.md +docs/AgentResponse.md docs/AlertEmail.md docs/AlertIntegrationBase.md docs/AlertIntegrationType.md @@ -35,14 +38,11 @@ docs/Error.md docs/ErrorDetail.md docs/ErrorDetailCode.md docs/InterfaceIpMapping.md -docs/Labels.md docs/Link.md docs/ListNotificationRulesResponse.md -docs/Notification.md docs/NotificationRule.md docs/NotificationRuleDetail.md docs/NotificationRules.md -docs/ProxiesApi.md docs/ProxyAuthType.md docs/ProxyType.md docs/SelfLinks.md @@ -60,23 +60,25 @@ pyproject.toml setup.cfg src/thousandeyes_sdk/agents/__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_agents_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/account_group.py -src/thousandeyes_sdk/agents/models/agent.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_unassign_request.py src/thousandeyes_sdk/agents/models/agent_details.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_label.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_proxy.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_integration_base.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_code.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/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_detail.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/py.typed test/__init__.py +test/test_agent_proxies_api.py test/test_cloud_and_enterprise_agent_notification_rules_api.py test/test_cloud_and_enterprise_agents_api.py test/test_enterprise_agent_cluster_api.py -test/test_proxies_api.py test/test_utils.py diff --git a/thousandeyes-sdk-agents/README.md b/thousandeyes-sdk-agents/README.md index e027b903..314f984e 100644 --- a/thousandeyes-sdk-agents/README.md +++ b/thousandeyes-sdk-agents/README.md @@ -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: -- API version: 7.0.8 +- API version: 7.0.20 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator @@ -57,10 +57,10 @@ import thousandeyes_sdk.agents from thousandeyes_sdk.core.exceptions import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -77,51 +77,52 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.core.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.agents.CloudAndEnterpriseAgentNotificationRulesApi(api_client) - notification_rule_id = '281474976710706' # str | Unique ID for the agent notification rule. + 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: - # Retrieve agent notification rule - api_response = api_instance.get_agents_notification_rule(notification_rule_id, aid=aid) - print("The response of CloudAndEnterpriseAgentNotificationRulesApi->get_agents_notification_rule:\n") + # 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 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) ``` ## Documentation for API Endpoints -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- -*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** /v7/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** /v7/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** /v7/agents/{agentId} | Delete Enterprise Agent -*CloudAndEnterpriseAgentsApi* | [**get_agent**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/CloudAndEnterpriseAgentsApi.md#get_agent) | **GET** /v7/agents/{agentId} | Retrieve Cloud and Enterprise Agent -*CloudAndEnterpriseAgentsApi* | [**get_agents**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/CloudAndEnterpriseAgentsApi.md#get_agents) | **GET** /v7/agents | List Cloud and Enterprise Agents -*CloudAndEnterpriseAgentsApi* | [**update_agent**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/CloudAndEnterpriseAgentsApi.md#update_agent) | **PUT** /v7/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** /v7/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** /v7/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** /v7/agents/proxies | List agent proxies +*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_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* | [**get_agent**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/CloudAndEnterpriseAgentsApi.md#get_agent) | **GET** /agents/{agentId} | Retrieve Cloud and Enterprise Agent +*CloudAndEnterpriseAgentsApi* | [**get_agents**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-agents/docs/CloudAndEnterpriseAgentsApi.md#get_agents) | **GET** /agents | List Cloud and Enterprise Agents +*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* | [**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 ## Documentation For Models - [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) - [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) - [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) - [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) + - [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) - [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) + - [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) - [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) @@ -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) - [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) - - [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) - [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) - [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) diff --git a/thousandeyes-sdk-agents/docs/AgentClusterAssignRequest.md b/thousandeyes-sdk-agents/docs/AgentClusterAssignRequest.md index d3e95591..624c4444 100644 --- a/thousandeyes-sdk-agents/docs/AgentClusterAssignRequest.md +++ b/thousandeyes-sdk-agents/docs/AgentClusterAssignRequest.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**agents** | **List[str]** | Contains list of agent IDs (get `agentId` from `/agents` endpoint) | [optional] +**agents** | **List[str]** | Contains list of agent IDs (get `agentId` from `/agents` operation) | [optional] ## Example diff --git a/thousandeyes-sdk-agents/docs/AgentClusterUnassignRequest.md b/thousandeyes-sdk-agents/docs/AgentClusterUnassignRequest.md index 79720b3e..30673f11 100644 --- a/thousandeyes-sdk-agents/docs/AgentClusterUnassignRequest.md +++ b/thousandeyes-sdk-agents/docs/AgentClusterUnassignRequest.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**members** | **List[str]** | Contains list of member IDs. (get `memberId` from `/agents/{agentId}` endpoint) | [optional] +**members** | **List[str]** | Contains list of member IDs. (get `memberId` from `/agents/{agentId}` operation) | [optional] ## Example diff --git a/thousandeyes-sdk-agents/docs/AgentDetails.md b/thousandeyes-sdk-agents/docs/AgentDetails.md index a1b3de91..71bf504e 100644 --- a/thousandeyes-sdk-agents/docs/AgentDetails.md +++ b/thousandeyes-sdk-agents/docs/AgentDetails.md @@ -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] **agent_type** | **str** | Enterprise Cluster agent type. | **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] **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] diff --git a/thousandeyes-sdk-agents/docs/Labels.md b/thousandeyes-sdk-agents/docs/AgentLabel.md similarity index 59% rename from thousandeyes-sdk-agents/docs/Labels.md rename to thousandeyes-sdk-agents/docs/AgentLabel.md index 77b657ff..264c1f25 100644 --- a/thousandeyes-sdk-agents/docs/Labels.md +++ b/thousandeyes-sdk-agents/docs/AgentLabel.md @@ -1,4 +1,4 @@ -# Labels +# AgentLabel ## Properties @@ -11,19 +11,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.agents.models.labels import Labels +from thousandeyes_sdk.agents.models.agent_label import AgentLabel # TODO update the JSON string below json = "{}" -# create an instance of Labels from a JSON string -labels_instance = Labels.from_json(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(Labels.to_json()) +print(AgentLabel.to_json()) # convert the object into a dict -labels_dict = labels_instance.to_dict() -# create an instance of Labels from a dict -labels_from_dict = Labels.from_dict(labels_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) diff --git a/thousandeyes-sdk-agents/docs/Notification.md b/thousandeyes-sdk-agents/docs/AgentNotification.md similarity index 60% rename from thousandeyes-sdk-agents/docs/Notification.md rename to thousandeyes-sdk-agents/docs/AgentNotification.md index 990d9b7a..3aae6da0 100644 --- a/thousandeyes-sdk-agents/docs/Notification.md +++ b/thousandeyes-sdk-agents/docs/AgentNotification.md @@ -1,4 +1,4 @@ -# Notification +# AgentNotification Alert notification object. @@ -13,19 +13,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.agents.models.notification import Notification +from thousandeyes_sdk.agents.models.agent_notification import AgentNotification # TODO update the JSON string below json = "{}" -# create an instance of Notification from a JSON string -notification_instance = Notification.from_json(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(Notification.to_json()) +print(AgentNotification.to_json()) # convert the object into a dict -notification_dict = notification_instance.to_dict() -# create an instance of Notification from a dict -notification_from_dict = Notification.from_dict(notification_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) diff --git a/thousandeyes-sdk-agents/docs/ProxiesApi.md b/thousandeyes-sdk-agents/docs/AgentProxiesApi.md similarity index 85% rename from thousandeyes-sdk-agents/docs/ProxiesApi.md rename to thousandeyes-sdk-agents/docs/AgentProxiesApi.md index 52108b0b..1bebc80f 100644 --- a/thousandeyes-sdk-agents/docs/ProxiesApi.md +++ b/thousandeyes-sdk-agents/docs/AgentProxiesApi.md @@ -1,10 +1,10 @@ -# thousandeyes_sdk.agents.ProxiesApi +# thousandeyes_sdk.agents.AgentProxiesApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**get_agents_proxies**](ProxiesApi.md#get_agents_proxies) | **GET** /v7/agents/proxies | List agent proxies +[**get_agents_proxies**](AgentProxiesApi.md#get_agents_proxies) | **GET** /agents/proxies | List agent proxies # **get_agents_proxies** @@ -24,10 +24,10 @@ 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 +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -43,16 +43,16 @@ configuration = thousandeyes_sdk.core.Configuration( # 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.ProxiesApi(api_client) + 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 ProxiesApi->get_agents_proxies:\n") + print("The response of AgentProxiesApi->get_agents_proxies:\n") pprint(api_response) except Exception as e: - print("Exception when calling ProxiesApi->get_agents_proxies: %s\n" % e) + print("Exception when calling AgentProxiesApi->get_agents_proxies: %s\n" % e) ``` diff --git a/thousandeyes-sdk-agents/docs/Agent.md b/thousandeyes-sdk-agents/docs/AgentResponse.md similarity index 77% rename from thousandeyes-sdk-agents/docs/Agent.md rename to thousandeyes-sdk-agents/docs/AgentResponse.md index bdffba7c..79b6d537 100644 --- a/thousandeyes-sdk-agents/docs/Agent.md +++ b/thousandeyes-sdk-agents/docs/AgentResponse.md @@ -1,4 +1,4 @@ -# Agent +# AgentResponse ## Properties @@ -20,19 +20,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.agents.models.agent import Agent +from thousandeyes_sdk.agents.models.agent_response import AgentResponse # TODO update the JSON string below json = "{}" -# create an instance of Agent from a JSON string -agent_instance = Agent.from_json(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(Agent.to_json()) +print(AgentResponse.to_json()) # convert the object into a dict -agent_dict = agent_instance.to_dict() -# create an instance of Agent from a dict -agent_from_dict = Agent.from_dict(agent_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) diff --git a/thousandeyes-sdk-agents/docs/CloudAgentDetail.md b/thousandeyes-sdk-agents/docs/CloudAgentDetail.md index 3e30c382..8bc2b668 100644 --- a/thousandeyes-sdk-agents/docs/CloudAgentDetail.md +++ b/thousandeyes-sdk-agents/docs/CloudAgentDetail.md @@ -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] **agent_type** | **str** | Cloud agent type. | **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] ## Example diff --git a/thousandeyes-sdk-agents/docs/CloudAndEnterpriseAgentNotificationRulesApi.md b/thousandeyes-sdk-agents/docs/CloudAndEnterpriseAgentNotificationRulesApi.md index e3141aa5..32b41349 100644 --- a/thousandeyes-sdk-agents/docs/CloudAndEnterpriseAgentNotificationRulesApi.md +++ b/thousandeyes-sdk-agents/docs/CloudAndEnterpriseAgentNotificationRulesApi.md @@ -1,11 +1,11 @@ # thousandeyes_sdk.agents.CloudAndEnterpriseAgentNotificationRulesApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**get_agents_notification_rule**](CloudAndEnterpriseAgentNotificationRulesApi.md#get_agents_notification_rule) | **GET** /v7/agents/notification-rules/{notificationRuleId} | Retrieve agent notification rule -[**get_agents_notification_rules**](CloudAndEnterpriseAgentNotificationRulesApi.md#get_agents_notification_rules) | **GET** /v7/agents/notification-rules | List agent notification rules +[**get_agents_notification_rule**](CloudAndEnterpriseAgentNotificationRulesApi.md#get_agents_notification_rule) | **GET** /agents/notification-rules/{notificationRuleId} | Retrieve agent notification rule +[**get_agents_notification_rules**](CloudAndEnterpriseAgentNotificationRulesApi.md#get_agents_notification_rules) | **GET** /agents/notification-rules | List agent notification rules # **get_agents_notification_rule** @@ -25,10 +25,10 @@ from thousandeyes_sdk.agents.models.notification_rule_detail import Notification from thousandeyes_sdk.agents.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -112,10 +112,10 @@ from thousandeyes_sdk.agents.models.list_notification_rules_response import List from thousandeyes_sdk.agents.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters diff --git a/thousandeyes-sdk-agents/docs/CloudAndEnterpriseAgentsApi.md b/thousandeyes-sdk-agents/docs/CloudAndEnterpriseAgentsApi.md index 48e523d5..482f4009 100644 --- a/thousandeyes-sdk-agents/docs/CloudAndEnterpriseAgentsApi.md +++ b/thousandeyes-sdk-agents/docs/CloudAndEnterpriseAgentsApi.md @@ -1,13 +1,13 @@ # thousandeyes_sdk.agents.CloudAndEnterpriseAgentsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**delete_agent**](CloudAndEnterpriseAgentsApi.md#delete_agent) | **DELETE** /v7/agents/{agentId} | Delete Enterprise Agent -[**get_agent**](CloudAndEnterpriseAgentsApi.md#get_agent) | **GET** /v7/agents/{agentId} | Retrieve Cloud and Enterprise Agent -[**get_agents**](CloudAndEnterpriseAgentsApi.md#get_agents) | **GET** /v7/agents | List Cloud and Enterprise Agents -[**update_agent**](CloudAndEnterpriseAgentsApi.md#update_agent) | **PUT** /v7/agents/{agentId} | Update Enterprise Agent +[**delete_agent**](CloudAndEnterpriseAgentsApi.md#delete_agent) | **DELETE** /agents/{agentId} | Delete Enterprise Agent +[**get_agent**](CloudAndEnterpriseAgentsApi.md#get_agent) | **GET** /agents/{agentId} | Retrieve Cloud and Enterprise Agent +[**get_agents**](CloudAndEnterpriseAgentsApi.md#get_agents) | **GET** /agents | List Cloud and Enterprise Agents +[**update_agent**](CloudAndEnterpriseAgentsApi.md#update_agent) | **PUT** /agents/{agentId} | Update Enterprise Agent # **delete_agent** @@ -26,10 +26,10 @@ import thousandeyes_sdk.agents from thousandeyes_sdk.agents.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -99,7 +99,7 @@ void (empty response body) Retrieve Cloud and Enterprise Agent -Returns details for an agent, including assigned tests. For Enterprise Agents, this endpoint returns additional details, including utilization data, assigned accounts, a list of account groups the agent is assigned to, and utilization details. +Returns details for an agent, including assigned tests. For Enterprise Agents, this operation returns additional details, including utilization data, assigned accounts, a list of account groups the agent is assigned to, and utilization details. ### Example @@ -112,10 +112,10 @@ from thousandeyes_sdk.agents.models.agent_details_expand import AgentDetailsExpa from thousandeyes_sdk.agents.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -189,7 +189,7 @@ Name | Type | Description | Notes List Cloud and Enterprise Agents -Returns a list of all agents available to your ThousandEyes account, including both Enterprise and Cloud Agents. If an agent is an Enterprise Agent, this endpoint returns the agent’s public and private IP addresses, as well as the public network where the agent is located. +Returns a list of all agents available to your ThousandEyes account, including both Enterprise and Cloud Agents. If an agent is an Enterprise Agent, this operation returns the agent’s public and private IP addresses, as well as the public network where the agent is located. ### Example @@ -203,10 +203,10 @@ from thousandeyes_sdk.agents.models.cloud_enterprise_agents import CloudEnterpri from thousandeyes_sdk.agents.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -280,7 +280,7 @@ Name | Type | Description | Notes Update Enterprise Agent -Updates details for an Enterprise Agent. This endpoint can only be used for Enterprise Agents, and only for users in a role that permits modification of Enterprise Agents. Important notes related to agent modification on tests: * if an agent is removed from a test, the modification date for tests using that agent at the time it was removed will be changed. * If an agent is removed from an entire account group, then all tests using this agent in the removed account group will be updated to reflect the removed agent. * If a removed agent is the final remaining agent on a test, then the test will be disabled when the agent is removed. Users can update the following fields: * `agentName`: String representation of an agent. No two agents can have the same display name. * `enabled`: Boolean representation of agent state. * `accountGroups`: An array of account group ids. See `v7/account-groups` to pull a list of account IDs. * `tests`: An array of test Is. See `v7/tests` to retrieve a list tests available in the current account context. * `ipv6Policy`: Enum representation of the IP version policy. * `keepBrowserCache`: Boolean representation of the Keep browser cache state. * `targetForTests`: String representation of the target IP address or domain name. This represents the test destination when agent is acting as a test target in an agent-to-agent test. * `localResolutionPrefixes`: This array of strings represents the public IP ranges where the Enterprise Agent performs rDNS (Reverse DNS) lookups. The range should be in CIDR notation, such as `10.1.1.0/24`. Please note that a maximum of 5 prefixes is allowed. This only applies to Enterprise Agents and Enterprise Agent clusters. +Updates details for an Enterprise Agent. This operation can only be used for Enterprise Agents, and only for users in a role that permits modification of Enterprise Agents. Important notes related to agent modification on tests: * if an agent is removed from a test, the modification date for tests using that agent at the time it was removed will be changed. * If an agent is removed from an entire account group, then all tests using this agent in the removed account group will be updated to reflect the removed agent. * If a removed agent is the final remaining agent on a test, then the test will be disabled when the agent is removed. Users can update the following fields: * `agentName`: String representation of an agent. No two agents can have the same display name. * `enabled`: Boolean representation of agent state. * `accountGroups`: An array of account group ids. See `v7/account-groups` to pull a list of account IDs. * `tests`: An array of test Is. See `v7/tests` to retrieve a list tests available in the current account context. * `ipv6Policy`: Enum representation of the IP version policy. * `keepBrowserCache`: Boolean representation of the Keep browser cache state. * `targetForTests`: String representation of the target IP address or domain name. This represents the test destination when agent is acting as a test target in an agent-to-agent test. * `localResolutionPrefixes`: This array of strings represents the public IP ranges where the Enterprise Agent performs rDNS (Reverse DNS) lookups. The range should be in CIDR notation, such as `10.1.1.0/24`. Please note that a maximum of 5 prefixes is allowed. This only applies to Enterprise Agents and Enterprise Agent clusters. ### Example @@ -294,10 +294,10 @@ from thousandeyes_sdk.agents.models.agent_request import AgentRequest from thousandeyes_sdk.agents.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters diff --git a/thousandeyes-sdk-agents/docs/EnterpriseAgentClusterApi.md b/thousandeyes-sdk-agents/docs/EnterpriseAgentClusterApi.md index dc73e89f..499605ad 100644 --- a/thousandeyes-sdk-agents/docs/EnterpriseAgentClusterApi.md +++ b/thousandeyes-sdk-agents/docs/EnterpriseAgentClusterApi.md @@ -1,11 +1,11 @@ # thousandeyes_sdk.agents.EnterpriseAgentClusterApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**assign_agent_to_cluster**](EnterpriseAgentClusterApi.md#assign_agent_to_cluster) | **POST** /v7/agents/{agentId}/cluster/assign | Add member to Enterprise Agent cluster -[**unassign_agent_from_cluster**](EnterpriseAgentClusterApi.md#unassign_agent_from_cluster) | **POST** /v7/agents/{agentId}/cluster/unassign | Remove member from Enterprise Agent cluster +[**assign_agent_to_cluster**](EnterpriseAgentClusterApi.md#assign_agent_to_cluster) | **POST** /agents/{agentId}/cluster/assign | Add member to Enterprise Agent cluster +[**unassign_agent_from_cluster**](EnterpriseAgentClusterApi.md#unassign_agent_from_cluster) | **POST** /agents/{agentId}/cluster/unassign | Remove member from Enterprise Agent cluster # **assign_agent_to_cluster** @@ -13,7 +13,7 @@ Method | HTTP request | Description Add member to Enterprise Agent cluster -Adding a member to an Enterprise Agent cluster converts a standalone Enterprise Agent to an Enterprise Agent cluster. If the agent represented by the path {agentId} is not already a cluster, it will be converted to a cluster. The response will be a single Enterprise Agent Cluster. The converted Enterprise Agents will become cluster members, and can be returned using the `?expand=cluster-member` parameter. This endpoint requires users to have the `Edit agents in account group` permission. Upon successful cluster creation, the response includes: * Information about the new cluster in the response body. * Each cluster member receives a unique `memberId` within the cluster. * The `memberId` value is not linked to the original `agentId` used in the request URL or POST body. * The cluster name is based on the agent whose `agentId` is present in the request URL. **Example - converting a single agent** ``` curl -X POST https://api.thousandeyes.com/v7/agents/64965/cluster/assign -H \"Authorization: Bearer $Bearer_token\" ```` **Example - converting multiple agents** ``` curl https://api.thousandeyes.com/v7/agents/64965/cluster/assign \\ '{\"agents\":[ \"2277\", \"1234\" ]}' \\ -H \"content-type:application/json\" \\ -H \"Authorization: Bearer $Bearer_token\" ```` +Adding a member to an Enterprise Agent cluster converts a standalone Enterprise Agent to an Enterprise Agent cluster. If the agent represented by the path {agentId} is not already a cluster, it will be converted to a cluster. The response will be a single Enterprise Agent Cluster. The converted Enterprise Agents will become cluster members, and can be returned using the `?expand=cluster-member` parameter. This operation requires users to have the `Edit agents in account group` permission. Upon successful cluster creation, the response includes: * Information about the new cluster in the response body. * Each cluster member receives a unique `memberId` within the cluster. * The `memberId` value is not linked to the original `agentId` used in the request URL or POST body. * The cluster name is based on the agent whose `agentId` is present in the request URL. **Example - converting a single agent** ``` curl -X POST https://api.thousandeyes.com/v7/agents/64965/cluster/assign -H \"Authorization: Bearer $Bearer_token\" ```` **Example - converting multiple agents** ``` curl https://api.thousandeyes.com/v7/agents/64965/cluster/assign \\ '{\"agents\":[ \"2277\", \"1234\" ]}' \\ -H \"content-type:application/json\" \\ -H \"Authorization: Bearer $Bearer_token\" ```` ### Example @@ -27,10 +27,10 @@ from thousandeyes_sdk.agents.models.agent_details_expand import AgentDetailsExpa from thousandeyes_sdk.agents.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -107,7 +107,7 @@ Name | Type | Description | Notes Remove member from Enterprise Agent cluster -Converts a cluster with a single or multiple Enterprise Agent members back to a standalone Enterprise Agent(s). This endpoint can also be used to remove one or more members from an Enterprise Agent cluster. Removed members revert to being standalone Enterprise Agents. If all members are removed from the cluster, the Enterprise Agent Cluster is deleted. The response is an list of agents, containing both the Enterprise Agent Cluster (if it still exists), and the removed members, now as standalone Enterprise Agents. This endpoint is exclusive to Enterprise Agent clusters and can be accessed only by users with the `Edit agents in account group` permission. On successful completion, the response contains the following information: * The updated cluster information is provided in the response body, unless all members are removed from the cluster. * Information about each removed member, now a standalone agent. * When a non-last member is removed from the cluster, it receives a new `agentId` value. This new `agentId` is different from the `agentId` the agent had before joining the cluster, and it is also unrelated to the `memberId` value the agent had while being a part of the cluster. * If all members are removed from the cluster, the cluster itself is converted back to a standalone Enterprise Agent too. Such standalone agent inherits the old cluster’s `agentId` value. The last `memberId` listed in the POST body inherits the cluster’s `agentId` value. **Example - removing a single member** ``` curl -X POST https://api.thousandeyes.com/v7/agents/64965/cluster/unassign \\ '{\"members\":[\"55974\"]}' \\ -H \"content-type:application/json\" \\ -H \"Authorization: Bearer $Bearer_token\" ``` **Example - removing multiple members** ``` curl https://api.thousandeyes.com/v7/agents/64965/cluster/unassign \\ '{\"members\":[ \"55974\", \"12313\"] }' \\ -H \"content-type:application/json\" \\ -H \"Authorization: Bearer $Bearer_token\" ``` +Converts a cluster with a single or multiple Enterprise Agent members back to a standalone Enterprise Agent(s). This operation can also be used to remove one or more members from an Enterprise Agent cluster. Removed members revert to being standalone Enterprise Agents. If all members are removed from the cluster, the Enterprise Agent Cluster is deleted. The response is an list of agents, containing both the Enterprise Agent Cluster (if it still exists), and the removed members, now as standalone Enterprise Agents. This operation is exclusive to Enterprise Agent clusters and can be accessed only by users with the `Edit agents in account group` permission. On successful completion, the response contains the following information: * The updated cluster information is provided in the response body, unless all members are removed from the cluster. * Information about each removed member, now a standalone agent. * When a non-last member is removed from the cluster, it receives a new `agentId` value. This new `agentId` is different from the `agentId` the agent had before joining the cluster, and it is also unrelated to the `memberId` value the agent had while being a part of the cluster. * If all members are removed from the cluster, the cluster itself is converted back to a standalone Enterprise Agent too. Such standalone agent inherits the old cluster’s `agentId` value. The last `memberId` listed in the POST body inherits the cluster’s `agentId` value. **Example - removing a single member** ``` curl -X POST https://api.thousandeyes.com/v7/agents/64965/cluster/unassign \\ '{\"members\":[\"55974\"]}' \\ -H \"content-type:application/json\" \\ -H \"Authorization: Bearer $Bearer_token\" ``` **Example - removing multiple members** ``` curl https://api.thousandeyes.com/v7/agents/64965/cluster/unassign \\ '{\"members\":[ \"55974\", \"12313\"] }' \\ -H \"content-type:application/json\" \\ -H \"Authorization: Bearer $Bearer_token\" ``` ### Example @@ -121,10 +121,10 @@ from thousandeyes_sdk.agents.models.cloud_enterprise_agents import CloudEnterpri from thousandeyes_sdk.agents.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters diff --git a/thousandeyes-sdk-agents/docs/EnterpriseAgentClusterDetail.md b/thousandeyes-sdk-agents/docs/EnterpriseAgentClusterDetail.md index 06246287..cc080fb0 100644 --- a/thousandeyes-sdk-agents/docs/EnterpriseAgentClusterDetail.md +++ b/thousandeyes-sdk-agents/docs/EnterpriseAgentClusterDetail.md @@ -30,7 +30,7 @@ Name | Type | Description | Notes **interface_ip_mappings** | [**List[InterfaceIpMapping]**](InterfaceIpMapping.md) | | [optional] [readonly] **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] -**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. | **links** | [**SelfLinks**](SelfLinks.md) | | [optional] diff --git a/thousandeyes-sdk-agents/docs/EnterpriseAgentDetail.md b/thousandeyes-sdk-agents/docs/EnterpriseAgentDetail.md index 16c52e73..2b5c40a4 100644 --- a/thousandeyes-sdk-agents/docs/EnterpriseAgentDetail.md +++ b/thousandeyes-sdk-agents/docs/EnterpriseAgentDetail.md @@ -30,7 +30,7 @@ Name | Type | Description | Notes **interface_ip_mappings** | [**List[InterfaceIpMapping]**](InterfaceIpMapping.md) | | [optional] [readonly] **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] -**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. | **links** | [**SelfLinks**](SelfLinks.md) | | [optional] diff --git a/thousandeyes-sdk-agents/docs/EnterpriseAgentResponseExpands.md b/thousandeyes-sdk-agents/docs/EnterpriseAgentResponseExpands.md index 8f9807af..9467582f 100644 --- a/thousandeyes-sdk-agents/docs/EnterpriseAgentResponseExpands.md +++ b/thousandeyes-sdk-agents/docs/EnterpriseAgentResponseExpands.md @@ -7,7 +7,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **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] -**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 diff --git a/thousandeyes-sdk-agents/docs/NotificationRuleDetail.md b/thousandeyes-sdk-agents/docs/NotificationRuleDetail.md index f99d7aa7..9fd94e47 100644 --- a/thousandeyes-sdk-agents/docs/NotificationRuleDetail.md +++ b/thousandeyes-sdk-agents/docs/NotificationRuleDetail.md @@ -10,8 +10,8 @@ Name | Type | Description | Notes **expression** | **str** | Expression of agent notification rule | [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] -**notifications** | [**Notification**](Notification.md) | | [optional] -**agents** | [**List[Agent]**](Agent.md) | | [optional] +**notifications** | [**AgentNotification**](AgentNotification.md) | | [optional] +**agents** | [**List[AgentResponse]**](AgentResponse.md) | | [optional] **links** | [**SelfLinks**](SelfLinks.md) | | [optional] ## Example diff --git a/thousandeyes-sdk-agents/pyproject.toml b/thousandeyes-sdk-agents/pyproject.toml index 503865c1..74f2714d 100644 --- a/thousandeyes-sdk-agents/pyproject.toml +++ b/thousandeyes-sdk-agents/pyproject.toml @@ -9,9 +9,9 @@ description = "ThousandEyes SDK Agents API" license = { file = "LICENSE" } requires-python = ">= 3.8" dependencies = [ - "urllib3 >= 1.25.3", + "urllib3 >= 2.0.0", "python-dateutil >=2.8.2", - "pydantic >=2", + "pydantic >=2.1.0", "typing-extensions >=4.7.1", "thousandeyes-sdk-core", ] diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/__init__.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/__init__.py index 7b831d4d..63c64bc6 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/__init__.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/__init__.py @@ -7,7 +7,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -15,25 +14,27 @@ # 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_agents_api import CloudAndEnterpriseAgentsApi 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 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_cluster_assign_request import AgentClusterAssignRequest 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_expand import AgentDetailsExpand 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_notification import AgentNotification from thousandeyes_sdk.agents.models.agent_proxies import AgentProxies from thousandeyes_sdk.agents.models.agent_proxy import AgentProxy 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_integration_base import AlertIntegrationBase from thousandeyes_sdk.agents.models.alert_integration_type import AlertIntegrationType @@ -53,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_code import ErrorDetailCode 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.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_detail import NotificationRuleDetail from thousandeyes_sdk.agents.models.notification_rules import NotificationRules diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/api/__init__.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/api/__init__.py index 498b08f3..84b34086 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/api/__init__.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/api/__init__.py @@ -1,8 +1,8 @@ # flake8: noqa # 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_agents_api import CloudAndEnterpriseAgentsApi from thousandeyes_sdk.agents.api.enterprise_agent_cluster_api import EnterpriseAgentClusterApi -from thousandeyes_sdk.agents.api.proxies_api import ProxiesApi diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/api/proxies_api.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/api/agent_proxies_api.py similarity index 99% rename from thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/api/proxies_api.py rename to thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/api/agent_proxies_api.py index 35cd95a9..5fb11166 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/api/proxies_api.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/api/agent_proxies_api.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,7 +28,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class ProxiesApi: +class AgentProxiesApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -309,7 +308,7 @@ class ProxiesApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/agents/proxies', + resource_path='/agents/proxies', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/api/cloud_and_enterprise_agent_notification_rules_api.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/api/cloud_and_enterprise_agent_notification_rules_api.py index baf0ca33..270137d1 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/api/cloud_and_enterprise_agent_notification_rules_api.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/api/cloud_and_enterprise_agent_notification_rules_api.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -325,7 +324,7 @@ class CloudAndEnterpriseAgentNotificationRulesApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/agents/notification-rules/{notificationRuleId}', + resource_path='/agents/notification-rules/{notificationRuleId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -607,7 +606,7 @@ class CloudAndEnterpriseAgentNotificationRulesApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/agents/notification-rules', + resource_path='/agents/notification-rules', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/api/cloud_and_enterprise_agents_api.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/api/cloud_and_enterprise_agents_api.py index 71260218..b40253d7 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/api/cloud_and_enterprise_agents_api.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/api/cloud_and_enterprise_agents_api.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -328,7 +327,7 @@ class CloudAndEnterpriseAgentsApi: return self.api_client.param_serialize( method='DELETE', - resource_path='/v7/agents/{agentId}', + resource_path='/agents/{agentId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -365,7 +364,7 @@ class CloudAndEnterpriseAgentsApi: ) -> AgentDetails: """Retrieve Cloud and Enterprise Agent - Returns details for an agent, including assigned tests. For Enterprise Agents, this endpoint returns additional details, including utilization data, assigned accounts, a list of account groups the agent is assigned to, and utilization details. + Returns details for an agent, including assigned tests. For Enterprise Agents, this operation returns additional details, including utilization data, assigned accounts, a list of account groups the agent is assigned to, and utilization details. :param agent_id: Unique ID for the agent. (required) :type agent_id: str @@ -447,7 +446,7 @@ class CloudAndEnterpriseAgentsApi: ) -> ApiResponse[AgentDetails]: """Retrieve Cloud and Enterprise Agent - Returns details for an agent, including assigned tests. For Enterprise Agents, this endpoint returns additional details, including utilization data, assigned accounts, a list of account groups the agent is assigned to, and utilization details. + Returns details for an agent, including assigned tests. For Enterprise Agents, this operation returns additional details, including utilization data, assigned accounts, a list of account groups the agent is assigned to, and utilization details. :param agent_id: Unique ID for the agent. (required) :type agent_id: str @@ -529,7 +528,7 @@ class CloudAndEnterpriseAgentsApi: ) -> RESTResponseType: """Retrieve Cloud and Enterprise Agent - Returns details for an agent, including assigned tests. For Enterprise Agents, this endpoint returns additional details, including utilization data, assigned accounts, a list of account groups the agent is assigned to, and utilization details. + Returns details for an agent, including assigned tests. For Enterprise Agents, this operation returns additional details, including utilization data, assigned accounts, a list of account groups the agent is assigned to, and utilization details. :param agent_id: Unique ID for the agent. (required) :type agent_id: str @@ -643,7 +642,7 @@ class CloudAndEnterpriseAgentsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/agents/{agentId}', + resource_path='/agents/{agentId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -680,7 +679,7 @@ class CloudAndEnterpriseAgentsApi: ) -> CloudEnterpriseAgents: """List Cloud and Enterprise Agents - Returns a list of all agents available to your ThousandEyes account, including both Enterprise and Cloud Agents. If an agent is an Enterprise Agent, this endpoint returns the agent’s public and private IP addresses, as well as the public network where the agent is located. + Returns a list of all agents available to your ThousandEyes account, including both Enterprise and Cloud Agents. If an agent is an Enterprise Agent, this operation returns the agent’s public and private IP addresses, as well as the public network where the agent is located. :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 @@ -762,7 +761,7 @@ class CloudAndEnterpriseAgentsApi: ) -> ApiResponse[CloudEnterpriseAgents]: """List Cloud and Enterprise Agents - Returns a list of all agents available to your ThousandEyes account, including both Enterprise and Cloud Agents. If an agent is an Enterprise Agent, this endpoint returns the agent’s public and private IP addresses, as well as the public network where the agent is located. + Returns a list of all agents available to your ThousandEyes account, including both Enterprise and Cloud Agents. If an agent is an Enterprise Agent, this operation returns the agent’s public and private IP addresses, as well as the public network where the agent is located. :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 @@ -844,7 +843,7 @@ class CloudAndEnterpriseAgentsApi: ) -> RESTResponseType: """List Cloud and Enterprise Agents - Returns a list of all agents available to your ThousandEyes account, including both Enterprise and Cloud Agents. If an agent is an Enterprise Agent, this endpoint returns the agent’s public and private IP addresses, as well as the public network where the agent is located. + Returns a list of all agents available to your ThousandEyes account, including both Enterprise and Cloud Agents. If an agent is an Enterprise Agent, this operation returns the agent’s public and private IP addresses, as well as the public network where the agent is located. :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 @@ -961,7 +960,7 @@ class CloudAndEnterpriseAgentsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/agents', + resource_path='/agents', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -999,7 +998,7 @@ class CloudAndEnterpriseAgentsApi: ) -> AgentDetails: """Update Enterprise Agent - Updates details for an Enterprise Agent. This endpoint can only be used for Enterprise Agents, and only for users in a role that permits modification of Enterprise Agents. Important notes related to agent modification on tests: * if an agent is removed from a test, the modification date for tests using that agent at the time it was removed will be changed. * If an agent is removed from an entire account group, then all tests using this agent in the removed account group will be updated to reflect the removed agent. * If a removed agent is the final remaining agent on a test, then the test will be disabled when the agent is removed. Users can update the following fields: * `agentName`: String representation of an agent. No two agents can have the same display name. * `enabled`: Boolean representation of agent state. * `accountGroups`: An array of account group ids. See `v7/account-groups` to pull a list of account IDs. * `tests`: An array of test Is. See `v7/tests` to retrieve a list tests available in the current account context. * `ipv6Policy`: Enum representation of the IP version policy. * `keepBrowserCache`: Boolean representation of the Keep browser cache state. * `targetForTests`: String representation of the target IP address or domain name. This represents the test destination when agent is acting as a test target in an agent-to-agent test. * `localResolutionPrefixes`: This array of strings represents the public IP ranges where the Enterprise Agent performs rDNS (Reverse DNS) lookups. The range should be in CIDR notation, such as `10.1.1.0/24`. Please note that a maximum of 5 prefixes is allowed. This only applies to Enterprise Agents and Enterprise Agent clusters. + Updates details for an Enterprise Agent. This operation can only be used for Enterprise Agents, and only for users in a role that permits modification of Enterprise Agents. Important notes related to agent modification on tests: * if an agent is removed from a test, the modification date for tests using that agent at the time it was removed will be changed. * If an agent is removed from an entire account group, then all tests using this agent in the removed account group will be updated to reflect the removed agent. * If a removed agent is the final remaining agent on a test, then the test will be disabled when the agent is removed. Users can update the following fields: * `agentName`: String representation of an agent. No two agents can have the same display name. * `enabled`: Boolean representation of agent state. * `accountGroups`: An array of account group ids. See `v7/account-groups` to pull a list of account IDs. * `tests`: An array of test Is. See `v7/tests` to retrieve a list tests available in the current account context. * `ipv6Policy`: Enum representation of the IP version policy. * `keepBrowserCache`: Boolean representation of the Keep browser cache state. * `targetForTests`: String representation of the target IP address or domain name. This represents the test destination when agent is acting as a test target in an agent-to-agent test. * `localResolutionPrefixes`: This array of strings represents the public IP ranges where the Enterprise Agent performs rDNS (Reverse DNS) lookups. The range should be in CIDR notation, such as `10.1.1.0/24`. Please note that a maximum of 5 prefixes is allowed. This only applies to Enterprise Agents and Enterprise Agent clusters. :param agent_id: Unique ID for the agent. (required) :type agent_id: str @@ -1086,7 +1085,7 @@ class CloudAndEnterpriseAgentsApi: ) -> ApiResponse[AgentDetails]: """Update Enterprise Agent - Updates details for an Enterprise Agent. This endpoint can only be used for Enterprise Agents, and only for users in a role that permits modification of Enterprise Agents. Important notes related to agent modification on tests: * if an agent is removed from a test, the modification date for tests using that agent at the time it was removed will be changed. * If an agent is removed from an entire account group, then all tests using this agent in the removed account group will be updated to reflect the removed agent. * If a removed agent is the final remaining agent on a test, then the test will be disabled when the agent is removed. Users can update the following fields: * `agentName`: String representation of an agent. No two agents can have the same display name. * `enabled`: Boolean representation of agent state. * `accountGroups`: An array of account group ids. See `v7/account-groups` to pull a list of account IDs. * `tests`: An array of test Is. See `v7/tests` to retrieve a list tests available in the current account context. * `ipv6Policy`: Enum representation of the IP version policy. * `keepBrowserCache`: Boolean representation of the Keep browser cache state. * `targetForTests`: String representation of the target IP address or domain name. This represents the test destination when agent is acting as a test target in an agent-to-agent test. * `localResolutionPrefixes`: This array of strings represents the public IP ranges where the Enterprise Agent performs rDNS (Reverse DNS) lookups. The range should be in CIDR notation, such as `10.1.1.0/24`. Please note that a maximum of 5 prefixes is allowed. This only applies to Enterprise Agents and Enterprise Agent clusters. + Updates details for an Enterprise Agent. This operation can only be used for Enterprise Agents, and only for users in a role that permits modification of Enterprise Agents. Important notes related to agent modification on tests: * if an agent is removed from a test, the modification date for tests using that agent at the time it was removed will be changed. * If an agent is removed from an entire account group, then all tests using this agent in the removed account group will be updated to reflect the removed agent. * If a removed agent is the final remaining agent on a test, then the test will be disabled when the agent is removed. Users can update the following fields: * `agentName`: String representation of an agent. No two agents can have the same display name. * `enabled`: Boolean representation of agent state. * `accountGroups`: An array of account group ids. See `v7/account-groups` to pull a list of account IDs. * `tests`: An array of test Is. See `v7/tests` to retrieve a list tests available in the current account context. * `ipv6Policy`: Enum representation of the IP version policy. * `keepBrowserCache`: Boolean representation of the Keep browser cache state. * `targetForTests`: String representation of the target IP address or domain name. This represents the test destination when agent is acting as a test target in an agent-to-agent test. * `localResolutionPrefixes`: This array of strings represents the public IP ranges where the Enterprise Agent performs rDNS (Reverse DNS) lookups. The range should be in CIDR notation, such as `10.1.1.0/24`. Please note that a maximum of 5 prefixes is allowed. This only applies to Enterprise Agents and Enterprise Agent clusters. :param agent_id: Unique ID for the agent. (required) :type agent_id: str @@ -1173,7 +1172,7 @@ class CloudAndEnterpriseAgentsApi: ) -> RESTResponseType: """Update Enterprise Agent - Updates details for an Enterprise Agent. This endpoint can only be used for Enterprise Agents, and only for users in a role that permits modification of Enterprise Agents. Important notes related to agent modification on tests: * if an agent is removed from a test, the modification date for tests using that agent at the time it was removed will be changed. * If an agent is removed from an entire account group, then all tests using this agent in the removed account group will be updated to reflect the removed agent. * If a removed agent is the final remaining agent on a test, then the test will be disabled when the agent is removed. Users can update the following fields: * `agentName`: String representation of an agent. No two agents can have the same display name. * `enabled`: Boolean representation of agent state. * `accountGroups`: An array of account group ids. See `v7/account-groups` to pull a list of account IDs. * `tests`: An array of test Is. See `v7/tests` to retrieve a list tests available in the current account context. * `ipv6Policy`: Enum representation of the IP version policy. * `keepBrowserCache`: Boolean representation of the Keep browser cache state. * `targetForTests`: String representation of the target IP address or domain name. This represents the test destination when agent is acting as a test target in an agent-to-agent test. * `localResolutionPrefixes`: This array of strings represents the public IP ranges where the Enterprise Agent performs rDNS (Reverse DNS) lookups. The range should be in CIDR notation, such as `10.1.1.0/24`. Please note that a maximum of 5 prefixes is allowed. This only applies to Enterprise Agents and Enterprise Agent clusters. + Updates details for an Enterprise Agent. This operation can only be used for Enterprise Agents, and only for users in a role that permits modification of Enterprise Agents. Important notes related to agent modification on tests: * if an agent is removed from a test, the modification date for tests using that agent at the time it was removed will be changed. * If an agent is removed from an entire account group, then all tests using this agent in the removed account group will be updated to reflect the removed agent. * If a removed agent is the final remaining agent on a test, then the test will be disabled when the agent is removed. Users can update the following fields: * `agentName`: String representation of an agent. No two agents can have the same display name. * `enabled`: Boolean representation of agent state. * `accountGroups`: An array of account group ids. See `v7/account-groups` to pull a list of account IDs. * `tests`: An array of test Is. See `v7/tests` to retrieve a list tests available in the current account context. * `ipv6Policy`: Enum representation of the IP version policy. * `keepBrowserCache`: Boolean representation of the Keep browser cache state. * `targetForTests`: String representation of the target IP address or domain name. This represents the test destination when agent is acting as a test target in an agent-to-agent test. * `localResolutionPrefixes`: This array of strings represents the public IP ranges where the Enterprise Agent performs rDNS (Reverse DNS) lookups. The range should be in CIDR notation, such as `10.1.1.0/24`. Please note that a maximum of 5 prefixes is allowed. This only applies to Enterprise Agents and Enterprise Agent clusters. :param agent_id: Unique ID for the agent. (required) :type agent_id: str @@ -1307,7 +1306,7 @@ class CloudAndEnterpriseAgentsApi: return self.api_client.param_serialize( method='PUT', - resource_path='/v7/agents/{agentId}', + resource_path='/agents/{agentId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/api/enterprise_agent_cluster_api.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/api/enterprise_agent_cluster_api.py index b1ca814b..1e916056 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/api/enterprise_agent_cluster_api.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/api/enterprise_agent_cluster_api.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -69,7 +68,7 @@ class EnterpriseAgentClusterApi: ) -> AgentDetails: """Add member to Enterprise Agent cluster - Adding a member to an Enterprise Agent cluster converts a standalone Enterprise Agent to an Enterprise Agent cluster. If the agent represented by the path {agentId} is not already a cluster, it will be converted to a cluster. The response will be a single Enterprise Agent Cluster. The converted Enterprise Agents will become cluster members, and can be returned using the `?expand=cluster-member` parameter. This endpoint requires users to have the `Edit agents in account group` permission. Upon successful cluster creation, the response includes: * Information about the new cluster in the response body. * Each cluster member receives a unique `memberId` within the cluster. * The `memberId` value is not linked to the original `agentId` used in the request URL or POST body. * The cluster name is based on the agent whose `agentId` is present in the request URL. **Example - converting a single agent** ``` curl -X POST https://api.thousandeyes.com/v7/agents/64965/cluster/assign -H \"Authorization: Bearer $Bearer_token\" ```` **Example - converting multiple agents** ``` curl https://api.thousandeyes.com/v7/agents/64965/cluster/assign \\ '{\"agents\":[ \"2277\", \"1234\" ]}' \\ -H \"content-type:application/json\" \\ -H \"Authorization: Bearer $Bearer_token\" ```` + Adding a member to an Enterprise Agent cluster converts a standalone Enterprise Agent to an Enterprise Agent cluster. If the agent represented by the path {agentId} is not already a cluster, it will be converted to a cluster. The response will be a single Enterprise Agent Cluster. The converted Enterprise Agents will become cluster members, and can be returned using the `?expand=cluster-member` parameter. This operation requires users to have the `Edit agents in account group` permission. Upon successful cluster creation, the response includes: * Information about the new cluster in the response body. * Each cluster member receives a unique `memberId` within the cluster. * The `memberId` value is not linked to the original `agentId` used in the request URL or POST body. * The cluster name is based on the agent whose `agentId` is present in the request URL. **Example - converting a single agent** ``` curl -X POST https://api.thousandeyes.com/v7/agents/64965/cluster/assign -H \"Authorization: Bearer $Bearer_token\" ```` **Example - converting multiple agents** ``` curl https://api.thousandeyes.com/v7/agents/64965/cluster/assign \\ '{\"agents\":[ \"2277\", \"1234\" ]}' \\ -H \"content-type:application/json\" \\ -H \"Authorization: Bearer $Bearer_token\" ```` :param agent_id: Unique ID for the Enterprise Agent cluster to add new agents to. (required) :type agent_id: str @@ -156,7 +155,7 @@ class EnterpriseAgentClusterApi: ) -> ApiResponse[AgentDetails]: """Add member to Enterprise Agent cluster - Adding a member to an Enterprise Agent cluster converts a standalone Enterprise Agent to an Enterprise Agent cluster. If the agent represented by the path {agentId} is not already a cluster, it will be converted to a cluster. The response will be a single Enterprise Agent Cluster. The converted Enterprise Agents will become cluster members, and can be returned using the `?expand=cluster-member` parameter. This endpoint requires users to have the `Edit agents in account group` permission. Upon successful cluster creation, the response includes: * Information about the new cluster in the response body. * Each cluster member receives a unique `memberId` within the cluster. * The `memberId` value is not linked to the original `agentId` used in the request URL or POST body. * The cluster name is based on the agent whose `agentId` is present in the request URL. **Example - converting a single agent** ``` curl -X POST https://api.thousandeyes.com/v7/agents/64965/cluster/assign -H \"Authorization: Bearer $Bearer_token\" ```` **Example - converting multiple agents** ``` curl https://api.thousandeyes.com/v7/agents/64965/cluster/assign \\ '{\"agents\":[ \"2277\", \"1234\" ]}' \\ -H \"content-type:application/json\" \\ -H \"Authorization: Bearer $Bearer_token\" ```` + Adding a member to an Enterprise Agent cluster converts a standalone Enterprise Agent to an Enterprise Agent cluster. If the agent represented by the path {agentId} is not already a cluster, it will be converted to a cluster. The response will be a single Enterprise Agent Cluster. The converted Enterprise Agents will become cluster members, and can be returned using the `?expand=cluster-member` parameter. This operation requires users to have the `Edit agents in account group` permission. Upon successful cluster creation, the response includes: * Information about the new cluster in the response body. * Each cluster member receives a unique `memberId` within the cluster. * The `memberId` value is not linked to the original `agentId` used in the request URL or POST body. * The cluster name is based on the agent whose `agentId` is present in the request URL. **Example - converting a single agent** ``` curl -X POST https://api.thousandeyes.com/v7/agents/64965/cluster/assign -H \"Authorization: Bearer $Bearer_token\" ```` **Example - converting multiple agents** ``` curl https://api.thousandeyes.com/v7/agents/64965/cluster/assign \\ '{\"agents\":[ \"2277\", \"1234\" ]}' \\ -H \"content-type:application/json\" \\ -H \"Authorization: Bearer $Bearer_token\" ```` :param agent_id: Unique ID for the Enterprise Agent cluster to add new agents to. (required) :type agent_id: str @@ -243,7 +242,7 @@ class EnterpriseAgentClusterApi: ) -> RESTResponseType: """Add member to Enterprise Agent cluster - Adding a member to an Enterprise Agent cluster converts a standalone Enterprise Agent to an Enterprise Agent cluster. If the agent represented by the path {agentId} is not already a cluster, it will be converted to a cluster. The response will be a single Enterprise Agent Cluster. The converted Enterprise Agents will become cluster members, and can be returned using the `?expand=cluster-member` parameter. This endpoint requires users to have the `Edit agents in account group` permission. Upon successful cluster creation, the response includes: * Information about the new cluster in the response body. * Each cluster member receives a unique `memberId` within the cluster. * The `memberId` value is not linked to the original `agentId` used in the request URL or POST body. * The cluster name is based on the agent whose `agentId` is present in the request URL. **Example - converting a single agent** ``` curl -X POST https://api.thousandeyes.com/v7/agents/64965/cluster/assign -H \"Authorization: Bearer $Bearer_token\" ```` **Example - converting multiple agents** ``` curl https://api.thousandeyes.com/v7/agents/64965/cluster/assign \\ '{\"agents\":[ \"2277\", \"1234\" ]}' \\ -H \"content-type:application/json\" \\ -H \"Authorization: Bearer $Bearer_token\" ```` + Adding a member to an Enterprise Agent cluster converts a standalone Enterprise Agent to an Enterprise Agent cluster. If the agent represented by the path {agentId} is not already a cluster, it will be converted to a cluster. The response will be a single Enterprise Agent Cluster. The converted Enterprise Agents will become cluster members, and can be returned using the `?expand=cluster-member` parameter. This operation requires users to have the `Edit agents in account group` permission. Upon successful cluster creation, the response includes: * Information about the new cluster in the response body. * Each cluster member receives a unique `memberId` within the cluster. * The `memberId` value is not linked to the original `agentId` used in the request URL or POST body. * The cluster name is based on the agent whose `agentId` is present in the request URL. **Example - converting a single agent** ``` curl -X POST https://api.thousandeyes.com/v7/agents/64965/cluster/assign -H \"Authorization: Bearer $Bearer_token\" ```` **Example - converting multiple agents** ``` curl https://api.thousandeyes.com/v7/agents/64965/cluster/assign \\ '{\"agents\":[ \"2277\", \"1234\" ]}' \\ -H \"content-type:application/json\" \\ -H \"Authorization: Bearer $Bearer_token\" ```` :param agent_id: Unique ID for the Enterprise Agent cluster to add new agents to. (required) :type agent_id: str @@ -377,7 +376,7 @@ class EnterpriseAgentClusterApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/agents/{agentId}/cluster/assign', + resource_path='/agents/{agentId}/cluster/assign', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -415,7 +414,7 @@ class EnterpriseAgentClusterApi: ) -> CloudEnterpriseAgents: """Remove member from Enterprise Agent cluster - Converts a cluster with a single or multiple Enterprise Agent members back to a standalone Enterprise Agent(s). This endpoint can also be used to remove one or more members from an Enterprise Agent cluster. Removed members revert to being standalone Enterprise Agents. If all members are removed from the cluster, the Enterprise Agent Cluster is deleted. The response is an list of agents, containing both the Enterprise Agent Cluster (if it still exists), and the removed members, now as standalone Enterprise Agents. This endpoint is exclusive to Enterprise Agent clusters and can be accessed only by users with the `Edit agents in account group` permission. On successful completion, the response contains the following information: * The updated cluster information is provided in the response body, unless all members are removed from the cluster. * Information about each removed member, now a standalone agent. * When a non-last member is removed from the cluster, it receives a new `agentId` value. This new `agentId` is different from the `agentId` the agent had before joining the cluster, and it is also unrelated to the `memberId` value the agent had while being a part of the cluster. * If all members are removed from the cluster, the cluster itself is converted back to a standalone Enterprise Agent too. Such standalone agent inherits the old cluster’s `agentId` value. The last `memberId` listed in the POST body inherits the cluster’s `agentId` value. **Example - removing a single member** ``` curl -X POST https://api.thousandeyes.com/v7/agents/64965/cluster/unassign \\ '{\"members\":[\"55974\"]}' \\ -H \"content-type:application/json\" \\ -H \"Authorization: Bearer $Bearer_token\" ``` **Example - removing multiple members** ``` curl https://api.thousandeyes.com/v7/agents/64965/cluster/unassign \\ '{\"members\":[ \"55974\", \"12313\"] }' \\ -H \"content-type:application/json\" \\ -H \"Authorization: Bearer $Bearer_token\" ``` + Converts a cluster with a single or multiple Enterprise Agent members back to a standalone Enterprise Agent(s). This operation can also be used to remove one or more members from an Enterprise Agent cluster. Removed members revert to being standalone Enterprise Agents. If all members are removed from the cluster, the Enterprise Agent Cluster is deleted. The response is an list of agents, containing both the Enterprise Agent Cluster (if it still exists), and the removed members, now as standalone Enterprise Agents. This operation is exclusive to Enterprise Agent clusters and can be accessed only by users with the `Edit agents in account group` permission. On successful completion, the response contains the following information: * The updated cluster information is provided in the response body, unless all members are removed from the cluster. * Information about each removed member, now a standalone agent. * When a non-last member is removed from the cluster, it receives a new `agentId` value. This new `agentId` is different from the `agentId` the agent had before joining the cluster, and it is also unrelated to the `memberId` value the agent had while being a part of the cluster. * If all members are removed from the cluster, the cluster itself is converted back to a standalone Enterprise Agent too. Such standalone agent inherits the old cluster’s `agentId` value. The last `memberId` listed in the POST body inherits the cluster’s `agentId` value. **Example - removing a single member** ``` curl -X POST https://api.thousandeyes.com/v7/agents/64965/cluster/unassign \\ '{\"members\":[\"55974\"]}' \\ -H \"content-type:application/json\" \\ -H \"Authorization: Bearer $Bearer_token\" ``` **Example - removing multiple members** ``` curl https://api.thousandeyes.com/v7/agents/64965/cluster/unassign \\ '{\"members\":[ \"55974\", \"12313\"] }' \\ -H \"content-type:application/json\" \\ -H \"Authorization: Bearer $Bearer_token\" ``` :param agent_id: Unique ID for the Enterprise Agent cluster to remove agents from. (required) :type agent_id: str @@ -502,7 +501,7 @@ class EnterpriseAgentClusterApi: ) -> ApiResponse[CloudEnterpriseAgents]: """Remove member from Enterprise Agent cluster - Converts a cluster with a single or multiple Enterprise Agent members back to a standalone Enterprise Agent(s). This endpoint can also be used to remove one or more members from an Enterprise Agent cluster. Removed members revert to being standalone Enterprise Agents. If all members are removed from the cluster, the Enterprise Agent Cluster is deleted. The response is an list of agents, containing both the Enterprise Agent Cluster (if it still exists), and the removed members, now as standalone Enterprise Agents. This endpoint is exclusive to Enterprise Agent clusters and can be accessed only by users with the `Edit agents in account group` permission. On successful completion, the response contains the following information: * The updated cluster information is provided in the response body, unless all members are removed from the cluster. * Information about each removed member, now a standalone agent. * When a non-last member is removed from the cluster, it receives a new `agentId` value. This new `agentId` is different from the `agentId` the agent had before joining the cluster, and it is also unrelated to the `memberId` value the agent had while being a part of the cluster. * If all members are removed from the cluster, the cluster itself is converted back to a standalone Enterprise Agent too. Such standalone agent inherits the old cluster’s `agentId` value. The last `memberId` listed in the POST body inherits the cluster’s `agentId` value. **Example - removing a single member** ``` curl -X POST https://api.thousandeyes.com/v7/agents/64965/cluster/unassign \\ '{\"members\":[\"55974\"]}' \\ -H \"content-type:application/json\" \\ -H \"Authorization: Bearer $Bearer_token\" ``` **Example - removing multiple members** ``` curl https://api.thousandeyes.com/v7/agents/64965/cluster/unassign \\ '{\"members\":[ \"55974\", \"12313\"] }' \\ -H \"content-type:application/json\" \\ -H \"Authorization: Bearer $Bearer_token\" ``` + Converts a cluster with a single or multiple Enterprise Agent members back to a standalone Enterprise Agent(s). This operation can also be used to remove one or more members from an Enterprise Agent cluster. Removed members revert to being standalone Enterprise Agents. If all members are removed from the cluster, the Enterprise Agent Cluster is deleted. The response is an list of agents, containing both the Enterprise Agent Cluster (if it still exists), and the removed members, now as standalone Enterprise Agents. This operation is exclusive to Enterprise Agent clusters and can be accessed only by users with the `Edit agents in account group` permission. On successful completion, the response contains the following information: * The updated cluster information is provided in the response body, unless all members are removed from the cluster. * Information about each removed member, now a standalone agent. * When a non-last member is removed from the cluster, it receives a new `agentId` value. This new `agentId` is different from the `agentId` the agent had before joining the cluster, and it is also unrelated to the `memberId` value the agent had while being a part of the cluster. * If all members are removed from the cluster, the cluster itself is converted back to a standalone Enterprise Agent too. Such standalone agent inherits the old cluster’s `agentId` value. The last `memberId` listed in the POST body inherits the cluster’s `agentId` value. **Example - removing a single member** ``` curl -X POST https://api.thousandeyes.com/v7/agents/64965/cluster/unassign \\ '{\"members\":[\"55974\"]}' \\ -H \"content-type:application/json\" \\ -H \"Authorization: Bearer $Bearer_token\" ``` **Example - removing multiple members** ``` curl https://api.thousandeyes.com/v7/agents/64965/cluster/unassign \\ '{\"members\":[ \"55974\", \"12313\"] }' \\ -H \"content-type:application/json\" \\ -H \"Authorization: Bearer $Bearer_token\" ``` :param agent_id: Unique ID for the Enterprise Agent cluster to remove agents from. (required) :type agent_id: str @@ -589,7 +588,7 @@ class EnterpriseAgentClusterApi: ) -> RESTResponseType: """Remove member from Enterprise Agent cluster - Converts a cluster with a single or multiple Enterprise Agent members back to a standalone Enterprise Agent(s). This endpoint can also be used to remove one or more members from an Enterprise Agent cluster. Removed members revert to being standalone Enterprise Agents. If all members are removed from the cluster, the Enterprise Agent Cluster is deleted. The response is an list of agents, containing both the Enterprise Agent Cluster (if it still exists), and the removed members, now as standalone Enterprise Agents. This endpoint is exclusive to Enterprise Agent clusters and can be accessed only by users with the `Edit agents in account group` permission. On successful completion, the response contains the following information: * The updated cluster information is provided in the response body, unless all members are removed from the cluster. * Information about each removed member, now a standalone agent. * When a non-last member is removed from the cluster, it receives a new `agentId` value. This new `agentId` is different from the `agentId` the agent had before joining the cluster, and it is also unrelated to the `memberId` value the agent had while being a part of the cluster. * If all members are removed from the cluster, the cluster itself is converted back to a standalone Enterprise Agent too. Such standalone agent inherits the old cluster’s `agentId` value. The last `memberId` listed in the POST body inherits the cluster’s `agentId` value. **Example - removing a single member** ``` curl -X POST https://api.thousandeyes.com/v7/agents/64965/cluster/unassign \\ '{\"members\":[\"55974\"]}' \\ -H \"content-type:application/json\" \\ -H \"Authorization: Bearer $Bearer_token\" ``` **Example - removing multiple members** ``` curl https://api.thousandeyes.com/v7/agents/64965/cluster/unassign \\ '{\"members\":[ \"55974\", \"12313\"] }' \\ -H \"content-type:application/json\" \\ -H \"Authorization: Bearer $Bearer_token\" ``` + Converts a cluster with a single or multiple Enterprise Agent members back to a standalone Enterprise Agent(s). This operation can also be used to remove one or more members from an Enterprise Agent cluster. Removed members revert to being standalone Enterprise Agents. If all members are removed from the cluster, the Enterprise Agent Cluster is deleted. The response is an list of agents, containing both the Enterprise Agent Cluster (if it still exists), and the removed members, now as standalone Enterprise Agents. This operation is exclusive to Enterprise Agent clusters and can be accessed only by users with the `Edit agents in account group` permission. On successful completion, the response contains the following information: * The updated cluster information is provided in the response body, unless all members are removed from the cluster. * Information about each removed member, now a standalone agent. * When a non-last member is removed from the cluster, it receives a new `agentId` value. This new `agentId` is different from the `agentId` the agent had before joining the cluster, and it is also unrelated to the `memberId` value the agent had while being a part of the cluster. * If all members are removed from the cluster, the cluster itself is converted back to a standalone Enterprise Agent too. Such standalone agent inherits the old cluster’s `agentId` value. The last `memberId` listed in the POST body inherits the cluster’s `agentId` value. **Example - removing a single member** ``` curl -X POST https://api.thousandeyes.com/v7/agents/64965/cluster/unassign \\ '{\"members\":[\"55974\"]}' \\ -H \"content-type:application/json\" \\ -H \"Authorization: Bearer $Bearer_token\" ``` **Example - removing multiple members** ``` curl https://api.thousandeyes.com/v7/agents/64965/cluster/unassign \\ '{\"members\":[ \"55974\", \"12313\"] }' \\ -H \"content-type:application/json\" \\ -H \"Authorization: Bearer $Bearer_token\" ``` :param agent_id: Unique ID for the Enterprise Agent cluster to remove agents from. (required) :type agent_id: str @@ -723,7 +722,7 @@ class EnterpriseAgentClusterApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/agents/{agentId}/cluster/unassign', + resource_path='/agents/{agentId}/cluster/unassign', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/__init__.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/__init__.py index 1111ed5e..24c04aa6 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/__init__.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/__init__.py @@ -6,7 +6,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -15,17 +14,19 @@ # import models into model package 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_cluster_assign_request import AgentClusterAssignRequest 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_expand import AgentDetailsExpand 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_notification import AgentNotification from thousandeyes_sdk.agents.models.agent_proxies import AgentProxies from thousandeyes_sdk.agents.models.agent_proxy import AgentProxy 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_integration_base import AlertIntegrationBase from thousandeyes_sdk.agents.models.alert_integration_type import AlertIntegrationType @@ -45,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_code import ErrorDetailCode 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.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_detail import NotificationRuleDetail from thousandeyes_sdk.agents.models.notification_rules import NotificationRules diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/account_group.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/account_group.py index 18e35816..cdb4d18a 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/account_group.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/account_group.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_base.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_base.py index 367918c6..caadafb5 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_base.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_base.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_cluster_assign_request.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_cluster_assign_request.py index 4674ef7b..50661cbd 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_cluster_assign_request.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_cluster_assign_request.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -26,7 +25,7 @@ class AgentClusterAssignRequest(BaseModel): """ AgentClusterAssignRequest """ # noqa: E501 - agents: Optional[List[StrictStr]] = Field(default=None, description="Contains list of agent IDs (get `agentId` from `/agents` endpoint)") + agents: Optional[List[StrictStr]] = Field(default=None, description="Contains list of agent IDs (get `agentId` from `/agents` operation)") __properties: ClassVar[List[str]] = ["agents"] model_config = ConfigDict( diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_cluster_unassign_request.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_cluster_unassign_request.py index a05fe8ea..923d0051 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_cluster_unassign_request.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_cluster_unassign_request.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -26,7 +25,7 @@ class AgentClusterUnassignRequest(BaseModel): """ AgentClusterUnassignRequest """ # noqa: E501 - members: Optional[List[StrictStr]] = Field(default=None, description="Contains list of member IDs. (get `memberId` from `/agents/{agentId}` endpoint)") + members: Optional[List[StrictStr]] = Field(default=None, description="Contains list of member IDs. (get `memberId` from `/agents/{agentId}` operation)") __properties: ClassVar[List[str]] = ["members"] model_config = ConfigDict( diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_details.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_details.py index 7cac27f3..c599ebf3 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_details.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_details.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_details_expand.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_details_expand.py index 9e884446..26cb1cfb 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_details_expand.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_details_expand.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class AgentDetailsExpand(str, Enum): CLUSTER_MINUS_MEMBER = 'cluster-member' TEST = 'test' NOTIFICATION_MINUS_RULE = 'notification-rule' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of AgentDetailsExpand from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_ipv6_policy.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_ipv6_policy.py index 3c92810c..9c6f7069 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_ipv6_policy.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_ipv6_policy.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class AgentIpv6Policy(str, Enum): FORCE_MINUS_IPV4 = 'force-ipv4' PREFER_MINUS_IPV6 = 'prefer-ipv6' FORCE_MINUS_IPV6 = 'force-ipv6' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of AgentIpv6Policy from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/labels.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_label.py similarity index 92% rename from thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/labels.py rename to thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_label.py index 0da129ee..ae16b07b 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/labels.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_label.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,9 +21,9 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self -class Labels(BaseModel): +class AgentLabel(BaseModel): """ - Labels + 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.") @@ -49,7 +48,7 @@ class Labels(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of Labels from a JSON string""" + """Create an instance of AgentLabel from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -74,7 +73,7 @@ class Labels(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of Labels from a dict""" + """Create an instance of AgentLabel from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_list_expand.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_list_expand.py index 74e1add8..22724d32 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_list_expand.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_list_expand.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -27,10 +26,15 @@ class AgentListExpand(str, Enum): allowed enum values """ CLUSTER_MINUS_MEMBER = 'cluster-member' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of AgentListExpand from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/notification.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_notification.py similarity index 94% rename from thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/notification.py rename to thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_notification.py index ca39fd7b..494128c9 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/notification.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_notification.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -24,7 +23,7 @@ from thousandeyes_sdk.agents.models.alert_integration_base import AlertIntegrati from typing import Optional, Set from typing_extensions import Self -class Notification(BaseModel): +class AgentNotification(BaseModel): """ Alert notification object. """ # noqa: E501 @@ -52,7 +51,7 @@ class Notification(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of Notification from a JSON string""" + """Create an instance of AgentNotification from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -94,7 +93,7 @@ class Notification(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of Notification from a dict""" + """Create an instance of AgentNotification from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_proxies.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_proxies.py index 90893d1d..f33e2e1c 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_proxies.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_proxies.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_proxy.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_proxy.py index 5d478b91..1e2e4bbe 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_proxy.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_proxy.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_request.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_request.py index 71ff53a5..d036b9b2 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_request.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_request.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_response.py similarity index 96% rename from thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent.py rename to thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_response.py index 3ef17a0f..247f49f1 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/agent_response.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -23,9 +22,9 @@ from thousandeyes_sdk.agents.models.cloud_enterprise_agent_type import CloudEnte from typing import Optional, Set from typing_extensions import Self -class Agent(BaseModel): +class AgentResponse(BaseModel): """ - Agent + 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") @@ -59,7 +58,7 @@ class Agent(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of Agent from a JSON string""" + """Create an instance of AgentResponse from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -100,7 +99,7 @@ class Agent(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of Agent from a dict""" + """Create an instance of AgentResponse from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/alert_email.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/alert_email.py index 06adbd6b..0bd50573 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/alert_email.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/alert_email.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/alert_integration_base.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/alert_integration_base.py index 30a4845c..020d19c1 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/alert_integration_base.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/alert_integration_base.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/alert_integration_type.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/alert_integration_type.py index 0dc104dc..10b35770 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/alert_integration_type.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/alert_integration_type.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class AlertIntegrationType(str, Enum): """ PAGER_MINUS_DUTY = 'pager-duty' SLACK = 'slack' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of AlertIntegrationType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/cloud_agent_detail.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/cloud_agent_detail.py index 19485f72..cb6c9cc2 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/cloud_agent_detail.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/cloud_agent_detail.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,7 +19,7 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.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.simple_test import SimpleTest from typing import Optional, Set @@ -42,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") agent_type: Annotated[str, Field(strict=True)] = Field(description="Cloud agent type.", alias="agentType") tests: Optional[List[SimpleTest]] = Field(default=None, description="List of tests. See `/tests` for more information.") - labels: Optional[List[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") __properties: ClassVar[List[str]] = ["ipAddresses", "publicIpAddresses", "network", "agentId", "agentName", "location", "countryId", "enabled", "prefix", "verifySslCertificates", "agentType", "tests", "labels", "_links"] @@ -152,7 +151,7 @@ class CloudAgentDetail(BaseModel): "verifySslCertificates": obj.get("verifySslCertificates"), "agentType": obj.get("agentType"), "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 }) return _obj diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/cloud_enterprise_agent.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/cloud_enterprise_agent.py index d66da755..385e2934 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/cloud_enterprise_agent.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/cloud_enterprise_agent.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -19,28 +18,28 @@ import pprint import re # noqa: F401 from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator 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 typing import Union, Any, List, Set, TYPE_CHECKING, Optional, Dict from typing_extensions import Literal, Self from pydantic import Field, model_serializer -CLOUDENTERPRISEAGENT_ANY_OF_SCHEMAS = ["Agent", "EnterpriseAgent"] +CLOUDENTERPRISEAGENT_ANY_OF_SCHEMAS = ["AgentResponse", "EnterpriseAgent"] class CloudEnterpriseAgent(BaseModel): """ CloudEnterpriseAgent """ - # data type: Agent - anyof_schema_1_validator: Optional[Agent] = None + # data type: AgentResponse + anyof_schema_1_validator: Optional[AgentResponse] = None # data type: EnterpriseAgent anyof_schema_2_validator: Optional[EnterpriseAgent] = None if TYPE_CHECKING: - actual_instance: Optional[Union[Agent, EnterpriseAgent]] = None + actual_instance: Optional[Union[AgentResponse, EnterpriseAgent]] = None else: actual_instance: Any = None - any_of_schemas: Set[str] = { "Agent", "EnterpriseAgent" } + any_of_schemas: Set[str] = { "AgentResponse", "EnterpriseAgent" } model_config = { "validate_assignment": True, @@ -61,9 +60,9 @@ class CloudEnterpriseAgent(BaseModel): def actual_instance_must_validate_anyof(cls, v): instance = CloudEnterpriseAgent.model_construct() error_messages = [] - # validate data type: Agent - if not isinstance(v, Agent): - error_messages.append(f"Error! Input type `{type(v)}` is not `Agent`") + # validate data type: AgentResponse + if not isinstance(v, AgentResponse): + error_messages.append(f"Error! Input type `{type(v)}` is not `AgentResponse`") else: return v @@ -75,7 +74,7 @@ class CloudEnterpriseAgent(BaseModel): if error_messages: # 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: return v @@ -88,9 +87,9 @@ class CloudEnterpriseAgent(BaseModel): """Returns the object represented by the json string""" instance = cls.model_construct() error_messages = [] - # anyof_schema_1_validator: Optional[Agent] = None + # anyof_schema_1_validator: Optional[AgentResponse] = None try: - instance.actual_instance = Agent.from_json(json_str) + instance.actual_instance = AgentResponse.from_json(json_str) return instance except (ValidationError, ValueError) as e: error_messages.append(str(e)) @@ -103,7 +102,7 @@ class CloudEnterpriseAgent(BaseModel): if error_messages: # 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: return instance @@ -121,7 +120,7 @@ class CloudEnterpriseAgent(BaseModel): else: 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""" if self.actual_instance is None: return None diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/cloud_enterprise_agent_type.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/cloud_enterprise_agent_type.py index 0e49723e..b422b689 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/cloud_enterprise_agent_type.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/cloud_enterprise_agent_type.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class CloudEnterpriseAgentType(str, Enum): CLOUD = 'cloud' ENTERPRISE_MINUS_CLUSTER = 'enterprise-cluster' ENTERPRISE = 'enterprise' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of CloudEnterpriseAgentType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/cloud_enterprise_agents.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/cloud_enterprise_agents.py index 31f04fde..352c4edc 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/cloud_enterprise_agents.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/cloud_enterprise_agents.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/cluster_member.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/cluster_member.py index 7a300593..c62afc02 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/cluster_member.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/cluster_member.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent.py index 87c799ba..de23de09 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent_cluster_detail.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent_cluster_detail.py index de123f38..98fb6c95 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent_cluster_detail.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent_cluster_detail.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,12 +21,12 @@ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, Strict from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated from thousandeyes_sdk.agents.models.account_group import AccountGroup +from thousandeyes_sdk.agents.models.agent_label import AgentLabel from thousandeyes_sdk.agents.models.cluster_member import ClusterMember from thousandeyes_sdk.agents.models.enterprise_agent_ipv6_policy import EnterpriseAgentIpv6Policy from thousandeyes_sdk.agents.models.enterprise_agent_state import EnterpriseAgentState from thousandeyes_sdk.agents.models.error_detail import ErrorDetail 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.self_links import SelfLinks from thousandeyes_sdk.agents.models.simple_test import SimpleTest @@ -63,7 +62,7 @@ class EnterpriseAgentClusterDetail(BaseModel): 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.") 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") 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"] @@ -236,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, "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, - "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"), "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None }) diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent_data.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent_data.py index 23d4f51e..fb99c988 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent_data.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent_data.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent_detail.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent_detail.py index 8e9afca8..c92286df 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent_detail.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent_detail.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,12 +21,12 @@ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, Strict from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated from thousandeyes_sdk.agents.models.account_group import AccountGroup +from thousandeyes_sdk.agents.models.agent_label import AgentLabel from thousandeyes_sdk.agents.models.cluster_member import ClusterMember from thousandeyes_sdk.agents.models.enterprise_agent_ipv6_policy import EnterpriseAgentIpv6Policy from thousandeyes_sdk.agents.models.enterprise_agent_state import EnterpriseAgentState from thousandeyes_sdk.agents.models.error_detail import ErrorDetail 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.self_links import SelfLinks from thousandeyes_sdk.agents.models.simple_test import SimpleTest @@ -63,7 +62,7 @@ class EnterpriseAgentDetail(BaseModel): 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.") 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") 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"] @@ -236,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, "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, - "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"), "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None }) diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent_ipv6_policy.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent_ipv6_policy.py index cb9f80f5..43234bc0 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent_ipv6_policy.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent_ipv6_policy.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class EnterpriseAgentIpv6Policy(str, Enum): FORCE_MINUS_IPV4 = 'force-ipv4' PREFER_MINUS_IPV6 = 'prefer-ipv6' FORCE_MINUS_IPV6 = 'force-ipv6' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of EnterpriseAgentIpv6Policy from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent_response_expands.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent_response_expands.py index 1cea718c..b75d26bf 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent_response_expands.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent_response_expands.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -19,7 +18,7 @@ import json from pydantic import BaseModel, ConfigDict, Field 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.simple_test import SimpleTest from typing import Optional, Set @@ -31,7 +30,7 @@ class EnterpriseAgentResponseExpands(BaseModel): """ # noqa: E501 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") - 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"] model_config = ConfigDict( @@ -111,7 +110,7 @@ class EnterpriseAgentResponseExpands(BaseModel): _obj = cls.model_validate({ "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, - "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 diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent_state.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent_state.py index 31a272c7..3a446d38 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent_state.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/enterprise_agent_state.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class EnterpriseAgentState(str, Enum): ONLINE = 'online' OFFLINE = 'offline' DISABLED = 'disabled' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of EnterpriseAgentState from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/error.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/error.py index 37bdd447..3b3917dc 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/error.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/error.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/error_detail.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/error_detail.py index d1b9d5de..3f80008e 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/error_detail.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/error_detail.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/error_detail_code.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/error_detail_code.py index 81bb81a5..98bf3c7f 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/error_detail_code.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/error_detail_code.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -34,10 +33,15 @@ class ErrorDetailCode(str, Enum): OS_MINUS_END_MINUS_OF_MINUS_SUPPORT = 'os-end-of-support' OS_MINUS_END_MINUS_OF_MINUS_LIFE = 'os-end-of-life' NAT_MINUS_TRAVERSAL_MINUS_ERROR = 'nat-traversal-error' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of ErrorDetailCode from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/interface_ip_mapping.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/interface_ip_mapping.py index 1ff0a504..c739708e 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/interface_ip_mapping.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/interface_ip_mapping.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/link.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/link.py index b8924c87..6f0a8c62 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/link.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/link.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/list_notification_rules_response.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/list_notification_rules_response.py index 658e4940..5431cd01 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/list_notification_rules_response.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/list_notification_rules_response.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/notification_rule.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/notification_rule.py index 680e384b..1640a614 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/notification_rule.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/notification_rule.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/notification_rule_detail.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/notification_rule_detail.py index 8de83900..db76437c 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/notification_rule_detail.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/notification_rule_detail.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -19,8 +18,8 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.agents.models.agent import Agent -from thousandeyes_sdk.agents.models.notification import Notification +from thousandeyes_sdk.agents.models.agent_notification import AgentNotification +from thousandeyes_sdk.agents.models.agent_response import AgentResponse from thousandeyes_sdk.agents.models.self_links import SelfLinks from typing import Optional, Set from typing_extensions import Self @@ -34,8 +33,8 @@ class NotificationRuleDetail(BaseModel): 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") 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 - agents: Optional[List[Agent]] = None + notifications: Optional[AgentNotification] = None + agents: Optional[List[AgentResponse]] = None links: Optional[SelfLinks] = Field(default=None, alias="_links") __properties: ClassVar[List[str]] = ["ruleId", "ruleName", "expression", "notifyOnClear", "isDefault", "notifications", "agents", "_links"] @@ -111,8 +110,8 @@ class NotificationRuleDetail(BaseModel): "expression": obj.get("expression"), "notifyOnClear": obj.get("notifyOnClear"), "isDefault": obj.get("isDefault"), - "notifications": Notification.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, + "notifications": AgentNotification.from_dict(obj["notifications"]) if obj.get("notifications") 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 }) return _obj diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/notification_rules.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/notification_rules.py index d56d8e0e..081512b7 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/notification_rules.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/notification_rules.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/proxy_auth_type.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/proxy_auth_type.py index 09cdd774..ca5b5702 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/proxy_auth_type.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/proxy_auth_type.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -36,4 +35,8 @@ class ProxyAuthType(str, Enum): """Create an instance of ProxyAuthType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/proxy_type.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/proxy_type.py index 946ea57f..32dde7af 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/proxy_type.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/proxy_type.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class ProxyType(str, Enum): """ STATIC = 'static' PAC = 'pac' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of ProxyType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/self_links.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/self_links.py index 1ecbd27f..52d9fb82 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/self_links.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/self_links.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/simple_agent.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/simple_agent.py index 7e1ef1fa..7e1ed02e 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/simple_agent.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/simple_agent.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/simple_enterprise_agent.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/simple_enterprise_agent.py index 59e7ff70..e53736e2 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/simple_enterprise_agent.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/simple_enterprise_agent.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/simple_test.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/simple_test.py index a3211ea9..34896686 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/simple_test.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/simple_test.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/test_interval.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/test_interval.py index fc232b05..3b593d43 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/test_interval.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/test_interval.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -33,10 +32,15 @@ class TestInterval(int, Enum): NUMBER_900 = 900 NUMBER_1800 = 1800 NUMBER_3600 = 3600 + NUMBER_11184809 = 11184809 @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestInterval from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/test_links.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/test_links.py index 8365cac6..4399666a 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/test_links.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/test_links.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/test_self_link.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/test_self_link.py index 4c0b7553..b6da6bc6 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/test_self_link.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/test_self_link.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/test_type.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/test_type.py index f7b14bb8..c8d3744c 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/test_type.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/test_type.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -39,10 +38,15 @@ class TestType(str, Enum): DNSSEC = 'dnssec' SIP_MINUS_SERVER = 'sip-server' VOICE = 'voice' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/unauthorized_error.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/unauthorized_error.py index 37c88617..3ad7ef9d 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/unauthorized_error.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/unauthorized_error.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/validation_error.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/validation_error.py index 697ba3e2..0c6b488a 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/validation_error.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/validation_error.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/validation_error_item.py b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/validation_error_item.py index 355b278c..dcc4674f 100644 --- a/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/validation_error_item.py +++ b/thousandeyes-sdk-agents/src/thousandeyes_sdk/agents/models/validation_error_item.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-agents/test/test_proxies_api.py b/thousandeyes-sdk-agents/test/test_agent_proxies_api.py similarity index 92% rename from thousandeyes-sdk-agents/test/test_proxies_api.py rename to thousandeyes-sdk-agents/test/test_agent_proxies_api.py index 7a217108..c8b51d11 100644 --- a/thousandeyes-sdk-agents/test/test_proxies_api.py +++ b/thousandeyes-sdk-agents/test/test_agent_proxies_api.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.agents.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.agents.api.proxies_api import ProxiesApi +from thousandeyes_sdk.agents.api.agent_proxies_api import AgentProxiesApi -class TestProxiesApi(unittest.TestCase): - """ProxiesApi unit test stubs""" +class TestAgentProxiesApi(unittest.TestCase): + """AgentProxiesApi unit test stubs""" def setUp(self) -> None: - self.api = ProxiesApi() + self.api = AgentProxiesApi() def tearDown(self) -> None: pass diff --git a/thousandeyes-sdk-agents/test/test_cloud_and_enterprise_agent_notification_rules_api.py b/thousandeyes-sdk-agents/test/test_cloud_and_enterprise_agent_notification_rules_api.py index 2bf55ab7..d405d30d 100644 --- a/thousandeyes-sdk-agents/test/test_cloud_and_enterprise_agent_notification_rules_api.py +++ b/thousandeyes-sdk-agents/test/test_cloud_and_enterprise_agent_notification_rules_api.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-agents/test/test_cloud_and_enterprise_agents_api.py b/thousandeyes-sdk-agents/test/test_cloud_and_enterprise_agents_api.py index 8a09d177..f2df9cfc 100644 --- a/thousandeyes-sdk-agents/test/test_cloud_and_enterprise_agents_api.py +++ b/thousandeyes-sdk-agents/test/test_cloud_and_enterprise_agents_api.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -90,7 +89,7 @@ class TestCloudAndEnterpriseAgentsApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, @@ -121,7 +120,7 @@ class TestCloudAndEnterpriseAgentsApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, @@ -257,7 +256,7 @@ class TestCloudAndEnterpriseAgentsApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, @@ -288,7 +287,7 @@ class TestCloudAndEnterpriseAgentsApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, diff --git a/thousandeyes-sdk-agents/test/test_enterprise_agent_cluster_api.py b/thousandeyes-sdk-agents/test/test_enterprise_agent_cluster_api.py index 20f48c18..690d3f85 100644 --- a/thousandeyes-sdk-agents/test/test_enterprise_agent_cluster_api.py +++ b/thousandeyes-sdk-agents/test/test_enterprise_agent_cluster_api.py @@ -5,7 +5,6 @@ ## Overview Manage all agents available to your account in ThousandEyes, including both Cloud and Enterprise Agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -94,7 +93,7 @@ class TestEnterpriseAgentClusterApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, @@ -125,7 +124,7 @@ class TestEnterpriseAgentClusterApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, diff --git a/thousandeyes-sdk-alerts/.openapi-generator/FILES b/thousandeyes-sdk-alerts/.openapi-generator/FILES index b4778846..4da15d5f 100644 --- a/thousandeyes-sdk-alerts/.openapi-generator/FILES +++ b/thousandeyes-sdk-alerts/.openapi-generator/FILES @@ -7,8 +7,8 @@ docs/AlertDirection.md docs/AlertLinks.md docs/AlertMeta.md docs/AlertMetricDetail.md +docs/AlertNotification.md docs/AlertRoundsViolationMode.md -docs/AlertRule.md docs/AlertRulesApi.md docs/AlertSuppressionWindow.md docs/AlertSuppressionWindowDetail.md @@ -22,17 +22,17 @@ docs/AlertsApi.md docs/BaseAlert.md docs/BaseAlertSuppressionWindow.md docs/BaseRule.md -docs/BaseTest.md +docs/CustomWebhookIntegrationType.md docs/DaysOfWeek.md docs/EndAlertMetrics.md docs/EndRepeat.md docs/EndRepeatType.md docs/Error.md -docs/Expand.md +docs/ExpandAlertTestOptions.md docs/IntervalType.md docs/LegacyAlert.md docs/Link.md -docs/Notification.md +docs/NotificationCustomWebhook.md docs/NotificationEmail.md docs/NotificationThirdParty.md docs/NotificationWebhook.md @@ -44,13 +44,17 @@ docs/RuleDetail.md docs/RuleDetailUpdate.md docs/Rules.md docs/SelfLinks.md +docs/SensitivityLevel.md docs/Severity.md +docs/SimpleTest.md docs/StartAlertMetrics.md docs/State.md docs/TestInterval.md +docs/TestLinks.md +docs/TestSelfLink.md +docs/TestType.md docs/ThirdPartyIntegrationType.md docs/UnauthorizedError.md -docs/UnexpandedTest.md docs/ValidationError.md docs/ValidationErrorItem.md docs/WebhookIntegrationType.md @@ -68,8 +72,8 @@ src/thousandeyes_sdk/alerts/models/alert_direction.py src/thousandeyes_sdk/alerts/models/alert_links.py src/thousandeyes_sdk/alerts/models/alert_meta.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_rule.py src/thousandeyes_sdk/alerts/models/alert_suppression_window.py src/thousandeyes_sdk/alerts/models/alert_suppression_window_detail.py src/thousandeyes_sdk/alerts/models/alert_suppression_window_request.py @@ -80,17 +84,17 @@ src/thousandeyes_sdk/alerts/models/alerts.py src/thousandeyes_sdk/alerts/models/base_alert.py src/thousandeyes_sdk/alerts/models/base_alert_suppression_window.py src/thousandeyes_sdk/alerts/models/base_rule.py -src/thousandeyes_sdk/alerts/models/base_test.py +src/thousandeyes_sdk/alerts/models/custom_webhook_integration_type.py src/thousandeyes_sdk/alerts/models/days_of_week.py src/thousandeyes_sdk/alerts/models/end_alert_metrics.py src/thousandeyes_sdk/alerts/models/end_repeat.py src/thousandeyes_sdk/alerts/models/end_repeat_type.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/legacy_alert.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_email.py src/thousandeyes_sdk/alerts/models/notification_third_party.py src/thousandeyes_sdk/alerts/models/notification_webhook.py @@ -102,13 +106,17 @@ src/thousandeyes_sdk/alerts/models/rule_detail.py src/thousandeyes_sdk/alerts/models/rule_detail_update.py src/thousandeyes_sdk/alerts/models/rules.py src/thousandeyes_sdk/alerts/models/self_links.py +src/thousandeyes_sdk/alerts/models/sensitivity_level.py src/thousandeyes_sdk/alerts/models/severity.py +src/thousandeyes_sdk/alerts/models/simple_test.py src/thousandeyes_sdk/alerts/models/start_alert_metrics.py src/thousandeyes_sdk/alerts/models/state.py src/thousandeyes_sdk/alerts/models/test_interval.py +src/thousandeyes_sdk/alerts/models/test_links.py +src/thousandeyes_sdk/alerts/models/test_self_link.py +src/thousandeyes_sdk/alerts/models/test_type.py src/thousandeyes_sdk/alerts/models/third_party_integration_type.py src/thousandeyes_sdk/alerts/models/unauthorized_error.py -src/thousandeyes_sdk/alerts/models/unexpanded_test.py src/thousandeyes_sdk/alerts/models/validation_error.py src/thousandeyes_sdk/alerts/models/validation_error_item.py src/thousandeyes_sdk/alerts/models/webhook_integration_type.py diff --git a/thousandeyes-sdk-alerts/README.md b/thousandeyes-sdk-alerts/README.md index 53e260fd..03c436a1 100644 --- a/thousandeyes-sdk-alerts/README.md +++ b/thousandeyes-sdk-alerts/README.md @@ -12,7 +12,7 @@ For more information about the alerts, see [Alerts](https://docs.thousandeyes.co This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 7.0.8 +- API version: 7.0.20 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator @@ -64,10 +64,10 @@ import thousandeyes_sdk.alerts from thousandeyes_sdk.core.exceptions import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -100,22 +100,22 @@ with thousandeyes_sdk.core.ApiClient(configuration) as api_client: ## Documentation for API Endpoints -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- -*AlertRulesApi* | [**create_alert_rule**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertRulesApi.md#create_alert_rule) | **POST** /v7/alerts/rules | Create alert rule -*AlertRulesApi* | [**delete_alert_rule**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertRulesApi.md#delete_alert_rule) | **DELETE** /v7/alerts/rules/{ruleId} | Delete alert rule -*AlertRulesApi* | [**get_alert_rule**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertRulesApi.md#get_alert_rule) | **GET** /v7/alerts/rules/{ruleId} | Retrieve alert rule -*AlertRulesApi* | [**get_alerts_rules**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertRulesApi.md#get_alerts_rules) | **GET** /v7/alerts/rules | List alert rules -*AlertRulesApi* | [**update_alert_rule**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertRulesApi.md#update_alert_rule) | **PUT** /v7/alerts/rules/{ruleId} | Update alert rule -*AlertSuppressionWindowsApi* | [**create_alert_suppression_window**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertSuppressionWindowsApi.md#create_alert_suppression_window) | **POST** /v7/alert-suppression-windows | Create alert suppression window -*AlertSuppressionWindowsApi* | [**delete_alert_suppression_window**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertSuppressionWindowsApi.md#delete_alert_suppression_window) | **DELETE** /v7/alert-suppression-windows/{windowId} | Delete alert suppression window -*AlertSuppressionWindowsApi* | [**get_alert_suppression_window**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertSuppressionWindowsApi.md#get_alert_suppression_window) | **GET** /v7/alert-suppression-windows/{windowId} | Retrieve alert suppression window -*AlertSuppressionWindowsApi* | [**get_alert_suppression_windows**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertSuppressionWindowsApi.md#get_alert_suppression_windows) | **GET** /v7/alert-suppression-windows | List alert suppression windows -*AlertSuppressionWindowsApi* | [**update_alert_suppression_window**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertSuppressionWindowsApi.md#update_alert_suppression_window) | **PUT** /v7/alert-suppression-windows/{windowId} | Update alert suppression window -*AlertsApi* | [**get_alert**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertsApi.md#get_alert) | **GET** /v7/alerts/{alertId} | Retrieve alert details -*AlertsApi* | [**get_alerts**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertsApi.md#get_alerts) | **GET** /v7/alerts | List active alerts +*AlertRulesApi* | [**create_alert_rule**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertRulesApi.md#create_alert_rule) | **POST** /alerts/rules | Create alert rule +*AlertRulesApi* | [**delete_alert_rule**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertRulesApi.md#delete_alert_rule) | **DELETE** /alerts/rules/{ruleId} | Delete alert rule +*AlertRulesApi* | [**get_alert_rule**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertRulesApi.md#get_alert_rule) | **GET** /alerts/rules/{ruleId} | Retrieve alert rule +*AlertRulesApi* | [**get_alerts_rules**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertRulesApi.md#get_alerts_rules) | **GET** /alerts/rules | List alert rules +*AlertRulesApi* | [**update_alert_rule**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertRulesApi.md#update_alert_rule) | **PUT** /alerts/rules/{ruleId} | Update alert rule +*AlertSuppressionWindowsApi* | [**create_alert_suppression_window**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertSuppressionWindowsApi.md#create_alert_suppression_window) | **POST** /alert-suppression-windows | Create alert suppression window +*AlertSuppressionWindowsApi* | [**delete_alert_suppression_window**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertSuppressionWindowsApi.md#delete_alert_suppression_window) | **DELETE** /alert-suppression-windows/{windowId} | Delete alert suppression window +*AlertSuppressionWindowsApi* | [**get_alert_suppression_window**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertSuppressionWindowsApi.md#get_alert_suppression_window) | **GET** /alert-suppression-windows/{windowId} | Retrieve alert suppression window +*AlertSuppressionWindowsApi* | [**get_alert_suppression_windows**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertSuppressionWindowsApi.md#get_alert_suppression_windows) | **GET** /alert-suppression-windows | List alert suppression windows +*AlertSuppressionWindowsApi* | [**update_alert_suppression_window**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertSuppressionWindowsApi.md#update_alert_suppression_window) | **PUT** /alert-suppression-windows/{windowId} | Update alert suppression window +*AlertsApi* | [**get_alert**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertsApi.md#get_alert) | **GET** /alerts/{alertId} | Retrieve alert details +*AlertsApi* | [**get_alerts**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertsApi.md#get_alerts) | **GET** /alerts | List active alerts ## Documentation For Models @@ -126,8 +126,8 @@ Class | Method | HTTP request | Description - [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) - [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) - - [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) - [AlertSuppressionWindowDetail](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertSuppressionWindowDetail.md) - [AlertSuppressionWindowRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/AlertSuppressionWindowRequest.md) @@ -138,17 +138,17 @@ Class | Method | HTTP request | Description - [BaseAlert](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/BaseAlert.md) - [BaseAlertSuppressionWindow](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/BaseAlertSuppressionWindow.md) - [BaseRule](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/BaseRule.md) - - [BaseTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/BaseTest.md) + - [CustomWebhookIntegrationType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/CustomWebhookIntegrationType.md) - [DaysOfWeek](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/DaysOfWeek.md) - [EndAlertMetrics](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/EndAlertMetrics.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) - [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) - [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) - - [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) - [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) - [NotificationWebhook](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/NotificationWebhook.md) @@ -160,13 +160,17 @@ Class | Method | HTTP request | Description - [RuleDetailUpdate](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/RuleDetailUpdate.md) - [Rules](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/Rules.md) - [SelfLinks](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/SelfLinks.md) + - [SensitivityLevel](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/SensitivityLevel.md) - [Severity](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/Severity.md) + - [SimpleTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/SimpleTest.md) - [StartAlertMetrics](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/StartAlertMetrics.md) - [State](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/State.md) - [TestInterval](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/TestInterval.md) + - [TestLinks](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/TestLinks.md) + - [TestSelfLink](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/TestSelfLink.md) + - [TestType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/TestType.md) - [ThirdPartyIntegrationType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/ThirdPartyIntegrationType.md) - [UnauthorizedError](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/UnauthorizedError.md) - - [UnexpandedTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/UnexpandedTest.md) - [ValidationError](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/ValidationError.md) - [ValidationErrorItem](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/ValidationErrorItem.md) - [WebhookIntegrationType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-alerts/docs/WebhookIntegrationType.md) diff --git a/thousandeyes-sdk-alerts/docs/Alert.md b/thousandeyes-sdk-alerts/docs/Alert.md index 45b34b1e..f600b353 100644 --- a/thousandeyes-sdk-alerts/docs/Alert.md +++ b/thousandeyes-sdk-alerts/docs/Alert.md @@ -7,8 +7,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **id** | **str** | A unique ID for each individual alert occurrence. | [optional] [readonly] **alert_type** | [**AlertType**](AlertType.md) | | [optional] -**start_date** | **datetime** | The start date and time (in UTC, ISO 8601 format) for querying alerts. | [optional] [readonly] -**end_date** | **datetime** | The end 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** | (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] **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] @@ -22,7 +22,7 @@ Name | Type | Description | Notes **severity** | **str** | The severity of the alert. | [optional] **permalink** | **str** | Hyperlink to alerts list, with row expanded | [optional] **api_links** | **List[Dict[str, object]]** | List of hyperlinks to other areas of the API | [optional] -**alert_rule_id** | **str** | Unique ID of the rule | [optional] [readonly] +**alert_rule_id** | **str** | Unique ID of the rule. | [optional] [readonly] **alert_state** | [**State**](State.md) | | [optional] **alert_severity** | [**Severity**](Severity.md) | | [optional] diff --git a/thousandeyes-sdk-alerts/docs/AlertDetail.md b/thousandeyes-sdk-alerts/docs/AlertDetail.md index 027a3df6..c9b6e4c9 100644 --- a/thousandeyes-sdk-alerts/docs/AlertDetail.md +++ b/thousandeyes-sdk-alerts/docs/AlertDetail.md @@ -7,8 +7,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **id** | **str** | A unique ID for each individual alert occurrence. | [optional] [readonly] **alert_type** | [**AlertType**](AlertType.md) | | [optional] -**start_date** | **datetime** | The start date and time (in UTC, ISO 8601 format) for querying alerts. | [optional] [readonly] -**end_date** | **datetime** | The end 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** | (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] **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] diff --git a/thousandeyes-sdk-alerts/docs/Notification.md b/thousandeyes-sdk-alerts/docs/AlertNotification.md similarity index 54% rename from thousandeyes-sdk-alerts/docs/Notification.md rename to thousandeyes-sdk-alerts/docs/AlertNotification.md index c2cd41fd..9c7a98ef 100644 --- a/thousandeyes-sdk-alerts/docs/Notification.md +++ b/thousandeyes-sdk-alerts/docs/AlertNotification.md @@ -1,4 +1,4 @@ -# Notification +# AlertNotification Alert notification object. See Alert notification integrations. @@ -8,24 +8,25 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **email** | [**NotificationEmail**](NotificationEmail.md) | | [optional] **third_party** | [**List[NotificationThirdParty]**](NotificationThirdParty.md) | Third party notifications. | [optional] -**webhook** | [**List[NotificationWebhook]**](NotificationWebhook.md) | Webhooks 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.notification import Notification +from thousandeyes_sdk.alerts.models.alert_notification import AlertNotification # TODO update the JSON string below json = "{}" -# create an instance of Notification from a JSON string -notification_instance = Notification.from_json(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(Notification.to_json()) +print(AlertNotification.to_json()) # convert the object into a dict -notification_dict = notification_instance.to_dict() -# create an instance of Notification from a dict -notification_from_dict = Notification.from_dict(notification_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) diff --git a/thousandeyes-sdk-alerts/docs/AlertRoundsViolationMode.md b/thousandeyes-sdk-alerts/docs/AlertRoundsViolationMode.md index efe78921..fa049394 100644 --- a/thousandeyes-sdk-alerts/docs/AlertRoundsViolationMode.md +++ b/thousandeyes-sdk-alerts/docs/AlertRoundsViolationMode.md @@ -1,6 +1,6 @@ # AlertRoundsViolationMode -`exact` requires that the same agent(s) meet the threshold in consecutive rounds; default is `any` +`exact` requires the same agents to meet the threshold in consecutive rounds. `auto` is only enabled for CEA and Endpoint Scheduled test rules. The default is `any`. ## Properties diff --git a/thousandeyes-sdk-alerts/docs/AlertRule.md b/thousandeyes-sdk-alerts/docs/AlertRule.md deleted file mode 100644 index bbeecf85..00000000 --- a/thousandeyes-sdk-alerts/docs/AlertRule.md +++ /dev/null @@ -1,40 +0,0 @@ -# AlertRule - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**rule_id** | **str** | Unique ID of the rule | [optional] [readonly] -**rule_name** | **str** | Name of the alert rule | [optional] [readonly] -**expression** | **str** | String expression of alert rule | [optional] [readonly] -**direction** | [**AlertDirection**](AlertDirection.md) | | [optional] -**is_default** | **bool** | Alert rules allow up to 1 alert rule to be selected as a default for each type. By checking the default option, this alert rule will be automatically included on subsequently created tests that test a metric used in alerting here | [optional] [readonly] -**alert_type** | [**AlertType**](AlertType.md) | | [optional] -**minimum_sources** | **int** | The minimum number of agents or monitors that must meet the specified criteria in order to trigger the alert | [optional] [readonly] -**minimum_sources_pct** | **int** | the minimum percentage of all assigned agents or monitors that must meet the specified criteria in order to trigger the alert | [optional] [readonly] -**rounds_violating_mode** | [**AlertRoundsViolationMode**](AlertRoundsViolationMode.md) | | [optional] -**rounds_violating_out_of** | **int** | Specifies the divisor (y value) for the “X of Y times” condition. | [optional] [readonly] -**rounds_violating_required** | **int** | Specifies the numerator (x value) for the “X of Y times” condition | [optional] [readonly] -**severity** | [**Severity**](Severity.md) | | [optional] - -## Example - -```python -from thousandeyes_sdk.alerts.models.alert_rule import AlertRule - -# TODO update the JSON string below -json = "{}" -# create an instance of AlertRule from a JSON string -alert_rule_instance = AlertRule.from_json(json) -# print the JSON string representation of the object -print(AlertRule.to_json()) - -# convert the object into a dict -alert_rule_dict = alert_rule_instance.to_dict() -# create an instance of AlertRule from a dict -alert_rule_from_dict = AlertRule.from_dict(alert_rule_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) - - diff --git a/thousandeyes-sdk-alerts/docs/AlertRulesApi.md b/thousandeyes-sdk-alerts/docs/AlertRulesApi.md index 48967a22..0b71634f 100644 --- a/thousandeyes-sdk-alerts/docs/AlertRulesApi.md +++ b/thousandeyes-sdk-alerts/docs/AlertRulesApi.md @@ -1,14 +1,14 @@ # thousandeyes_sdk.alerts.AlertRulesApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_alert_rule**](AlertRulesApi.md#create_alert_rule) | **POST** /v7/alerts/rules | Create alert rule -[**delete_alert_rule**](AlertRulesApi.md#delete_alert_rule) | **DELETE** /v7/alerts/rules/{ruleId} | Delete alert rule -[**get_alert_rule**](AlertRulesApi.md#get_alert_rule) | **GET** /v7/alerts/rules/{ruleId} | Retrieve alert rule -[**get_alerts_rules**](AlertRulesApi.md#get_alerts_rules) | **GET** /v7/alerts/rules | List alert rules -[**update_alert_rule**](AlertRulesApi.md#update_alert_rule) | **PUT** /v7/alerts/rules/{ruleId} | Update alert rule +[**create_alert_rule**](AlertRulesApi.md#create_alert_rule) | **POST** /alerts/rules | Create alert rule +[**delete_alert_rule**](AlertRulesApi.md#delete_alert_rule) | **DELETE** /alerts/rules/{ruleId} | Delete alert rule +[**get_alert_rule**](AlertRulesApi.md#get_alert_rule) | **GET** /alerts/rules/{ruleId} | Retrieve alert rule +[**get_alerts_rules**](AlertRulesApi.md#get_alerts_rules) | **GET** /alerts/rules | List alert rules +[**update_alert_rule**](AlertRulesApi.md#update_alert_rule) | **PUT** /alerts/rules/{ruleId} | Update alert rule # **create_alert_rule** @@ -29,10 +29,10 @@ from thousandeyes_sdk.alerts.models.rule_detail_update import RuleDetailUpdate from thousandeyes_sdk.alerts.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -114,10 +114,10 @@ import thousandeyes_sdk.alerts from thousandeyes_sdk.alerts.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -198,10 +198,10 @@ from thousandeyes_sdk.alerts.models.rule_detail import RuleDetail from thousandeyes_sdk.alerts.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -283,10 +283,10 @@ from thousandeyes_sdk.alerts.models.rules import Rules from thousandeyes_sdk.alerts.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -367,10 +367,10 @@ from thousandeyes_sdk.alerts.models.rule_detail_update import RuleDetailUpdate from thousandeyes_sdk.alerts.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters diff --git a/thousandeyes-sdk-alerts/docs/AlertSuppressionWindowDetail.md b/thousandeyes-sdk-alerts/docs/AlertSuppressionWindowDetail.md index 0f5b223e..a3fba1a4 100644 --- a/thousandeyes-sdk-alerts/docs/AlertSuppressionWindowDetail.md +++ b/thousandeyes-sdk-alerts/docs/AlertSuppressionWindowDetail.md @@ -14,7 +14,7 @@ Name | Type | Description | Notes **repeat** | [**Repeat**](Repeat.md) | | [optional] **end_repeat** | [**EndRepeat**](EndRepeat.md) | | [optional] **links** | [**SelfLinks**](SelfLinks.md) | | [optional] -**tests** | [**List[BaseTest]**](BaseTest.md) | List of tests assigned to the alert suppression window. | [optional] +**tests** | [**List[SimpleTest]**](SimpleTest.md) | List of tests assigned to the alert suppression window. | [optional] ## Example diff --git a/thousandeyes-sdk-alerts/docs/AlertSuppressionWindowsApi.md b/thousandeyes-sdk-alerts/docs/AlertSuppressionWindowsApi.md index 999d1b21..b45482aa 100644 --- a/thousandeyes-sdk-alerts/docs/AlertSuppressionWindowsApi.md +++ b/thousandeyes-sdk-alerts/docs/AlertSuppressionWindowsApi.md @@ -1,14 +1,14 @@ # thousandeyes_sdk.alerts.AlertSuppressionWindowsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_alert_suppression_window**](AlertSuppressionWindowsApi.md#create_alert_suppression_window) | **POST** /v7/alert-suppression-windows | Create alert suppression window -[**delete_alert_suppression_window**](AlertSuppressionWindowsApi.md#delete_alert_suppression_window) | **DELETE** /v7/alert-suppression-windows/{windowId} | Delete alert suppression window -[**get_alert_suppression_window**](AlertSuppressionWindowsApi.md#get_alert_suppression_window) | **GET** /v7/alert-suppression-windows/{windowId} | Retrieve alert suppression window -[**get_alert_suppression_windows**](AlertSuppressionWindowsApi.md#get_alert_suppression_windows) | **GET** /v7/alert-suppression-windows | List alert suppression windows -[**update_alert_suppression_window**](AlertSuppressionWindowsApi.md#update_alert_suppression_window) | **PUT** /v7/alert-suppression-windows/{windowId} | Update alert suppression window +[**create_alert_suppression_window**](AlertSuppressionWindowsApi.md#create_alert_suppression_window) | **POST** /alert-suppression-windows | Create alert suppression window +[**delete_alert_suppression_window**](AlertSuppressionWindowsApi.md#delete_alert_suppression_window) | **DELETE** /alert-suppression-windows/{windowId} | Delete alert suppression window +[**get_alert_suppression_window**](AlertSuppressionWindowsApi.md#get_alert_suppression_window) | **GET** /alert-suppression-windows/{windowId} | Retrieve alert suppression window +[**get_alert_suppression_windows**](AlertSuppressionWindowsApi.md#get_alert_suppression_windows) | **GET** /alert-suppression-windows | List alert suppression windows +[**update_alert_suppression_window**](AlertSuppressionWindowsApi.md#update_alert_suppression_window) | **PUT** /alert-suppression-windows/{windowId} | Update alert suppression window # **create_alert_suppression_window** @@ -26,14 +26,14 @@ Creates a new alert suppression window in ThousandEyes, using the provided POST import thousandeyes_sdk.alerts 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.expand import Expand +from thousandeyes_sdk.alerts.models.expand_alert_test_options import ExpandAlertTestOptions from thousandeyes_sdk.alerts.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -52,7 +52,7 @@ with thousandeyes_sdk.alerts.ApiClient(configuration) as api_client: api_instance = thousandeyes_sdk.alerts.AlertSuppressionWindowsApi(api_client) 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) - 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: # Create alert suppression window @@ -72,7 +72,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **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] - **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 @@ -117,10 +117,10 @@ import thousandeyes_sdk.alerts from thousandeyes_sdk.alerts.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -198,14 +198,14 @@ Returns detailed information about an alert suppression window configured in you ```python import thousandeyes_sdk.alerts 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 pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -224,7 +224,7 @@ with thousandeyes_sdk.alerts.ApiClient(configuration) as api_client: api_instance = thousandeyes_sdk.alerts.AlertSuppressionWindowsApi(api_client) 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) - 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: # Retrieve alert suppression window @@ -244,7 +244,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **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] - **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 @@ -289,10 +289,10 @@ from thousandeyes_sdk.alerts.models.alert_suppression_windows import AlertSuppre from thousandeyes_sdk.alerts.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -370,14 +370,14 @@ Updates an alert suppression window in ThousandEyes, using the provided POST da import thousandeyes_sdk.alerts 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.expand import Expand +from thousandeyes_sdk.alerts.models.expand_alert_test_options import ExpandAlertTestOptions from thousandeyes_sdk.alerts.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -397,7 +397,7 @@ with thousandeyes_sdk.alerts.ApiClient(configuration) as api_client: window_id = '2411' # str | Unique window ID. 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) - 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: # Update alert suppression window @@ -418,7 +418,7 @@ Name | Type | Description | Notes **window_id** | **str**| Unique window ID. | **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] - **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 diff --git a/thousandeyes-sdk-alerts/docs/AlertsApi.md b/thousandeyes-sdk-alerts/docs/AlertsApi.md index 115d98cb..58412ec3 100644 --- a/thousandeyes-sdk-alerts/docs/AlertsApi.md +++ b/thousandeyes-sdk-alerts/docs/AlertsApi.md @@ -1,11 +1,11 @@ # thousandeyes_sdk.alerts.AlertsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**get_alert**](AlertsApi.md#get_alert) | **GET** /v7/alerts/{alertId} | Retrieve alert details -[**get_alerts**](AlertsApi.md#get_alerts) | **GET** /v7/alerts | List active alerts +[**get_alert**](AlertsApi.md#get_alert) | **GET** /alerts/{alertId} | Retrieve alert details +[**get_alerts**](AlertsApi.md#get_alerts) | **GET** /alerts | List active alerts # **get_alert** @@ -25,10 +25,10 @@ from thousandeyes_sdk.alerts.models.alert_detail import AlertDetail from thousandeyes_sdk.alerts.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -110,10 +110,10 @@ from thousandeyes_sdk.alerts.models.alerts import Alerts from thousandeyes_sdk.alerts.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters diff --git a/thousandeyes-sdk-alerts/docs/BaseAlert.md b/thousandeyes-sdk-alerts/docs/BaseAlert.md index 7824c126..b3c083c4 100644 --- a/thousandeyes-sdk-alerts/docs/BaseAlert.md +++ b/thousandeyes-sdk-alerts/docs/BaseAlert.md @@ -7,8 +7,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **id** | **str** | A unique ID for each individual alert occurrence. | [optional] [readonly] **alert_type** | [**AlertType**](AlertType.md) | | [optional] -**start_date** | **datetime** | The start date and time (in UTC, ISO 8601 format) for querying alerts. | [optional] [readonly] -**end_date** | **datetime** | The end 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** | (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] **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] diff --git a/thousandeyes-sdk-alerts/docs/BaseRule.md b/thousandeyes-sdk-alerts/docs/BaseRule.md index 53b4d42e..2b950285 100644 --- a/thousandeyes-sdk-alerts/docs/BaseRule.md +++ b/thousandeyes-sdk-alerts/docs/BaseRule.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**rule_id** | **str** | Unique ID of the rule | [optional] [readonly] +**rule_id** | **str** | Unique ID of the rule. | [optional] [readonly] **rule_name** | **str** | Name of the alert rule. | **expression** | **str** | The expression of the alert rule. | **direction** | [**AlertDirection**](AlertDirection.md) | | [optional] @@ -18,6 +18,7 @@ Name | Type | Description | Notes **rounds_violating_out_of** | **int** | Specifies the divisor (y value) in the “X of Y times” condition. | **rounds_violating_required** | **int** | Specifies the numerator (x value) in the “X of Y times” condition. | **include_covered_prefixes** | **bool** | Set true to include covered prefixes in the BGP alert rule. Only applicable to BGP alert rules. | [optional] +**sensitivity_level** | [**SensitivityLevel**](SensitivityLevel.md) | | [optional] **severity** | [**Severity**](Severity.md) | | [optional] ## Example diff --git a/thousandeyes-sdk-alerts/docs/BaseTest.md b/thousandeyes-sdk-alerts/docs/BaseTest.md deleted file mode 100644 index 2401e227..00000000 --- a/thousandeyes-sdk-alerts/docs/BaseTest.md +++ /dev/null @@ -1,32 +0,0 @@ -# BaseTest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**interval** | [**TestInterval**](TestInterval.md) | | [optional] -**alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] -**enabled** | **bool** | Test is enabled. | [optional] [default to True] -**alert_rules** | [**List[AlertRule]**](AlertRule.md) | Contains list of enabled alert rule objects. | [optional] - -## Example - -```python -from thousandeyes_sdk.alerts.models.base_test import BaseTest - -# TODO update the JSON string below -json = "{}" -# create an instance of BaseTest from a JSON string -base_test_instance = BaseTest.from_json(json) -# print the JSON string representation of the object -print(BaseTest.to_json()) - -# convert the object into a dict -base_test_dict = base_test_instance.to_dict() -# create an instance of BaseTest from a dict -base_test_from_dict = BaseTest.from_dict(base_test_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) - - diff --git a/thousandeyes-sdk-alerts/docs/CustomWebhookIntegrationType.md b/thousandeyes-sdk-alerts/docs/CustomWebhookIntegrationType.md new file mode 100644 index 00000000..6d2edbc7 --- /dev/null +++ b/thousandeyes-sdk-alerts/docs/CustomWebhookIntegrationType.md @@ -0,0 +1,12 @@ +# CustomWebhookIntegrationType + +Integration type. + +## 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) + + diff --git a/thousandeyes-sdk-alerts/docs/ExpandAlertTestOptions.md b/thousandeyes-sdk-alerts/docs/ExpandAlertTestOptions.md new file mode 100644 index 00000000..36ffec38 --- /dev/null +++ b/thousandeyes-sdk-alerts/docs/ExpandAlertTestOptions.md @@ -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) + + diff --git a/thousandeyes-sdk-alerts/docs/NotificationCustomWebhook.md b/thousandeyes-sdk-alerts/docs/NotificationCustomWebhook.md new file mode 100644 index 00000000..91e16528 --- /dev/null +++ b/thousandeyes-sdk-alerts/docs/NotificationCustomWebhook.md @@ -0,0 +1,33 @@ +# NotificationCustomWebhook + +Custom webhook notification. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**integration_id** | **str** | Integration ID. | [optional] +**integration_type** | [**CustomWebhookIntegrationType**](CustomWebhookIntegrationType.md) | | [optional] +**integration_name** | **str** | User-configured name of the integration. | [optional] +**target** | **str** | Webhook target URL. | [optional] + +## Example + +```python +from thousandeyes_sdk.alerts.models.notification_custom_webhook import NotificationCustomWebhook + +# TODO update the JSON string below +json = "{}" +# create an instance of NotificationCustomWebhook from a JSON string +notification_custom_webhook_instance = NotificationCustomWebhook.from_json(json) +# print the JSON string representation of the object +print(NotificationCustomWebhook.to_json()) + +# convert the object into a dict +notification_custom_webhook_dict = notification_custom_webhook_instance.to_dict() +# create an instance of NotificationCustomWebhook from a dict +notification_custom_webhook_from_dict = NotificationCustomWebhook.from_dict(notification_custom_webhook_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) + + diff --git a/thousandeyes-sdk-alerts/docs/Rule.md b/thousandeyes-sdk-alerts/docs/Rule.md index 2252330d..1a104404 100644 --- a/thousandeyes-sdk-alerts/docs/Rule.md +++ b/thousandeyes-sdk-alerts/docs/Rule.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**rule_id** | **str** | Unique ID of the rule | [optional] [readonly] +**rule_id** | **str** | Unique ID of the rule. | [optional] [readonly] **rule_name** | **str** | Name of the alert rule. | **expression** | **str** | The expression of the alert rule. | **direction** | [**AlertDirection**](AlertDirection.md) | | [optional] @@ -18,8 +18,9 @@ Name | Type | Description | Notes **rounds_violating_out_of** | **int** | Specifies the divisor (y value) in the “X of Y times” condition. | **rounds_violating_required** | **int** | Specifies the numerator (x value) in the “X of Y times” condition. | **include_covered_prefixes** | **bool** | Set true to include covered prefixes in the BGP alert rule. Only applicable to BGP alert rules. | [optional] +**sensitivity_level** | [**SensitivityLevel**](SensitivityLevel.md) | | [optional] **severity** | [**Severity**](Severity.md) | | [optional] -**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] **links** | [**SelfLinks**](SelfLinks.md) | | [optional] diff --git a/thousandeyes-sdk-alerts/docs/RuleDetail.md b/thousandeyes-sdk-alerts/docs/RuleDetail.md index 3c6ede1e..8c878a53 100644 --- a/thousandeyes-sdk-alerts/docs/RuleDetail.md +++ b/thousandeyes-sdk-alerts/docs/RuleDetail.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**rule_id** | **str** | Unique ID of the rule | [optional] [readonly] +**rule_id** | **str** | Unique ID of the rule. | [optional] [readonly] **rule_name** | **str** | Name of the alert rule. | **expression** | **str** | The expression of the alert rule. | **direction** | [**AlertDirection**](AlertDirection.md) | | [optional] @@ -18,9 +18,10 @@ Name | Type | Description | Notes **rounds_violating_out_of** | **int** | Specifies the divisor (y value) in the “X of Y times” condition. | **rounds_violating_required** | **int** | Specifies the numerator (x value) in the “X of Y times” condition. | **include_covered_prefixes** | **bool** | Set true to include covered prefixes in the BGP alert rule. Only applicable to BGP alert rules. | [optional] +**sensitivity_level** | [**SensitivityLevel**](SensitivityLevel.md) | | [optional] **severity** | [**Severity**](Severity.md) | | [optional] -**notifications** | [**Notification**](Notification.md) | | [optional] -**tests** | [**List[BaseTest]**](BaseTest.md) | | [optional] [readonly] +**notifications** | [**AlertNotification**](AlertNotification.md) | | [optional] +**tests** | [**List[SimpleTest]**](SimpleTest.md) | | [optional] [readonly] **links** | [**SelfLinks**](SelfLinks.md) | | [optional] ## Example diff --git a/thousandeyes-sdk-alerts/docs/RuleDetailUpdate.md b/thousandeyes-sdk-alerts/docs/RuleDetailUpdate.md index ff479713..05f35308 100644 --- a/thousandeyes-sdk-alerts/docs/RuleDetailUpdate.md +++ b/thousandeyes-sdk-alerts/docs/RuleDetailUpdate.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**rule_id** | **str** | Unique ID of the rule | [optional] [readonly] +**rule_id** | **str** | Unique ID of the rule. | [optional] [readonly] **rule_name** | **str** | Name of the alert rule. | **expression** | **str** | The expression of the alert rule. | **direction** | [**AlertDirection**](AlertDirection.md) | | [optional] @@ -18,8 +18,9 @@ Name | Type | Description | Notes **rounds_violating_out_of** | **int** | Specifies the divisor (y value) in the “X of Y times” condition. | **rounds_violating_required** | **int** | Specifies the numerator (x value) in the “X of Y times” condition. | **include_covered_prefixes** | **bool** | Set true to include covered prefixes in the BGP alert rule. Only applicable to BGP alert rules. | [optional] +**sensitivity_level** | [**SensitivityLevel**](SensitivityLevel.md) | | [optional] **severity** | [**Severity**](Severity.md) | | [optional] -**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] ## Example diff --git a/thousandeyes-sdk-alerts/docs/SensitivityLevel.md b/thousandeyes-sdk-alerts/docs/SensitivityLevel.md new file mode 100644 index 00000000..ac33f6e6 --- /dev/null +++ b/thousandeyes-sdk-alerts/docs/SensitivityLevel.md @@ -0,0 +1,12 @@ +# SensitivityLevel + +Used when `roundsViolatingMode` is set to `auto`. The default is `medium`. Higher sensitivity increases the likelihood of triggering alerts. + +## 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) + + diff --git a/thousandeyes-sdk-alerts/docs/SimpleTest.md b/thousandeyes-sdk-alerts/docs/SimpleTest.md new file mode 100644 index 00000000..5dd8156c --- /dev/null +++ b/thousandeyes-sdk-alerts/docs/SimpleTest.md @@ -0,0 +1,43 @@ +# SimpleTest + +Each test includes additional fields depending on its `type`. Refer `/tests/{type}` endpoint to know the set of fields returned by a given `type`. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**interval** | [**TestInterval**](TestInterval.md) | | [optional] +**alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] +**enabled** | **bool** | Test is enabled. | [optional] [default to True] +**created_by** | **str** | User that created the test. | [optional] [readonly] +**created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] +**description** | **str** | A description of the test. | [optional] +**live_share** | **bool** | Indicates if the test is shared with the account group. | [optional] [readonly] +**modified_by** | **str** | User that modified the test. | [optional] [readonly] +**modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] +**saved_event** | **bool** | Indicates if the test is a saved event. | [optional] [readonly] +**test_id** | **str** | Each test is assigned an unique ID; this is used to access test information and results from other endpoints. | [optional] [readonly] +**test_name** | **str** | The name of the test. Test name must be unique. | [optional] +**type** | [**TestType**](TestType.md) | | [optional] +**links** | [**TestLinks**](TestLinks.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.alerts.models.simple_test import SimpleTest + +# TODO update the JSON string below +json = "{}" +# create an instance of SimpleTest from a JSON string +simple_test_instance = SimpleTest.from_json(json) +# print the JSON string representation of the object +print(SimpleTest.to_json()) + +# convert the object into a dict +simple_test_dict = simple_test_instance.to_dict() +# create an instance of SimpleTest from a dict +simple_test_from_dict = SimpleTest.from_dict(simple_test_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) + + diff --git a/thousandeyes-sdk-alerts/docs/TestLinks.md b/thousandeyes-sdk-alerts/docs/TestLinks.md new file mode 100644 index 00000000..d487a409 --- /dev/null +++ b/thousandeyes-sdk-alerts/docs/TestLinks.md @@ -0,0 +1,31 @@ +# TestLinks + +A list of links that can be accessed to get more information + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_self** | [**TestSelfLink**](TestSelfLink.md) | | [optional] +**test_results** | [**List[Link]**](Link.md) | Reference to the test results. | [optional] + +## Example + +```python +from thousandeyes_sdk.alerts.models.test_links import TestLinks + +# TODO update the JSON string below +json = "{}" +# create an instance of TestLinks from a JSON string +test_links_instance = TestLinks.from_json(json) +# print the JSON string representation of the object +print(TestLinks.to_json()) + +# convert the object into a dict +test_links_dict = test_links_instance.to_dict() +# create an instance of TestLinks from a dict +test_links_from_dict = TestLinks.from_dict(test_links_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) + + diff --git a/thousandeyes-sdk-alerts/docs/TestSelfLink.md b/thousandeyes-sdk-alerts/docs/TestSelfLink.md new file mode 100644 index 00000000..d344ccdf --- /dev/null +++ b/thousandeyes-sdk-alerts/docs/TestSelfLink.md @@ -0,0 +1,36 @@ +# TestSelfLink + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | Its value is either a URI [RFC3986] or a URI template [RFC6570]. | +**templated** | **bool** | Should be true when the link object's \"href\" property is a URI template. | [optional] +**type** | **str** | Used as a hint to indicate the media type expected when dereferencing the target resource. | [optional] +**deprecation** | **str** | Its presence indicates that the link is to be deprecated at a future date. Its value is a URL that should provide further information about the deprecation. | [optional] +**name** | **str** | Its value may be used as a secondary key for selecting link objects that share the same relation type. | [optional] +**profile** | **str** | A URI that hints about the profile of the target resource. | [optional] +**title** | **str** | Intended for labelling the link with a human-readable identifier | [optional] +**hreflang** | **str** | Indicates the language of the target resource | [optional] + +## Example + +```python +from thousandeyes_sdk.alerts.models.test_self_link import TestSelfLink + +# TODO update the JSON string below +json = "{}" +# create an instance of TestSelfLink from a JSON string +test_self_link_instance = TestSelfLink.from_json(json) +# print the JSON string representation of the object +print(TestSelfLink.to_json()) + +# convert the object into a dict +test_self_link_dict = test_self_link_instance.to_dict() +# create an instance of TestSelfLink from a dict +test_self_link_from_dict = TestSelfLink.from_dict(test_self_link_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) + + diff --git a/thousandeyes-sdk-alerts/docs/TestType.md b/thousandeyes-sdk-alerts/docs/TestType.md new file mode 100644 index 00000000..8093a739 --- /dev/null +++ b/thousandeyes-sdk-alerts/docs/TestType.md @@ -0,0 +1,12 @@ +# TestType + +This is a read only value, as test type is implicit in the test creation url. + +## 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) + + diff --git a/thousandeyes-sdk-alerts/docs/UnexpandedTest.md b/thousandeyes-sdk-alerts/docs/UnexpandedTest.md deleted file mode 100644 index 7e770d2e..00000000 --- a/thousandeyes-sdk-alerts/docs/UnexpandedTest.md +++ /dev/null @@ -1,31 +0,0 @@ -# UnexpandedTest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**interval** | [**TestInterval**](TestInterval.md) | | [optional] -**alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] -**enabled** | **bool** | Test is enabled. | [optional] [default to True] - -## Example - -```python -from thousandeyes_sdk.alerts.models.unexpanded_test import UnexpandedTest - -# TODO update the JSON string below -json = "{}" -# create an instance of UnexpandedTest from a JSON string -unexpanded_test_instance = UnexpandedTest.from_json(json) -# print the JSON string representation of the object -print(UnexpandedTest.to_json()) - -# convert the object into a dict -unexpanded_test_dict = unexpanded_test_instance.to_dict() -# create an instance of UnexpandedTest from a dict -unexpanded_test_from_dict = UnexpandedTest.from_dict(unexpanded_test_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) - - diff --git a/thousandeyes-sdk-alerts/pyproject.toml b/thousandeyes-sdk-alerts/pyproject.toml index b7b3d230..4dec8053 100644 --- a/thousandeyes-sdk-alerts/pyproject.toml +++ b/thousandeyes-sdk-alerts/pyproject.toml @@ -9,9 +9,9 @@ description = "ThousandEyes SDK Alerts API" license = { file = "LICENSE" } requires-python = ">= 3.8" dependencies = [ - "urllib3 >= 1.25.3", + "urllib3 >= 2.0.0", "python-dateutil >=2.8.2", - "pydantic >=2", + "pydantic >=2.1.0", "typing-extensions >=4.7.1", "thousandeyes-sdk-core", ] diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/__init__.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/__init__.py index 8785d6da..5d58b312 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/__init__.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/__init__.py @@ -7,7 +7,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -27,8 +26,8 @@ from thousandeyes_sdk.alerts.models.alert_direction import AlertDirection from thousandeyes_sdk.alerts.models.alert_links import AlertLinks from thousandeyes_sdk.alerts.models.alert_meta import AlertMeta from thousandeyes_sdk.alerts.models.alert_metric_detail import AlertMetricDetail +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_rule import AlertRule from thousandeyes_sdk.alerts.models.alert_suppression_window import AlertSuppressionWindow from thousandeyes_sdk.alerts.models.alert_suppression_window_detail import AlertSuppressionWindowDetail from thousandeyes_sdk.alerts.models.alert_suppression_window_request import AlertSuppressionWindowRequest @@ -39,17 +38,17 @@ from thousandeyes_sdk.alerts.models.alerts import Alerts from thousandeyes_sdk.alerts.models.base_alert import BaseAlert from thousandeyes_sdk.alerts.models.base_alert_suppression_window import BaseAlertSuppressionWindow from thousandeyes_sdk.alerts.models.base_rule import BaseRule -from thousandeyes_sdk.alerts.models.base_test import BaseTest +from thousandeyes_sdk.alerts.models.custom_webhook_integration_type import CustomWebhookIntegrationType from thousandeyes_sdk.alerts.models.days_of_week import DaysOfWeek 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_type import EndRepeatType 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.legacy_alert import LegacyAlert 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_email import NotificationEmail from thousandeyes_sdk.alerts.models.notification_third_party import NotificationThirdParty from thousandeyes_sdk.alerts.models.notification_webhook import NotificationWebhook @@ -61,13 +60,17 @@ from thousandeyes_sdk.alerts.models.rule_detail import RuleDetail from thousandeyes_sdk.alerts.models.rule_detail_update import RuleDetailUpdate from thousandeyes_sdk.alerts.models.rules import Rules from thousandeyes_sdk.alerts.models.self_links import SelfLinks +from thousandeyes_sdk.alerts.models.sensitivity_level import SensitivityLevel from thousandeyes_sdk.alerts.models.severity import Severity +from thousandeyes_sdk.alerts.models.simple_test import SimpleTest from thousandeyes_sdk.alerts.models.start_alert_metrics import StartAlertMetrics from thousandeyes_sdk.alerts.models.state import State from thousandeyes_sdk.alerts.models.test_interval import TestInterval +from thousandeyes_sdk.alerts.models.test_links import TestLinks +from thousandeyes_sdk.alerts.models.test_self_link import TestSelfLink +from thousandeyes_sdk.alerts.models.test_type import TestType from thousandeyes_sdk.alerts.models.third_party_integration_type import ThirdPartyIntegrationType from thousandeyes_sdk.alerts.models.unauthorized_error import UnauthorizedError -from thousandeyes_sdk.alerts.models.unexpanded_test import UnexpandedTest from thousandeyes_sdk.alerts.models.validation_error import ValidationError from thousandeyes_sdk.alerts.models.validation_error_item import ValidationErrorItem from thousandeyes_sdk.alerts.models.webhook_integration_type import WebhookIntegrationType diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/api/alert_rules_api.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/api/alert_rules_api.py index d9279388..dfcda38c 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/api/alert_rules_api.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/api/alert_rules_api.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -340,7 +339,7 @@ class AlertRulesApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/alerts/rules', + resource_path='/alerts/rules', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -636,7 +635,7 @@ class AlertRulesApi: return self.api_client.param_serialize( method='DELETE', - resource_path='/v7/alerts/rules/{ruleId}', + resource_path='/alerts/rules/{ruleId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -930,7 +929,7 @@ class AlertRulesApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/alerts/rules/{ruleId}', + resource_path='/alerts/rules/{ruleId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1209,7 +1208,7 @@ class AlertRulesApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/alerts/rules', + resource_path='/alerts/rules', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1534,7 +1533,7 @@ class AlertRulesApi: return self.api_client.param_serialize( method='PUT', - resource_path='/v7/alerts/rules/{ruleId}', + resource_path='/alerts/rules/{ruleId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/api/alert_suppression_windows_api.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/api/alert_suppression_windows_api.py index b465a9a1..731b5c06 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/api/alert_suppression_windows_api.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/api/alert_suppression_windows_api.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -25,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_request import AlertSuppressionWindowRequest 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_response import ApiResponse @@ -51,7 +50,7 @@ class AlertSuppressionWindowsApi: self, 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, - 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[ None, Annotated[StrictFloat, Field(gt=0)], @@ -74,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. :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. - :type expand: List[Expand] + :type expand: List[ExpandAlertTestOptions] :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 @@ -133,7 +132,7 @@ class AlertSuppressionWindowsApi: self, 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, - 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[ None, Annotated[StrictFloat, Field(gt=0)], @@ -156,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. :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. - :type expand: List[Expand] + :type expand: List[ExpandAlertTestOptions] :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 @@ -215,7 +214,7 @@ class AlertSuppressionWindowsApi: self, 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, - 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[ None, Annotated[StrictFloat, Field(gt=0)], @@ -238,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. :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. - :type expand: List[Expand] + :type expand: List[ExpandAlertTestOptions] :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 @@ -358,7 +357,7 @@ class AlertSuppressionWindowsApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/alert-suppression-windows', + resource_path='/alert-suppression-windows', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -654,7 +653,7 @@ class AlertSuppressionWindowsApi: return self.api_client.param_serialize( method='DELETE', - resource_path='/v7/alert-suppression-windows/{windowId}', + resource_path='/alert-suppression-windows/{windowId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -675,7 +674,7 @@ class AlertSuppressionWindowsApi: self, 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, - 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[ None, Annotated[StrictFloat, Field(gt=0)], @@ -698,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. :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. - :type expand: List[Expand] + :type expand: List[ExpandAlertTestOptions] :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 @@ -756,7 +755,7 @@ class AlertSuppressionWindowsApi: self, 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, - 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[ None, Annotated[StrictFloat, Field(gt=0)], @@ -779,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. :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. - :type expand: List[Expand] + :type expand: List[ExpandAlertTestOptions] :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 @@ -837,7 +836,7 @@ class AlertSuppressionWindowsApi: self, 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, - 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[ None, Annotated[StrictFloat, Field(gt=0)], @@ -860,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. :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. - :type expand: List[Expand] + :type expand: List[ExpandAlertTestOptions] :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 @@ -966,7 +965,7 @@ class AlertSuppressionWindowsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/alert-suppression-windows/{windowId}', + resource_path='/alert-suppression-windows/{windowId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1245,7 +1244,7 @@ class AlertSuppressionWindowsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/alert-suppression-windows', + resource_path='/alert-suppression-windows', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1267,7 +1266,7 @@ class AlertSuppressionWindowsApi: window_id: Annotated[StrictStr, Field(description="Unique window ID.")], 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, - 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[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1292,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. :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. - :type expand: List[Expand] + :type expand: List[ExpandAlertTestOptions] :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 @@ -1353,7 +1352,7 @@ class AlertSuppressionWindowsApi: window_id: Annotated[StrictStr, Field(description="Unique window ID.")], 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, - 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[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1378,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. :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. - :type expand: List[Expand] + :type expand: List[ExpandAlertTestOptions] :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 @@ -1439,7 +1438,7 @@ class AlertSuppressionWindowsApi: window_id: Annotated[StrictStr, Field(description="Unique window ID.")], 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, - 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[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1464,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. :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. - :type expand: List[Expand] + :type expand: List[ExpandAlertTestOptions] :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 @@ -1588,7 +1587,7 @@ class AlertSuppressionWindowsApi: return self.api_client.param_serialize( method='PUT', - resource_path='/v7/alert-suppression-windows/{windowId}', + resource_path='/alert-suppression-windows/{windowId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/api/alerts_api.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/api/alerts_api.py index 6b44edb0..20cc5bd5 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/api/alerts_api.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/api/alerts_api.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -323,7 +322,7 @@ class AlertsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/alerts/{alertId}', + resource_path='/alerts/{alertId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -705,7 +704,7 @@ class AlertsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/alerts', + resource_path='/alerts', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/__init__.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/__init__.py index 4ae9f3d9..5facbecd 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/__init__.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/__init__.py @@ -6,7 +6,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,8 +19,8 @@ from thousandeyes_sdk.alerts.models.alert_direction import AlertDirection from thousandeyes_sdk.alerts.models.alert_links import AlertLinks from thousandeyes_sdk.alerts.models.alert_meta import AlertMeta from thousandeyes_sdk.alerts.models.alert_metric_detail import AlertMetricDetail +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_rule import AlertRule from thousandeyes_sdk.alerts.models.alert_suppression_window import AlertSuppressionWindow from thousandeyes_sdk.alerts.models.alert_suppression_window_detail import AlertSuppressionWindowDetail from thousandeyes_sdk.alerts.models.alert_suppression_window_request import AlertSuppressionWindowRequest @@ -32,17 +31,17 @@ from thousandeyes_sdk.alerts.models.alerts import Alerts from thousandeyes_sdk.alerts.models.base_alert import BaseAlert from thousandeyes_sdk.alerts.models.base_alert_suppression_window import BaseAlertSuppressionWindow from thousandeyes_sdk.alerts.models.base_rule import BaseRule -from thousandeyes_sdk.alerts.models.base_test import BaseTest +from thousandeyes_sdk.alerts.models.custom_webhook_integration_type import CustomWebhookIntegrationType from thousandeyes_sdk.alerts.models.days_of_week import DaysOfWeek 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_type import EndRepeatType 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.legacy_alert import LegacyAlert 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_email import NotificationEmail from thousandeyes_sdk.alerts.models.notification_third_party import NotificationThirdParty from thousandeyes_sdk.alerts.models.notification_webhook import NotificationWebhook @@ -54,13 +53,17 @@ from thousandeyes_sdk.alerts.models.rule_detail import RuleDetail from thousandeyes_sdk.alerts.models.rule_detail_update import RuleDetailUpdate from thousandeyes_sdk.alerts.models.rules import Rules from thousandeyes_sdk.alerts.models.self_links import SelfLinks +from thousandeyes_sdk.alerts.models.sensitivity_level import SensitivityLevel from thousandeyes_sdk.alerts.models.severity import Severity +from thousandeyes_sdk.alerts.models.simple_test import SimpleTest from thousandeyes_sdk.alerts.models.start_alert_metrics import StartAlertMetrics from thousandeyes_sdk.alerts.models.state import State from thousandeyes_sdk.alerts.models.test_interval import TestInterval +from thousandeyes_sdk.alerts.models.test_links import TestLinks +from thousandeyes_sdk.alerts.models.test_self_link import TestSelfLink +from thousandeyes_sdk.alerts.models.test_type import TestType from thousandeyes_sdk.alerts.models.third_party_integration_type import ThirdPartyIntegrationType from thousandeyes_sdk.alerts.models.unauthorized_error import UnauthorizedError -from thousandeyes_sdk.alerts.models.unexpanded_test import UnexpandedTest from thousandeyes_sdk.alerts.models.validation_error import ValidationError from thousandeyes_sdk.alerts.models.validation_error_item import ValidationErrorItem from thousandeyes_sdk.alerts.models.webhook_integration_type import WebhookIntegrationType diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert.py index 71c9cc66..cc0ae52d 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -34,8 +33,8 @@ class Alert(BaseModel): """ # noqa: E501 id: Optional[StrictStr] = Field(default=None, description="A unique ID for each individual alert occurrence.") 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") - end_date: Optional[datetime] = Field(default=None, description="The end date and time (in UTC, ISO 8601 format) for querying alerts.", alias="endDate") + 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="(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") 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.") @@ -49,7 +48,7 @@ class Alert(BaseModel): severity: Optional[StrictStr] = Field(default=None, description="The severity of the alert.") permalink: Optional[StrictStr] = Field(default=None, description="Hyperlink to alerts list, with row expanded") api_links: Optional[List[Dict[str, Any]]] = Field(default=None, description="List of hyperlinks to other areas of the API", alias="apiLinks") - alert_rule_id: Optional[StrictStr] = Field(default=None, description="Unique ID of the rule", alias="alertRuleId") + alert_rule_id: Optional[StrictStr] = Field(default=None, description="Unique ID of the rule.", alias="alertRuleId") alert_state: Optional[State] = Field(default=None, alias="alertState") alert_severity: Optional[Severity] = Field(default=None, alias="alertSeverity") __properties: ClassVar[List[str]] = ["id", "alertType", "startDate", "endDate", "violationCount", "duration", "suppressed", "meta", "_links", "alertId", "dateStart", "dateEnd", "ruleId", "state", "severity", "permalink", "apiLinks", "alertRuleId", "alertState", "alertSeverity"] @@ -60,8 +59,8 @@ class Alert(BaseModel): if value is None: return value - if value not in set(['ACTIVE', 'CLEARED']): - raise ValueError("must be one of enum values ('ACTIVE', 'CLEARED')") + if value not in set(['ACTIVE', 'CLEARED', 'unknown']): + raise ValueError("must be one of enum values ('ACTIVE', 'CLEARED', 'unknown')") return value @field_validator('severity') diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_detail.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_detail.py index 2ef74ffc..4667450b 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_detail.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_detail.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -35,8 +34,8 @@ class AlertDetail(BaseModel): """ # noqa: E501 id: Optional[StrictStr] = Field(default=None, description="A unique ID for each individual alert occurrence.") 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") - end_date: Optional[datetime] = Field(default=None, description="The end date and time (in UTC, ISO 8601 format) for querying alerts.", alias="endDate") + 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="(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") 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.") diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_direction.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_direction.py index 1532b440..78a72e46 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_direction.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_direction.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class AlertDirection(str, Enum): TO_MINUS_TARGET = 'to-target' FROM_MINUS_TARGET = 'from-target' BIDIRECTIONAL = 'bidirectional' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of AlertDirection from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_links.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_links.py index 698a55c7..e2be56c9 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_links.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_links.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_meta.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_meta.py index d9f7c9ef..670730d7 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_meta.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_meta.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_metric_detail.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_metric_detail.py index d9087402..ac4c7d4f 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_metric_detail.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_metric_detail.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/notification.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_notification.py similarity index 82% rename from thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/notification.py rename to thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_notification.py index 550a757d..a46f2228 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/notification.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_notification.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -19,20 +18,22 @@ 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 Notification(BaseModel): +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="Webhooks notifications.") - __properties: ClassVar[List[str]] = ["email", "thirdParty", "webhook"] + 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, @@ -53,7 +54,7 @@ class Notification(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of Notification from a JSON string""" + """Create an instance of AlertNotification from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -91,11 +92,18 @@ class Notification(BaseModel): 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 Notification from a dict""" + """Create an instance of AlertNotification from a dict""" if obj is None: return None @@ -105,7 +113,8 @@ class Notification(BaseModel): _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 + "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 diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_rounds_violation_mode.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_rounds_violation_mode.py index b39d808a..9a791092 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_rounds_violation_mode.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_rounds_violation_mode.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,7 +19,7 @@ from typing_extensions import Self class AlertRoundsViolationMode(str, Enum): """ - `exact` requires that the same agent(s) meet the threshold in consecutive rounds; default is `any` + `exact` requires the same agents to meet the threshold in consecutive rounds. `auto` is only enabled for CEA and Endpoint Scheduled test rules. The default is `any`. """ """ @@ -28,10 +27,16 @@ class AlertRoundsViolationMode(str, Enum): """ EXACT = 'exact' ANY = 'any' + AUTO = 'auto' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of AlertRoundsViolationMode from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_rule.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_rule.py deleted file mode 100644 index c8b98080..00000000 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_rule.py +++ /dev/null @@ -1,130 +0,0 @@ -# coding: utf-8 - -""" - Alerts API - - You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - - The version of the OpenAPI document: 7.0.8 - 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, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.alerts.models.alert_direction import AlertDirection -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.severity import Severity -from typing import Optional, Set -from typing_extensions import Self - -class AlertRule(BaseModel): - """ - AlertRule - """ # noqa: E501 - rule_id: Optional[StrictStr] = Field(default=None, description="Unique ID of the rule", alias="ruleId") - rule_name: Optional[StrictStr] = Field(default=None, description="Name of the alert rule", alias="ruleName") - expression: Optional[StrictStr] = Field(default=None, description="String expression of alert rule") - direction: Optional[AlertDirection] = None - is_default: Optional[StrictBool] = Field(default=None, description="Alert rules allow up to 1 alert rule to be selected as a default for each type. By checking the default option, this alert rule will be automatically included on subsequently created tests that test a metric used in alerting here", alias="isDefault") - alert_type: Optional[AlertType] = Field(default=None, alias="alertType") - minimum_sources: Optional[StrictInt] = Field(default=None, description="The minimum number of agents or monitors that must meet the specified criteria in order to trigger the alert", alias="minimumSources") - minimum_sources_pct: Optional[StrictInt] = Field(default=None, description="the minimum percentage of all assigned agents or monitors that must meet the specified criteria in order to trigger the alert", alias="minimumSourcesPct") - rounds_violating_mode: Optional[AlertRoundsViolationMode] = Field(default=None, alias="roundsViolatingMode") - rounds_violating_out_of: Optional[StrictInt] = Field(default=None, description="Specifies the divisor (y value) for the “X of Y times” condition.", alias="roundsViolatingOutOf") - rounds_violating_required: Optional[StrictInt] = Field(default=None, description="Specifies the numerator (x value) for the “X of Y times” condition", alias="roundsViolatingRequired") - severity: Optional[Severity] = None - __properties: ClassVar[List[str]] = ["ruleId", "ruleName", "expression", "direction", "isDefault", "alertType", "minimumSources", "minimumSourcesPct", "roundsViolatingMode", "roundsViolatingOutOf", "roundsViolatingRequired", "severity"] - - 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 AlertRule 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([ - "rule_id", - "rule_name", - "expression", - "is_default", - "minimum_sources", - "minimum_sources_pct", - "rounds_violating_out_of", - "rounds_violating_required", - ]) - - _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 AlertRule from a dict""" - if obj is None: - return None - - if not isinstance(obj, dict): - return cls.model_validate(obj) - - _obj = cls.model_validate({ - "ruleId": obj.get("ruleId"), - "ruleName": obj.get("ruleName"), - "expression": obj.get("expression"), - "direction": obj.get("direction"), - "isDefault": obj.get("isDefault"), - "alertType": obj.get("alertType"), - "minimumSources": obj.get("minimumSources"), - "minimumSourcesPct": obj.get("minimumSourcesPct"), - "roundsViolatingMode": obj.get("roundsViolatingMode"), - "roundsViolatingOutOf": obj.get("roundsViolatingOutOf"), - "roundsViolatingRequired": obj.get("roundsViolatingRequired"), - "severity": obj.get("severity") - }) - return _obj - - diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_suppression_window.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_suppression_window.py index a1f2b19c..b68a4a7f 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_suppression_window.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_suppression_window.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_suppression_window_detail.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_suppression_window_detail.py index 9fea9805..c5a590b8 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_suppression_window_detail.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_suppression_window_detail.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,10 +20,10 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.alerts.models.alert_suppression_window_state import AlertSuppressionWindowState -from thousandeyes_sdk.alerts.models.base_test import BaseTest from thousandeyes_sdk.alerts.models.end_repeat import EndRepeat from thousandeyes_sdk.alerts.models.repeat import Repeat from thousandeyes_sdk.alerts.models.self_links import SelfLinks +from thousandeyes_sdk.alerts.models.simple_test import SimpleTest from typing import Optional, Set from typing_extensions import Self @@ -41,7 +40,7 @@ class AlertSuppressionWindowDetail(BaseModel): repeat: Optional[Repeat] = None end_repeat: Optional[EndRepeat] = Field(default=None, alias="endRepeat") links: Optional[SelfLinks] = Field(default=None, alias="_links") - tests: Optional[List[BaseTest]] = Field(default=None, description="List of tests assigned to the alert suppression window.") + tests: Optional[List[SimpleTest]] = Field(default=None, description="List of tests assigned to the alert suppression window.") __properties: ClassVar[List[str]] = ["alertSuppressionWindowId", "name", "isEnabled", "status", "startDate", "duration", "repeat", "endRepeat", "_links", "tests"] model_config = ConfigDict( @@ -123,7 +122,7 @@ class AlertSuppressionWindowDetail(BaseModel): "repeat": Repeat.from_dict(obj["repeat"]) if obj.get("repeat") is not None else None, "endRepeat": EndRepeat.from_dict(obj["endRepeat"]) if obj.get("endRepeat") is not None else None, "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") 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": [SimpleTest.from_dict(_item) for _item in obj["tests"]] if obj.get("tests") is not None else None }) return _obj diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_suppression_window_request.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_suppression_window_request.py index 61e05848..de93a0b9 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_suppression_window_request.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_suppression_window_request.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_suppression_window_state.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_suppression_window_state.py index 02e486b7..b925acc0 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_suppression_window_state.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_suppression_window_state.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class AlertSuppressionWindowState(str, Enum): ACTIVE = 'active' INACTIVE = 'inactive' ENDED = 'ended' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of AlertSuppressionWindowState from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_suppression_windows.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_suppression_windows.py index 22cf8038..1e93c14c 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_suppression_windows.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_suppression_windows.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_type.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_type.py index e8666b57..7d1ed589 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_type.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alert_type.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -59,4 +58,8 @@ class AlertType(str, Enum): """Create an instance of AlertType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alerts.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alerts.py index 2c4d0696..dc5f5a17 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alerts.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/alerts.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/base_alert.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/base_alert.py index 9a23517c..b0a5101d 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/base_alert.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/base_alert.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -32,8 +31,8 @@ class BaseAlert(BaseModel): """ # noqa: E501 id: Optional[StrictStr] = Field(default=None, description="A unique ID for each individual alert occurrence.") 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") - end_date: Optional[datetime] = Field(default=None, description="The end date and time (in UTC, ISO 8601 format) for querying alerts.", alias="endDate") + 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="(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") 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.") diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/base_alert_suppression_window.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/base_alert_suppression_window.py index 698dbb8f..f8cedf10 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/base_alert_suppression_window.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/base_alert_suppression_window.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/base_rule.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/base_rule.py index 8a26b3dd..af5d3884 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/base_rule.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/base_rule.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,6 +21,7 @@ from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.alerts.models.alert_direction import AlertDirection 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.sensitivity_level import SensitivityLevel from thousandeyes_sdk.alerts.models.severity import Severity from typing import Optional, Set from typing_extensions import Self @@ -30,7 +30,7 @@ class BaseRule(BaseModel): """ BaseRule """ # noqa: E501 - rule_id: Optional[StrictStr] = Field(default=None, description="Unique ID of the rule", alias="ruleId") + rule_id: Optional[StrictStr] = Field(default=None, description="Unique ID of the rule.", alias="ruleId") rule_name: StrictStr = Field(description="Name of the alert rule.", alias="ruleName") expression: StrictStr = Field(description="The expression of the alert rule.") direction: Optional[AlertDirection] = None @@ -43,8 +43,9 @@ class BaseRule(BaseModel): rounds_violating_out_of: StrictInt = Field(description="Specifies the divisor (y value) in the “X of Y times” condition.", alias="roundsViolatingOutOf") rounds_violating_required: StrictInt = Field(description="Specifies the numerator (x value) in the “X of Y times” condition.", alias="roundsViolatingRequired") include_covered_prefixes: Optional[StrictBool] = Field(default=None, description="Set true to include covered prefixes in the BGP alert rule. Only applicable to BGP alert rules.", alias="includeCoveredPrefixes") + sensitivity_level: Optional[SensitivityLevel] = Field(default=None, alias="sensitivityLevel") severity: Optional[Severity] = None - __properties: ClassVar[List[str]] = ["ruleId", "ruleName", "expression", "direction", "notifyOnClear", "isDefault", "alertType", "minimumSources", "minimumSourcesPct", "roundsViolatingMode", "roundsViolatingOutOf", "roundsViolatingRequired", "includeCoveredPrefixes", "severity"] + __properties: ClassVar[List[str]] = ["ruleId", "ruleName", "expression", "direction", "notifyOnClear", "isDefault", "alertType", "minimumSources", "minimumSourcesPct", "roundsViolatingMode", "roundsViolatingOutOf", "roundsViolatingRequired", "includeCoveredPrefixes", "sensitivityLevel", "severity"] model_config = ConfigDict( populate_by_name=True, @@ -113,6 +114,7 @@ class BaseRule(BaseModel): "roundsViolatingOutOf": obj.get("roundsViolatingOutOf"), "roundsViolatingRequired": obj.get("roundsViolatingRequired"), "includeCoveredPrefixes": obj.get("includeCoveredPrefixes"), + "sensitivityLevel": obj.get("sensitivityLevel"), "severity": obj.get("severity") }) return _obj diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/custom_webhook_integration_type.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/custom_webhook_integration_type.py new file mode 100644 index 00000000..8f65122c --- /dev/null +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/custom_webhook_integration_type.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + Alerts API + + You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class CustomWebhookIntegrationType(str, Enum): + """ + Integration type. + """ + + """ + allowed enum values + """ + CUSTOM_MINUS_WEBHOOK = 'custom-webhook' + UNKNOWN = 'unknown' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of CustomWebhookIntegrationType from a JSON string""" + return cls(json.loads(json_str)) + + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN + diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/days_of_week.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/days_of_week.py index 567dcf65..7fdbab45 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/days_of_week.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/days_of_week.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -33,10 +32,15 @@ class DaysOfWeek(str, Enum): THU = 'thu' FRI = 'fri' SAT = 'sat' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of DaysOfWeek from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/end_alert_metrics.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/end_alert_metrics.py index bc2540a9..0edf68f5 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/end_alert_metrics.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/end_alert_metrics.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/end_repeat.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/end_repeat.py index dec7cbd5..0a53614f 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/end_repeat.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/end_repeat.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/end_repeat_type.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/end_repeat_type.py index 0db78508..7e06c149 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/end_repeat_type.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/end_repeat_type.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class EndRepeatType(str, Enum): COUNT = 'count' NEVER = 'never' DATE = 'date' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of EndRepeatType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/error.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/error.py index 6154edda..e0bc4073 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/error.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/error.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/expand.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/expand_alert_test_options.py similarity index 82% rename from thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/expand.py rename to thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/expand_alert_test_options.py index 0bb35ef3..92eb994c 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/expand.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/expand_alert_test_options.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -18,19 +17,24 @@ from enum import Enum from typing_extensions import Self -class Expand(str, Enum): +class ExpandAlertTestOptions(str, Enum): """ - Expand + ExpandAlertTestOptions """ """ allowed enum values """ TEST = 'test' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: - """Create an instance of Expand from a JSON string""" + """Create an instance of ExpandAlertTestOptions from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/interval_type.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/interval_type.py index 3bbe512e..91abfc0e 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/interval_type.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/interval_type.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class IntervalType(str, Enum): DAY = 'day' WEEK = 'week' MONTH = 'month' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of IntervalType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/legacy_alert.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/legacy_alert.py index b615e091..697fc501 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/legacy_alert.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/legacy_alert.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -42,8 +41,8 @@ class LegacyAlert(BaseModel): if value is None: return value - if value not in set(['ACTIVE', 'CLEARED']): - raise ValueError("must be one of enum values ('ACTIVE', 'CLEARED')") + if value not in set(['ACTIVE', 'CLEARED', 'unknown']): + raise ValueError("must be one of enum values ('ACTIVE', 'CLEARED', 'unknown')") return value @field_validator('severity') diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/link.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/link.py index e71e3e4d..ec42de17 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/link.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/link.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/unexpanded_test.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/notification_custom_webhook.py similarity index 71% rename from thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/unexpanded_test.py rename to thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/notification_custom_webhook.py index 67339877..1c9f222f 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/unexpanded_test.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/notification_custom_webhook.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,20 +16,21 @@ import pprint import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictBool +from pydantic import BaseModel, ConfigDict, Field, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.alerts.models.test_interval import TestInterval +from thousandeyes_sdk.alerts.models.custom_webhook_integration_type import CustomWebhookIntegrationType from typing import Optional, Set from typing_extensions import Self -class UnexpandedTest(BaseModel): +class NotificationCustomWebhook(BaseModel): """ - UnexpandedTest + Custom webhook notification. """ # noqa: E501 - interval: Optional[TestInterval] = None - alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") - enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled"] + integration_id: Optional[StrictStr] = Field(default=None, description="Integration ID.", alias="integrationId") + integration_type: Optional[CustomWebhookIntegrationType] = Field(default=None, alias="integrationType") + integration_name: Optional[StrictStr] = Field(default=None, description="User-configured name of the integration.", alias="integrationName") + target: Optional[StrictStr] = Field(default=None, description="Webhook target URL.") + __properties: ClassVar[List[str]] = ["integrationId", "integrationType", "integrationName", "target"] model_config = ConfigDict( populate_by_name=True, @@ -51,7 +51,7 @@ class UnexpandedTest(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of UnexpandedTest from a JSON string""" + """Create an instance of NotificationCustomWebhook from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -76,7 +76,7 @@ class UnexpandedTest(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of UnexpandedTest from a dict""" + """Create an instance of NotificationCustomWebhook from a dict""" if obj is None: return None @@ -84,9 +84,10 @@ class UnexpandedTest(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ - "interval": obj.get("interval"), - "alertsEnabled": obj.get("alertsEnabled"), - "enabled": obj.get("enabled") if obj.get("enabled") is not None else True + "integrationId": obj.get("integrationId"), + "integrationType": obj.get("integrationType"), + "integrationName": obj.get("integrationName"), + "target": obj.get("target") }) return _obj diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/notification_email.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/notification_email.py index c542227c..b0eb7580 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/notification_email.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/notification_email.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/notification_third_party.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/notification_third_party.py index 8557b372..5061687c 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/notification_third_party.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/notification_third_party.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/notification_webhook.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/notification_webhook.py index 3dde73c5..6d76039d 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/notification_webhook.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/notification_webhook.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/pagination_links.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/pagination_links.py index e39bc0c6..9dbe4cfb 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/pagination_links.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/pagination_links.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/repeat.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/repeat.py index e570449b..1c0ddbc9 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/repeat.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/repeat.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/repeat_type.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/repeat_type.py index 81776230..dc4035d6 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/repeat_type.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/repeat_type.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -30,10 +29,15 @@ class RepeatType(str, Enum): WEEK = 'week' MONTH = 'month' CUSTOM = 'custom' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of RepeatType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/rule.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/rule.py index 1cc1ef2b..d4ebda5b 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/rule.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/rule.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,10 +19,11 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional 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_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.sensitivity_level import SensitivityLevel from thousandeyes_sdk.alerts.models.severity import Severity from typing import Optional, Set from typing_extensions import Self @@ -32,7 +32,7 @@ class Rule(BaseModel): """ Rule """ # noqa: E501 - rule_id: Optional[StrictStr] = Field(default=None, description="Unique ID of the rule", alias="ruleId") + rule_id: Optional[StrictStr] = Field(default=None, description="Unique ID of the rule.", alias="ruleId") rule_name: StrictStr = Field(description="Name of the alert rule.", alias="ruleName") expression: StrictStr = Field(description="The expression of the alert rule.") direction: Optional[AlertDirection] = None @@ -45,11 +45,12 @@ class Rule(BaseModel): rounds_violating_out_of: StrictInt = Field(description="Specifies the divisor (y value) in the “X of Y times” condition.", alias="roundsViolatingOutOf") rounds_violating_required: StrictInt = Field(description="Specifies the numerator (x value) in the “X of Y times” condition.", alias="roundsViolatingRequired") include_covered_prefixes: Optional[StrictBool] = Field(default=None, description="Set true to include covered prefixes in the BGP alert rule. Only applicable to BGP alert rules.", alias="includeCoveredPrefixes") + sensitivity_level: Optional[SensitivityLevel] = Field(default=None, alias="sensitivityLevel") severity: Optional[Severity] = None - 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") 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", "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"] model_config = ConfigDict( populate_by_name=True, @@ -124,8 +125,9 @@ class Rule(BaseModel): "roundsViolatingOutOf": obj.get("roundsViolatingOutOf"), "roundsViolatingRequired": obj.get("roundsViolatingRequired"), "includeCoveredPrefixes": obj.get("includeCoveredPrefixes"), + "sensitivityLevel": obj.get("sensitivityLevel"), "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"), "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None }) diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/rule_detail.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/rule_detail.py index a30b46c6..79f0d434 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/rule_detail.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/rule_detail.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,12 +19,13 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional 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_type import AlertType -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.sensitivity_level import SensitivityLevel from thousandeyes_sdk.alerts.models.severity import Severity +from thousandeyes_sdk.alerts.models.simple_test import SimpleTest from typing import Optional, Set from typing_extensions import Self @@ -33,7 +33,7 @@ class RuleDetail(BaseModel): """ RuleDetail """ # noqa: E501 - rule_id: Optional[StrictStr] = Field(default=None, description="Unique ID of the rule", alias="ruleId") + rule_id: Optional[StrictStr] = Field(default=None, description="Unique ID of the rule.", alias="ruleId") rule_name: StrictStr = Field(description="Name of the alert rule.", alias="ruleName") expression: StrictStr = Field(description="The expression of the alert rule.") direction: Optional[AlertDirection] = None @@ -46,11 +46,12 @@ class RuleDetail(BaseModel): rounds_violating_out_of: StrictInt = Field(description="Specifies the divisor (y value) in the “X of Y times” condition.", alias="roundsViolatingOutOf") rounds_violating_required: StrictInt = Field(description="Specifies the numerator (x value) in the “X of Y times” condition.", alias="roundsViolatingRequired") include_covered_prefixes: Optional[StrictBool] = Field(default=None, description="Set true to include covered prefixes in the BGP alert rule. Only applicable to BGP alert rules.", alias="includeCoveredPrefixes") + sensitivity_level: Optional[SensitivityLevel] = Field(default=None, alias="sensitivityLevel") severity: Optional[Severity] = None - notifications: Optional[Notification] = None - tests: Optional[List[BaseTest]] = None + notifications: Optional[AlertNotification] = None + tests: Optional[List[SimpleTest]] = None 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", "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"] model_config = ConfigDict( populate_by_name=True, @@ -134,9 +135,10 @@ class RuleDetail(BaseModel): "roundsViolatingOutOf": obj.get("roundsViolatingOutOf"), "roundsViolatingRequired": obj.get("roundsViolatingRequired"), "includeCoveredPrefixes": obj.get("includeCoveredPrefixes"), + "sensitivityLevel": obj.get("sensitivityLevel"), "severity": obj.get("severity"), - "notifications": Notification.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, + "notifications": AlertNotification.from_dict(obj["notifications"]) if obj.get("notifications") is not None else None, + "tests": [SimpleTest.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 }) return _obj diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/rule_detail_update.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/rule_detail_update.py index a72ea8cf..9cee41d4 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/rule_detail_update.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/rule_detail_update.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,9 +19,10 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional 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_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.severity import Severity from typing import Optional, Set from typing_extensions import Self @@ -31,7 +31,7 @@ class RuleDetailUpdate(BaseModel): """ RuleDetailUpdate """ # noqa: E501 - rule_id: Optional[StrictStr] = Field(default=None, description="Unique ID of the rule", alias="ruleId") + rule_id: Optional[StrictStr] = Field(default=None, description="Unique ID of the rule.", alias="ruleId") rule_name: StrictStr = Field(description="Name of the alert rule.", alias="ruleName") expression: StrictStr = Field(description="The expression of the alert rule.") direction: Optional[AlertDirection] = None @@ -44,10 +44,11 @@ class RuleDetailUpdate(BaseModel): rounds_violating_out_of: StrictInt = Field(description="Specifies the divisor (y value) in the “X of Y times” condition.", alias="roundsViolatingOutOf") rounds_violating_required: StrictInt = Field(description="Specifies the numerator (x value) in the “X of Y times” condition.", alias="roundsViolatingRequired") include_covered_prefixes: Optional[StrictBool] = Field(default=None, description="Set true to include covered prefixes in the BGP alert rule. Only applicable to BGP alert rules.", alias="includeCoveredPrefixes") + sensitivity_level: Optional[SensitivityLevel] = Field(default=None, alias="sensitivityLevel") severity: Optional[Severity] = None - 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") - __properties: ClassVar[List[str]] = ["ruleId", "ruleName", "expression", "direction", "notifyOnClear", "isDefault", "alertType", "minimumSources", "minimumSourcesPct", "roundsViolatingMode", "roundsViolatingOutOf", "roundsViolatingRequired", "includeCoveredPrefixes", "severity", "notifications", "testIds"] + __properties: ClassVar[List[str]] = ["ruleId", "ruleName", "expression", "direction", "notifyOnClear", "isDefault", "alertType", "minimumSources", "minimumSourcesPct", "roundsViolatingMode", "roundsViolatingOutOf", "roundsViolatingRequired", "includeCoveredPrefixes", "sensitivityLevel", "severity", "notifications", "testIds"] model_config = ConfigDict( populate_by_name=True, @@ -119,8 +120,9 @@ class RuleDetailUpdate(BaseModel): "roundsViolatingOutOf": obj.get("roundsViolatingOutOf"), "roundsViolatingRequired": obj.get("roundsViolatingRequired"), "includeCoveredPrefixes": obj.get("includeCoveredPrefixes"), + "sensitivityLevel": obj.get("sensitivityLevel"), "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") }) return _obj diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/rules.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/rules.py index fbe068d6..f0c69e99 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/rules.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/rules.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/self_links.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/self_links.py index 03e6ec4f..f9e968c5 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/self_links.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/self_links.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/sensitivity_level.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/sensitivity_level.py new file mode 100644 index 00000000..f22f9d52 --- /dev/null +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/sensitivity_level.py @@ -0,0 +1,42 @@ +# coding: utf-8 + +""" + Alerts API + + You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class SensitivityLevel(str, Enum): + """ + Used when `roundsViolatingMode` is set to `auto`. The default is `medium`. Higher sensitivity increases the likelihood of triggering alerts. + """ + + """ + allowed enum values + """ + HIGH = 'high' + MEDIUM = 'medium' + LOW = 'low' + UNKNOWN = 'unknown' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of SensitivityLevel from a JSON string""" + return cls(json.loads(json_str)) + + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN + diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/severity.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/severity.py index 69820a06..b44b34f6 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/severity.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/severity.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -37,4 +36,8 @@ class Severity(str, Enum): """Create an instance of Severity from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/simple_test.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/simple_test.py new file mode 100644 index 00000000..7ebdce1a --- /dev/null +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/simple_test.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + Alerts API + + You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.alerts.models.test_interval import TestInterval +from thousandeyes_sdk.alerts.models.test_links import TestLinks +from thousandeyes_sdk.alerts.models.test_type import TestType +from typing import Optional, Set +from typing_extensions import Self + +class SimpleTest(BaseModel): + """ + Each test includes additional fields depending on its `type`. Refer `/tests/{type}` endpoint to know the set of fields returned by a given `type`. + """ # noqa: E501 + interval: Optional[TestInterval] = None + alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") + enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") + created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") + created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") + description: Optional[StrictStr] = Field(default=None, description="A description of the test.") + live_share: Optional[StrictBool] = Field(default=None, description="Indicates if the test is shared with the account group.", alias="liveShare") + modified_by: Optional[StrictStr] = Field(default=None, description="User that modified the test.", alias="modifiedBy") + modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") + saved_event: Optional[StrictBool] = Field(default=None, description="Indicates if the test is a saved event.", alias="savedEvent") + test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned an unique ID; this is used to access test information and results from other endpoints.", alias="testId") + test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") + type: Optional[TestType] = None + links: Optional[TestLinks] = Field(default=None, alias="_links") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + extra="allow", + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of SimpleTest 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. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "created_by", + "created_date", + "live_share", + "modified_by", + "modified_date", + "saved_event", + "test_id", + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SimpleTest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "interval": obj.get("interval"), + "alertsEnabled": obj.get("alertsEnabled"), + "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, + "createdBy": obj.get("createdBy"), + "createdDate": obj.get("createdDate"), + "description": obj.get("description"), + "liveShare": obj.get("liveShare"), + "modifiedBy": obj.get("modifiedBy"), + "modifiedDate": obj.get("modifiedDate"), + "savedEvent": obj.get("savedEvent"), + "testId": obj.get("testId"), + "testName": obj.get("testName"), + "type": obj.get("type"), + "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None + }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/start_alert_metrics.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/start_alert_metrics.py index 4ce18152..e435b3da 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/start_alert_metrics.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/start_alert_metrics.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/state.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/state.py index ca5221ef..5b0dec38 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/state.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/state.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class State(str, Enum): ACTIVE = 'active' CLEAR = 'clear' TRIGGER = 'trigger' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of State from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/test_interval.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/test_interval.py index 85483fec..a9342acb 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/test_interval.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/test_interval.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -33,10 +32,15 @@ class TestInterval(int, Enum): NUMBER_900 = 900 NUMBER_1800 = 1800 NUMBER_3600 = 3600 + NUMBER_11184809 = 11184809 @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestInterval from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/base_test.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/test_links.py similarity index 69% rename from thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/base_test.py rename to thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/test_links.py index cbafb3cb..c7b8738c 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/base_test.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/test_links.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,22 +16,20 @@ import pprint import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictBool +from pydantic import BaseModel, ConfigDict, Field from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.alerts.models.alert_rule import AlertRule -from thousandeyes_sdk.alerts.models.test_interval import TestInterval +from thousandeyes_sdk.alerts.models.link import Link +from thousandeyes_sdk.alerts.models.test_self_link import TestSelfLink from typing import Optional, Set from typing_extensions import Self -class BaseTest(BaseModel): +class TestLinks(BaseModel): """ - BaseTest + A list of links that can be accessed to get more information """ # noqa: E501 - interval: Optional[TestInterval] = None - alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") - enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") - alert_rules: Optional[List[AlertRule]] = Field(default=None, description="Contains list of enabled alert rule objects.", alias="alertRules") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules"] + var_self: Optional[TestSelfLink] = Field(default=None, alias="self") + test_results: Optional[List[Link]] = Field(default=None, description="Reference to the test results.", alias="testResults") + __properties: ClassVar[List[str]] = ["self", "testResults"] model_config = ConfigDict( populate_by_name=True, @@ -53,7 +50,7 @@ class BaseTest(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of BaseTest from a JSON string""" + """Create an instance of TestLinks from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -74,18 +71,21 @@ class BaseTest(BaseModel): exclude=excluded_fields, exclude_none=True, ) - # override the default output from pydantic by calling `to_dict()` of each item in alert_rules (list) + # override the default output from pydantic by calling `to_dict()` of var_self + if self.var_self: + _dict['self'] = self.var_self.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in test_results (list) _items = [] - if self.alert_rules: - for _item in self.alert_rules: + if self.test_results: + for _item in self.test_results: if _item: _items.append(_item.to_dict()) - _dict['alertRules'] = _items + _dict['testResults'] = _items return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of BaseTest from a dict""" + """Create an instance of TestLinks from a dict""" if obj is None: return None @@ -93,10 +93,8 @@ class BaseTest(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ - "interval": obj.get("interval"), - "alertsEnabled": obj.get("alertsEnabled"), - "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, - "alertRules": [AlertRule.from_dict(_item) for _item in obj["alertRules"]] if obj.get("alertRules") is not None else None + "self": TestSelfLink.from_dict(obj["self"]) if obj.get("self") is not None else None, + "testResults": [Link.from_dict(_item) for _item in obj["testResults"]] if obj.get("testResults") is not None else None }) return _obj diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/test_self_link.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/test_self_link.py new file mode 100644 index 00000000..9897f345 --- /dev/null +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/test_self_link.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Alerts API + + You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class TestSelfLink(BaseModel): + """ + TestSelfLink + """ # noqa: E501 + href: StrictStr = Field(description="Its value is either a URI [RFC3986] or a URI template [RFC6570].") + templated: Optional[StrictBool] = Field(default=None, description="Should be true when the link object's \"href\" property is a URI template.") + type: Optional[StrictStr] = Field(default=None, description="Used as a hint to indicate the media type expected when dereferencing the target resource.") + deprecation: Optional[StrictStr] = Field(default=None, description="Its presence indicates that the link is to be deprecated at a future date. Its value is a URL that should provide further information about the deprecation.") + name: Optional[StrictStr] = Field(default=None, description="Its value may be used as a secondary key for selecting link objects that share the same relation type.") + profile: Optional[StrictStr] = Field(default=None, description="A URI that hints about the profile of the target resource.") + title: Optional[StrictStr] = Field(default=None, description="Intended for labelling the link with a human-readable identifier") + hreflang: Optional[StrictStr] = Field(default=None, description="Indicates the language of the target resource") + __properties: ClassVar[List[str]] = ["href", "templated", "type", "deprecation", "name", "profile", "title", "hreflang"] + + 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 TestSelfLink 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 TestSelfLink from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "href": obj.get("href"), + "templated": obj.get("templated"), + "type": obj.get("type"), + "deprecation": obj.get("deprecation"), + "name": obj.get("name"), + "profile": obj.get("profile"), + "title": obj.get("title"), + "hreflang": obj.get("hreflang") + }) + return _obj + + diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/test_type.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/test_type.py new file mode 100644 index 00000000..43e7d936 --- /dev/null +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/test_type.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Alerts API + + You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class TestType(str, Enum): + """ + This is a read only value, as test type is implicit in the test creation url. + """ + + """ + allowed enum values + """ + API = 'api' + AGENT_MINUS_TO_MINUS_AGENT = 'agent-to-agent' + AGENT_MINUS_TO_MINUS_SERVER = 'agent-to-server' + BGP = 'bgp' + HTTP_MINUS_SERVER = 'http-server' + PAGE_MINUS_LOAD = 'page-load' + WEB_MINUS_TRANSACTIONS = 'web-transactions' + FTP_MINUS_SERVER = 'ftp-server' + DNS_MINUS_TRACE = 'dns-trace' + DNS_MINUS_SERVER = 'dns-server' + DNSSEC = 'dnssec' + SIP_MINUS_SERVER = 'sip-server' + VOICE = 'voice' + UNKNOWN = 'unknown' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of TestType from a JSON string""" + return cls(json.loads(json_str)) + + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN + diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/third_party_integration_type.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/third_party_integration_type.py index 1f5b2eab..c7dc42c6 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/third_party_integration_type.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/third_party_integration_type.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -26,12 +25,18 @@ class ThirdPartyIntegrationType(str, Enum): """ allowed enum values """ - PAGERDUTY = 'pagerduty' + PAGER_MINUS_DUTY = 'pager-duty' SLACK = 'slack' + APP_MINUS_DYNAMICS = 'app-dynamics' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of ThirdPartyIntegrationType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/unauthorized_error.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/unauthorized_error.py index c933aadf..9a391a26 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/unauthorized_error.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/unauthorized_error.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/validation_error.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/validation_error.py index f4227aec..37d9acbc 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/validation_error.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/validation_error.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/validation_error_item.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/validation_error_item.py index 983bf35b..318ee65d 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/validation_error_item.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/validation_error_item.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/webhook_integration_type.py b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/webhook_integration_type.py index 225eee02..b37a1b89 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/webhook_integration_type.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/webhook_integration_type.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -27,10 +26,15 @@ class WebhookIntegrationType(str, Enum): allowed enum values """ WEBHOOK = 'webhook' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of WebhookIntegrationType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-alerts/test/test_alert_rules_api.py b/thousandeyes-sdk-alerts/test/test_alert_rules_api.py index 4e276b12..93c71f01 100644 --- a/thousandeyes-sdk-alerts/test/test_alert_rules_api.py +++ b/thousandeyes-sdk-alerts/test/test_alert_rules_api.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -38,6 +37,7 @@ class TestAlertRulesApi(unittest.TestCase): "alertType" : "http-server", "includeCoveredPrefixes" : true, "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "notifyOnClear" : true, "testIds" : [ "281474976710706", "271659" ], "roundsViolatingOutOf" : 5, @@ -65,7 +65,18 @@ class TestAlertRulesApi(unittest.TestCase): "email" : { "recipients" : [ "noreply@thousandeyes.com" ], "message" : "Notification message" - } + }, + "customWebhook" : [ { + "integrationType" : "custom-webhook", + "integrationName" : "My webhook", + "integrationId" : "cwb-201", + "target" : "https://example.com/test/webhooks/notifications" + }, { + "integrationType" : "custom-webhook", + "integrationName" : "My webhook", + "integrationId" : "cwb-201", + "target" : "https://example.com/test/webhooks/notifications" + } ] }, "direction" : "to-target" }""" @@ -93,6 +104,7 @@ class TestAlertRulesApi(unittest.TestCase): }, "includeCoveredPrefixes" : true, "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "notifyOnClear" : true, "testIds" : [ "281474976710706", "271659" ], "roundsViolatingOutOf" : 5, @@ -120,7 +132,18 @@ class TestAlertRulesApi(unittest.TestCase): "email" : { "recipients" : [ "noreply@thousandeyes.com" ], "message" : "Notification message" - } + }, + "customWebhook" : [ { + "integrationType" : "custom-webhook", + "integrationName" : "My webhook", + "integrationId" : "cwb-201", + "target" : "https://example.com/test/webhooks/notifications" + }, { + "integrationType" : "custom-webhook", + "integrationName" : "My webhook", + "integrationId" : "cwb-201", + "target" : "https://example.com/test/webhooks/notifications" + } ] }, "direction" : "to-target" }""" @@ -155,72 +178,73 @@ class TestAlertRulesApi(unittest.TestCase): }, "includeCoveredPrefixes" : true, "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "notifyOnClear" : true, "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, "tests" : [ { - "alertRules" : [ { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - }, { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - } ], - "interval" : 120, + "_links" : { + "testResults" : [ { + "href" : "https://api.thousandeyes.com/v7/test-results/281474976710706/network" + }, { + "href" : "https://api.thousandeyes.com/v7/test-results/281474976710706/path-vis" + } ], + "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" + } + }, + "liveShare" : false, + "savedEvent" : true, + "description" : "ThousandEyes Test", + "type" : "agent-to-server", + "enabled" : true, + "createdDate" : "2022-07-17T22:00:54Z", + "createdBy" : "user@user.com", + "modifiedDate" : "2022-07-17T22:00:54Z", + "interval" : 60, + "modifiedBy" : "user@user.com", + "testId" : "281474976710706", "alertsEnabled" : true, - "enabled" : true + "testName" : "ThousandEyes Test" }, { - "alertRules" : [ { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - }, { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - } ], - "interval" : 120, + "_links" : { + "testResults" : [ { + "href" : "https://api.thousandeyes.com/v7/test-results/281474976710706/network" + }, { + "href" : "https://api.thousandeyes.com/v7/test-results/281474976710706/path-vis" + } ], + "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" + } + }, + "liveShare" : false, + "savedEvent" : true, + "description" : "ThousandEyes Test", + "type" : "agent-to-server", + "enabled" : true, + "createdDate" : "2022-07-17T22:00:54Z", + "createdBy" : "user@user.com", + "modifiedDate" : "2022-07-17T22:00:54Z", + "interval" : 60, + "modifiedBy" : "user@user.com", + "testId" : "281474976710706", "alertsEnabled" : true, - "enabled" : true + "testName" : "ThousandEyes Test" } ], "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", @@ -244,7 +268,18 @@ class TestAlertRulesApi(unittest.TestCase): "email" : { "recipients" : [ "noreply@thousandeyes.com" ], "message" : "Notification message" - } + }, + "customWebhook" : [ { + "integrationType" : "custom-webhook", + "integrationName" : "My webhook", + "integrationId" : "cwb-201", + "target" : "https://example.com/test/webhooks/notifications" + }, { + "integrationType" : "custom-webhook", + "integrationName" : "My webhook", + "integrationId" : "cwb-201", + "target" : "https://example.com/test/webhooks/notifications" + } ] }, "direction" : "to-target" }""" @@ -276,6 +311,7 @@ class TestAlertRulesApi(unittest.TestCase): "alertType" : "http-server", "includeCoveredPrefixes" : true, "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "notifyOnClear" : true, "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, @@ -291,6 +327,7 @@ class TestAlertRulesApi(unittest.TestCase): "alertType" : "http-server", "includeCoveredPrefixes" : true, "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "notifyOnClear" : true, "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, @@ -316,6 +353,7 @@ class TestAlertRulesApi(unittest.TestCase): "alertType" : "http-server", "includeCoveredPrefixes" : true, "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "notifyOnClear" : true, "testIds" : [ "281474976710706", "271659" ], "roundsViolatingOutOf" : 5, @@ -343,7 +381,18 @@ class TestAlertRulesApi(unittest.TestCase): "email" : { "recipients" : [ "noreply@thousandeyes.com" ], "message" : "Notification message" - } + }, + "customWebhook" : [ { + "integrationType" : "custom-webhook", + "integrationName" : "My webhook", + "integrationId" : "cwb-201", + "target" : "https://example.com/test/webhooks/notifications" + }, { + "integrationType" : "custom-webhook", + "integrationName" : "My webhook", + "integrationId" : "cwb-201", + "target" : "https://example.com/test/webhooks/notifications" + } ] }, "direction" : "to-target" }""" @@ -371,6 +420,7 @@ class TestAlertRulesApi(unittest.TestCase): }, "includeCoveredPrefixes" : true, "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "notifyOnClear" : true, "testIds" : [ "281474976710706", "271659" ], "roundsViolatingOutOf" : 5, @@ -398,7 +448,18 @@ class TestAlertRulesApi(unittest.TestCase): "email" : { "recipients" : [ "noreply@thousandeyes.com" ], "message" : "Notification message" - } + }, + "customWebhook" : [ { + "integrationType" : "custom-webhook", + "integrationName" : "My webhook", + "integrationId" : "cwb-201", + "target" : "https://example.com/test/webhooks/notifications" + }, { + "integrationType" : "custom-webhook", + "integrationName" : "My webhook", + "integrationId" : "cwb-201", + "target" : "https://example.com/test/webhooks/notifications" + } ] }, "direction" : "to-target" }""" diff --git a/thousandeyes-sdk-alerts/test/test_alert_suppression_windows_api.py b/thousandeyes-sdk-alerts/test/test_alert_suppression_windows_api.py index 00b8e4ef..a10b81cf 100644 --- a/thousandeyes-sdk-alerts/test/test_alert_suppression_windows_api.py +++ b/thousandeyes-sdk-alerts/test/test_alert_suppression_windows_api.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -62,67 +61,67 @@ class TestAlertSuppressionWindowsApi(unittest.TestCase): "duration" : 0, "alertSuppressionWindowId" : "2411", "tests" : [ { - "alertRules" : [ { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - }, { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - } ], - "interval" : 120, + "_links" : { + "testResults" : [ { + "href" : "https://api.thousandeyes.com/v7/test-results/281474976710706/network" + }, { + "href" : "https://api.thousandeyes.com/v7/test-results/281474976710706/path-vis" + } ], + "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" + } + }, + "liveShare" : false, + "savedEvent" : true, + "description" : "ThousandEyes Test", + "type" : "agent-to-server", + "enabled" : true, + "createdDate" : "2022-07-17T22:00:54Z", + "createdBy" : "user@user.com", + "modifiedDate" : "2022-07-17T22:00:54Z", + "interval" : 60, + "modifiedBy" : "user@user.com", + "testId" : "281474976710706", "alertsEnabled" : true, - "enabled" : true + "testName" : "ThousandEyes Test" }, { - "alertRules" : [ { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - }, { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - } ], - "interval" : 120, + "_links" : { + "testResults" : [ { + "href" : "https://api.thousandeyes.com/v7/test-results/281474976710706/network" + }, { + "href" : "https://api.thousandeyes.com/v7/test-results/281474976710706/path-vis" + } ], + "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" + } + }, + "liveShare" : false, + "savedEvent" : true, + "description" : "ThousandEyes Test", + "type" : "agent-to-server", + "enabled" : true, + "createdDate" : "2022-07-17T22:00:54Z", + "createdBy" : "user@user.com", + "modifiedDate" : "2022-07-17T22:00:54Z", + "interval" : 60, + "modifiedBy" : "user@user.com", + "testId" : "281474976710706", "alertsEnabled" : true, - "enabled" : true + "testName" : "ThousandEyes Test" } ], "_links" : { "self" : { @@ -169,67 +168,67 @@ class TestAlertSuppressionWindowsApi(unittest.TestCase): "duration" : 0, "alertSuppressionWindowId" : "2411", "tests" : [ { - "alertRules" : [ { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - }, { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - } ], - "interval" : 120, + "_links" : { + "testResults" : [ { + "href" : "https://api.thousandeyes.com/v7/test-results/281474976710706/network" + }, { + "href" : "https://api.thousandeyes.com/v7/test-results/281474976710706/path-vis" + } ], + "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" + } + }, + "liveShare" : false, + "savedEvent" : true, + "description" : "ThousandEyes Test", + "type" : "agent-to-server", + "enabled" : true, + "createdDate" : "2022-07-17T22:00:54Z", + "createdBy" : "user@user.com", + "modifiedDate" : "2022-07-17T22:00:54Z", + "interval" : 60, + "modifiedBy" : "user@user.com", + "testId" : "281474976710706", "alertsEnabled" : true, - "enabled" : true + "testName" : "ThousandEyes Test" }, { - "alertRules" : [ { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - }, { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - } ], - "interval" : 120, + "_links" : { + "testResults" : [ { + "href" : "https://api.thousandeyes.com/v7/test-results/281474976710706/network" + }, { + "href" : "https://api.thousandeyes.com/v7/test-results/281474976710706/path-vis" + } ], + "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" + } + }, + "liveShare" : false, + "savedEvent" : true, + "description" : "ThousandEyes Test", + "type" : "agent-to-server", + "enabled" : true, + "createdDate" : "2022-07-17T22:00:54Z", + "createdBy" : "user@user.com", + "modifiedDate" : "2022-07-17T22:00:54Z", + "interval" : 60, + "modifiedBy" : "user@user.com", + "testId" : "281474976710706", "alertsEnabled" : true, - "enabled" : true + "testName" : "ThousandEyes Test" } ], "_links" : { "self" : { @@ -381,67 +380,67 @@ class TestAlertSuppressionWindowsApi(unittest.TestCase): "duration" : 0, "alertSuppressionWindowId" : "2411", "tests" : [ { - "alertRules" : [ { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - }, { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - } ], - "interval" : 120, + "_links" : { + "testResults" : [ { + "href" : "https://api.thousandeyes.com/v7/test-results/281474976710706/network" + }, { + "href" : "https://api.thousandeyes.com/v7/test-results/281474976710706/path-vis" + } ], + "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" + } + }, + "liveShare" : false, + "savedEvent" : true, + "description" : "ThousandEyes Test", + "type" : "agent-to-server", + "enabled" : true, + "createdDate" : "2022-07-17T22:00:54Z", + "createdBy" : "user@user.com", + "modifiedDate" : "2022-07-17T22:00:54Z", + "interval" : 60, + "modifiedBy" : "user@user.com", + "testId" : "281474976710706", "alertsEnabled" : true, - "enabled" : true + "testName" : "ThousandEyes Test" }, { - "alertRules" : [ { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - }, { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - } ], - "interval" : 120, + "_links" : { + "testResults" : [ { + "href" : "https://api.thousandeyes.com/v7/test-results/281474976710706/network" + }, { + "href" : "https://api.thousandeyes.com/v7/test-results/281474976710706/path-vis" + } ], + "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" + } + }, + "liveShare" : false, + "savedEvent" : true, + "description" : "ThousandEyes Test", + "type" : "agent-to-server", + "enabled" : true, + "createdDate" : "2022-07-17T22:00:54Z", + "createdBy" : "user@user.com", + "modifiedDate" : "2022-07-17T22:00:54Z", + "interval" : 60, + "modifiedBy" : "user@user.com", + "testId" : "281474976710706", "alertsEnabled" : true, - "enabled" : true + "testName" : "ThousandEyes Test" } ], "_links" : { "self" : { diff --git a/thousandeyes-sdk-alerts/test/test_alerts_api.py b/thousandeyes-sdk-alerts/test/test_alerts_api.py index 7fe5dda2..47f83451 100644 --- a/thousandeyes-sdk-alerts/test/test_alerts_api.py +++ b/thousandeyes-sdk-alerts/test/test_alerts_api.py @@ -5,7 +5,6 @@ You can manage the following alert functionalities on the ThousandEyes platform using the Alerts API: * **Alerts**: Retrieve alert details. Alerts are assigned to tests through alert rules. * **Alert Rules**: Conditions that you configure in order to highlight or be notified of events of interest in your ThousandEyes tests. When an alert rule’s conditions are met, the associated alert is triggered and the alert becomes active. It remains active until the alert is cleared. Alert rules are reusable across multiple tests.. * **Alert Suppression Windows**: Suppress alerts for tests during periods such as planned maintenance. Windows can be one-time events or recurring events to handle periodic occurrences such as monthly downtime for maintenance. For more information about the alerts, see [Alerts](https://docs.thousandeyes.com/product-documentation/alerts). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -38,7 +37,7 @@ class TestAlertsApi(unittest.TestCase): "severity" : "major", "alertType" : "http-server", "violationCount" : 2, - "endDate" : "2020-04-23T13:43:16Z", + "endDate" : "2022-07-18T22:00:54Z", "_links" : { "appLink" : { "hreflang" : "hreflang", @@ -110,7 +109,7 @@ class TestAlertsApi(unittest.TestCase): "id" : "e9c3bf02-a48c-4aa8-9e5f-898800d6f569", "suppressed" : false, "state" : "active", - "startDate" : "2020-04-23T13:43:16Z" + "startDate" : "2022-07-17T22:00:54Z" }""" response_loaded_json = json.loads(response_body_json) @@ -125,7 +124,7 @@ class TestAlertsApi(unittest.TestCase): "alerts" : [ { "severity" : "MAJOR", "alertType" : "http-server", - "endDate" : "2020-04-23T13:43:16Z", + "endDate" : "2022-07-18T22:00:54Z", "_links" : { "appLink" : { "hreflang" : "hreflang", @@ -188,12 +187,12 @@ class TestAlertsApi(unittest.TestCase): "ruleId" : 127094, "permalink" : "https://app.thousandeyes.com/alerts/list?__a=75&alertId=2783&agentId=12", "alertState" : "active", - "startDate" : "2020-04-23T13:43:16Z", + "startDate" : "2022-07-17T22:00:54Z", "alertRuleId" : "127094" }, { "severity" : "MAJOR", "alertType" : "http-server", - "endDate" : "2020-04-23T13:43:16Z", + "endDate" : "2022-07-18T22:00:54Z", "_links" : { "appLink" : { "hreflang" : "hreflang", @@ -256,7 +255,7 @@ class TestAlertsApi(unittest.TestCase): "ruleId" : 127094, "permalink" : "https://app.thousandeyes.com/alerts/list?__a=75&alertId=2783&agentId=12", "alertState" : "active", - "startDate" : "2020-04-23T13:43:16Z", + "startDate" : "2022-07-17T22:00:54Z", "alertRuleId" : "127094" } ], "_links" : { diff --git a/thousandeyes-sdk-bgp-monitors/.openapi-generator/FILES b/thousandeyes-sdk-bgp-monitors/.openapi-generator/FILES index 3329bfe1..51ff2ec6 100644 --- a/thousandeyes-sdk-bgp-monitors/.openapi-generator/FILES +++ b/thousandeyes-sdk-bgp-monitors/.openapi-generator/FILES @@ -1,9 +1,9 @@ .openapi-generator-ignore MANIFEST.in README.md +docs/BGPMonitorsApi.md docs/Error.md docs/Link.md -docs/ListBGPMonitorsApi.md docs/Monitor.md docs/MonitorType.md docs/Monitors.md @@ -13,7 +13,7 @@ pyproject.toml setup.cfg src/thousandeyes_sdk/bgp_monitors/__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/error.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/py.typed test/__init__.py -test/test_list_bgp_monitors_api.py +test/test_bgp_monitors_api.py test/test_utils.py diff --git a/thousandeyes-sdk-bgp-monitors/README.md b/thousandeyes-sdk-bgp-monitors/README.md index d1271bf5..674d9285 100644 --- a/thousandeyes-sdk-bgp-monitors/README.md +++ b/thousandeyes-sdk-bgp-monitors/README.md @@ -9,7 +9,7 @@ For more information about monitors, see [Inside-Out BGP Visibility](https://doc This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 7.0.8 +- API version: 7.0.20 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator @@ -61,10 +61,10 @@ import thousandeyes_sdk.bgp_monitors from thousandeyes_sdk.core.exceptions import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -81,26 +81,26 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.core.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.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) try: # List BGP monitors 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) 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) ``` ## Documentation for API Endpoints -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* 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** /v7/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 diff --git a/thousandeyes-sdk-bgp-monitors/docs/ListBGPMonitorsApi.md b/thousandeyes-sdk-bgp-monitors/docs/BGPMonitorsApi.md similarity index 85% rename from thousandeyes-sdk-bgp-monitors/docs/ListBGPMonitorsApi.md rename to thousandeyes-sdk-bgp-monitors/docs/BGPMonitorsApi.md index 9fbc8ebf..edd52f32 100644 --- a/thousandeyes-sdk-bgp-monitors/docs/ListBGPMonitorsApi.md +++ b/thousandeyes-sdk-bgp-monitors/docs/BGPMonitorsApi.md @@ -1,10 +1,10 @@ -# thousandeyes_sdk.bgp_monitors.ListBGPMonitorsApi +# thousandeyes_sdk.bgp_monitors.BGPMonitorsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**get_bgp_monitors**](ListBGPMonitorsApi.md#get_bgp_monitors) | **GET** /v7/monitors | List BGP monitors +[**get_bgp_monitors**](BGPMonitorsApi.md#get_bgp_monitors) | **GET** /monitors | List BGP monitors # **get_bgp_monitors** @@ -24,10 +24,10 @@ 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 +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -43,16 +43,16 @@ configuration = thousandeyes_sdk.core.Configuration( # 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.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) try: # List BGP monitors 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) except Exception as e: - print("Exception when calling ListBGPMonitorsApi->get_bgp_monitors: %s\n" % e) + print("Exception when calling BGPMonitorsApi->get_bgp_monitors: %s\n" % e) ``` diff --git a/thousandeyes-sdk-bgp-monitors/pyproject.toml b/thousandeyes-sdk-bgp-monitors/pyproject.toml index 55be3395..6b2e20f9 100644 --- a/thousandeyes-sdk-bgp-monitors/pyproject.toml +++ b/thousandeyes-sdk-bgp-monitors/pyproject.toml @@ -9,9 +9,9 @@ description = "ThousandEyes SDK BGP Monitors API" license = { file = "LICENSE" } requires-python = ">= 3.8" dependencies = [ - "urllib3 >= 1.25.3", + "urllib3 >= 2.0.0", "python-dateutil >=2.8.2", - "pydantic >=2", + "pydantic >=2.1.0", "typing-extensions >=4.7.1", "thousandeyes-sdk-core", ] diff --git a/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/__init__.py b/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/__init__.py index 78869e38..8d3885cc 100644 --- a/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/__init__.py +++ b/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/__init__.py @@ -7,7 +7,6 @@ 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). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -15,7 +14,7 @@ # 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 diff --git a/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/api/__init__.py b/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/api/__init__.py index 36c92d39..0cfdfbde 100644 --- a/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/api/__init__.py +++ b/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/api/__init__.py @@ -1,5 +1,5 @@ # flake8: noqa # 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 diff --git a/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/api/list_bgp_monitors_api.py b/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/api/bgp_monitors_api.py similarity index 99% rename from thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/api/list_bgp_monitors_api.py rename to thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/api/bgp_monitors_api.py index 5bffffae..68f532c1 100644 --- a/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/api/list_bgp_monitors_api.py +++ b/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/api/bgp_monitors_api.py @@ -5,7 +5,6 @@ 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). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,7 +28,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class ListBGPMonitorsApi: +class BGPMonitorsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -306,7 +305,7 @@ class ListBGPMonitorsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/monitors', + resource_path='/monitors', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/models/__init__.py b/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/models/__init__.py index 61c04c5a..a25f6d09 100644 --- a/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/models/__init__.py +++ b/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/models/__init__.py @@ -6,7 +6,6 @@ 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). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/models/error.py b/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/models/error.py index 34421f50..4af93e99 100644 --- a/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/models/error.py +++ b/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/models/error.py @@ -5,7 +5,6 @@ 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). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/models/link.py b/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/models/link.py index 75c601e0..bacdf406 100644 --- a/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/models/link.py +++ b/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/models/link.py @@ -5,7 +5,6 @@ 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). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/models/monitor.py b/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/models/monitor.py index e6ca3c1f..b9ce54eb 100644 --- a/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/models/monitor.py +++ b/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/models/monitor.py @@ -5,7 +5,6 @@ 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). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/models/monitor_type.py b/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/models/monitor_type.py index 458693fe..0112d891 100644 --- a/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/models/monitor_type.py +++ b/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/models/monitor_type.py @@ -5,7 +5,6 @@ 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). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class MonitorType(str, Enum): """ PUBLIC = 'public' PRIVATE = 'private' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of MonitorType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/models/monitors.py b/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/models/monitors.py index 80b8b46f..5d3103da 100644 --- a/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/models/monitors.py +++ b/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/models/monitors.py @@ -5,7 +5,6 @@ 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). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/models/self_links.py b/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/models/self_links.py index 2dd28392..47e02174 100644 --- a/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/models/self_links.py +++ b/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/models/self_links.py @@ -5,7 +5,6 @@ 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). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/models/unauthorized_error.py b/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/models/unauthorized_error.py index c6f40248..5f11e628 100644 --- a/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/models/unauthorized_error.py +++ b/thousandeyes-sdk-bgp-monitors/src/thousandeyes_sdk/bgp_monitors/models/unauthorized_error.py @@ -5,7 +5,6 @@ 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). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-bgp-monitors/test/test_list_bgp_monitors_api.py b/thousandeyes-sdk-bgp-monitors/test/test_bgp_monitors_api.py similarity index 91% rename from thousandeyes-sdk-bgp-monitors/test/test_list_bgp_monitors_api.py rename to thousandeyes-sdk-bgp-monitors/test/test_bgp_monitors_api.py index 2a7aab0a..845c6cee 100644 --- a/thousandeyes-sdk-bgp-monitors/test/test_list_bgp_monitors_api.py +++ b/thousandeyes-sdk-bgp-monitors/test/test_bgp_monitors_api.py @@ -5,7 +5,6 @@ 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). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.bgp_monitors.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.bgp_monitors.api.list_bgp_monitors_api import ListBGPMonitorsApi +from thousandeyes_sdk.bgp_monitors.api.bgp_monitors_api import BGPMonitorsApi -class TestListBGPMonitorsApi(unittest.TestCase): - """ListBGPMonitorsApi unit test stubs""" +class TestBGPMonitorsApi(unittest.TestCase): + """BGPMonitorsApi unit test stubs""" def setUp(self) -> None: - self.api = ListBGPMonitorsApi() + self.api = BGPMonitorsApi() def tearDown(self) -> None: pass diff --git a/thousandeyes-sdk-core/pyproject.toml b/thousandeyes-sdk-core/pyproject.toml index d8e19d7b..a40bd17c 100644 --- a/thousandeyes-sdk-core/pyproject.toml +++ b/thousandeyes-sdk-core/pyproject.toml @@ -9,9 +9,9 @@ description = "ThousandEyes SDK Core" license = { file = "LICENSE" } requires-python = ">= 3.8" dependencies = [ - "urllib3 >= 1.25.3", + "urllib3 >= 2.0.0", "python-dateutil >=2.8.2", - "pydantic >=2", + "pydantic >=2.1.0", "typing-extensions >=4.7.1", ] diff --git a/thousandeyes-sdk-credentials/README.md b/thousandeyes-sdk-credentials/README.md index 274e2072..835cf7e6 100644 --- a/thousandeyes-sdk-credentials/README.md +++ b/thousandeyes-sdk-credentials/README.md @@ -1,7 +1,7 @@ # thousandeyes-sdk-credentials Manage credentials for transaction tests using the Credentials API. -The following permissions are required to access Credentials API endpoints: +The following permissions are required to access Credentials API operations: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. @@ -13,7 +13,7 @@ For more information about credentials, see [Working With Secure Credentials](ht This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 7.0.8 +- API version: 7.0.20 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator @@ -65,10 +65,10 @@ import thousandeyes_sdk.credentials from thousandeyes_sdk.core.exceptions import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -101,15 +101,15 @@ with thousandeyes_sdk.core.ApiClient(configuration) as api_client: ## Documentation for API Endpoints -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- -*CredentialsApi* | [**create_credential**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-credentials/docs/CredentialsApi.md#create_credential) | **POST** /v7/credentials | Create credential -*CredentialsApi* | [**delete_credential**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-credentials/docs/CredentialsApi.md#delete_credential) | **DELETE** /v7/credentials/{id} | Delete credential -*CredentialsApi* | [**get_credential**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-credentials/docs/CredentialsApi.md#get_credential) | **GET** /v7/credentials/{id} | Retrieve credential -*CredentialsApi* | [**get_credentials**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-credentials/docs/CredentialsApi.md#get_credentials) | **GET** /v7/credentials | List credentials -*CredentialsApi* | [**update_credential**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-credentials/docs/CredentialsApi.md#update_credential) | **PUT** /v7/credentials/{id} | Update credential +*CredentialsApi* | [**create_credential**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-credentials/docs/CredentialsApi.md#create_credential) | **POST** /credentials | Create credential +*CredentialsApi* | [**delete_credential**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-credentials/docs/CredentialsApi.md#delete_credential) | **DELETE** /credentials/{id} | Delete credential +*CredentialsApi* | [**get_credential**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-credentials/docs/CredentialsApi.md#get_credential) | **GET** /credentials/{id} | Retrieve credential +*CredentialsApi* | [**get_credentials**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-credentials/docs/CredentialsApi.md#get_credentials) | **GET** /credentials | List credentials +*CredentialsApi* | [**update_credential**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-credentials/docs/CredentialsApi.md#update_credential) | **PUT** /credentials/{id} | Update credential ## Documentation For Models diff --git a/thousandeyes-sdk-credentials/docs/CredentialsApi.md b/thousandeyes-sdk-credentials/docs/CredentialsApi.md index 566e704c..d53802f4 100644 --- a/thousandeyes-sdk-credentials/docs/CredentialsApi.md +++ b/thousandeyes-sdk-credentials/docs/CredentialsApi.md @@ -1,14 +1,14 @@ # thousandeyes_sdk.credentials.CredentialsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_credential**](CredentialsApi.md#create_credential) | **POST** /v7/credentials | Create credential -[**delete_credential**](CredentialsApi.md#delete_credential) | **DELETE** /v7/credentials/{id} | Delete credential -[**get_credential**](CredentialsApi.md#get_credential) | **GET** /v7/credentials/{id} | Retrieve credential -[**get_credentials**](CredentialsApi.md#get_credentials) | **GET** /v7/credentials | List credentials -[**update_credential**](CredentialsApi.md#update_credential) | **PUT** /v7/credentials/{id} | Update credential +[**create_credential**](CredentialsApi.md#create_credential) | **POST** /credentials | Create credential +[**delete_credential**](CredentialsApi.md#delete_credential) | **DELETE** /credentials/{id} | Delete credential +[**get_credential**](CredentialsApi.md#get_credential) | **GET** /credentials/{id} | Retrieve credential +[**get_credentials**](CredentialsApi.md#get_credentials) | **GET** /credentials | List credentials +[**update_credential**](CredentialsApi.md#update_credential) | **PUT** /credentials/{id} | Update credential # **create_credential** @@ -29,10 +29,10 @@ from thousandeyes_sdk.credentials.models.credential_without_value import Credent from thousandeyes_sdk.credentials.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -114,10 +114,10 @@ import thousandeyes_sdk.credentials from thousandeyes_sdk.credentials.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -197,10 +197,10 @@ from thousandeyes_sdk.credentials.models.credential import Credential from thousandeyes_sdk.credentials.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -283,10 +283,10 @@ from thousandeyes_sdk.credentials.models.credentials import Credentials from thousandeyes_sdk.credentials.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -367,10 +367,10 @@ from thousandeyes_sdk.credentials.models.credential_without_value import Credent from thousandeyes_sdk.credentials.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters diff --git a/thousandeyes-sdk-credentials/pyproject.toml b/thousandeyes-sdk-credentials/pyproject.toml index f4bcedc7..c71e1e9c 100644 --- a/thousandeyes-sdk-credentials/pyproject.toml +++ b/thousandeyes-sdk-credentials/pyproject.toml @@ -9,9 +9,9 @@ description = "ThousandEyes SDK Credentials API" license = { file = "LICENSE" } requires-python = ">= 3.8" dependencies = [ - "urllib3 >= 1.25.3", + "urllib3 >= 2.0.0", "python-dateutil >=2.8.2", - "pydantic >=2", + "pydantic >=2.1.0", "typing-extensions >=4.7.1", "thousandeyes-sdk-core", ] diff --git a/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/__init__.py b/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/__init__.py index b7a0402f..07f8b4b1 100644 --- a/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/__init__.py +++ b/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/__init__.py @@ -5,9 +5,8 @@ """ Credentials API - Manage credentials for transaction tests using the Credentials API. The following permissions are required to access Credentials API endpoints: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. * `View sensitive data in web transaction scripts` to view the encrypted value property of credentials. * `Settings Tests Create Transaction (Tx) Tests` to create credentials. For more information about credentials, see [Working With Secure Credentials](https://docs.thousandeyes.com/product-documentation/browser-synthetics/transaction-tests/getting-started/working-with-secure-credentials). + Manage credentials for transaction tests using the Credentials API. The following permissions are required to access Credentials API operations: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. * `View sensitive data in web transaction scripts` to view the encrypted value property of credentials. * `Settings Tests Create Transaction (Tx) Tests` to create credentials. For more information about credentials, see [Working With Secure Credentials](https://docs.thousandeyes.com/product-documentation/browser-synthetics/transaction-tests/getting-started/working-with-secure-credentials). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/api/credentials_api.py b/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/api/credentials_api.py index 587db3b3..394ec1da 100644 --- a/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/api/credentials_api.py +++ b/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/api/credentials_api.py @@ -3,9 +3,8 @@ """ Credentials API - Manage credentials for transaction tests using the Credentials API. The following permissions are required to access Credentials API endpoints: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. * `View sensitive data in web transaction scripts` to view the encrypted value property of credentials. * `Settings Tests Create Transaction (Tx) Tests` to create credentials. For more information about credentials, see [Working With Secure Credentials](https://docs.thousandeyes.com/product-documentation/browser-synthetics/transaction-tests/getting-started/working-with-secure-credentials). + Manage credentials for transaction tests using the Credentials API. The following permissions are required to access Credentials API operations: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. * `View sensitive data in web transaction scripts` to view the encrypted value property of credentials. * `Settings Tests Create Transaction (Tx) Tests` to create credentials. For more information about credentials, see [Working With Secure Credentials](https://docs.thousandeyes.com/product-documentation/browser-synthetics/transaction-tests/getting-started/working-with-secure-credentials). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -340,7 +339,7 @@ class CredentialsApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/credentials', + resource_path='/credentials', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -633,7 +632,7 @@ class CredentialsApi: return self.api_client.param_serialize( method='DELETE', - resource_path='/v7/credentials/{id}', + resource_path='/credentials/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -930,7 +929,7 @@ class CredentialsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/credentials/{id}', + resource_path='/credentials/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1209,7 +1208,7 @@ class CredentialsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/credentials', + resource_path='/credentials', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1534,7 +1533,7 @@ class CredentialsApi: return self.api_client.param_serialize( method='PUT', - resource_path='/v7/credentials/{id}', + resource_path='/credentials/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/__init__.py b/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/__init__.py index e489eb46..ef406ab2 100644 --- a/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/__init__.py +++ b/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/__init__.py @@ -4,9 +4,8 @@ """ Credentials API - Manage credentials for transaction tests using the Credentials API. The following permissions are required to access Credentials API endpoints: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. * `View sensitive data in web transaction scripts` to view the encrypted value property of credentials. * `Settings Tests Create Transaction (Tx) Tests` to create credentials. For more information about credentials, see [Working With Secure Credentials](https://docs.thousandeyes.com/product-documentation/browser-synthetics/transaction-tests/getting-started/working-with-secure-credentials). + Manage credentials for transaction tests using the Credentials API. The following permissions are required to access Credentials API operations: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. * `View sensitive data in web transaction scripts` to view the encrypted value property of credentials. * `Settings Tests Create Transaction (Tx) Tests` to create credentials. For more information about credentials, see [Working With Secure Credentials](https://docs.thousandeyes.com/product-documentation/browser-synthetics/transaction-tests/getting-started/working-with-secure-credentials). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/credential.py b/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/credential.py index 68b87798..8c408d2e 100644 --- a/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/credential.py +++ b/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/credential.py @@ -3,9 +3,8 @@ """ Credentials API - Manage credentials for transaction tests using the Credentials API. The following permissions are required to access Credentials API endpoints: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. * `View sensitive data in web transaction scripts` to view the encrypted value property of credentials. * `Settings Tests Create Transaction (Tx) Tests` to create credentials. For more information about credentials, see [Working With Secure Credentials](https://docs.thousandeyes.com/product-documentation/browser-synthetics/transaction-tests/getting-started/working-with-secure-credentials). + Manage credentials for transaction tests using the Credentials API. The following permissions are required to access Credentials API operations: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. * `View sensitive data in web transaction scripts` to view the encrypted value property of credentials. * `Settings Tests Create Transaction (Tx) Tests` to create credentials. For more information about credentials, see [Working With Secure Credentials](https://docs.thousandeyes.com/product-documentation/browser-synthetics/transaction-tests/getting-started/working-with-secure-credentials). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/credential_request.py b/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/credential_request.py index ad543aaf..0f52ac57 100644 --- a/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/credential_request.py +++ b/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/credential_request.py @@ -3,9 +3,8 @@ """ Credentials API - Manage credentials for transaction tests using the Credentials API. The following permissions are required to access Credentials API endpoints: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. * `View sensitive data in web transaction scripts` to view the encrypted value property of credentials. * `Settings Tests Create Transaction (Tx) Tests` to create credentials. For more information about credentials, see [Working With Secure Credentials](https://docs.thousandeyes.com/product-documentation/browser-synthetics/transaction-tests/getting-started/working-with-secure-credentials). + Manage credentials for transaction tests using the Credentials API. The following permissions are required to access Credentials API operations: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. * `View sensitive data in web transaction scripts` to view the encrypted value property of credentials. * `Settings Tests Create Transaction (Tx) Tests` to create credentials. For more information about credentials, see [Working With Secure Credentials](https://docs.thousandeyes.com/product-documentation/browser-synthetics/transaction-tests/getting-started/working-with-secure-credentials). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/credential_without_value.py b/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/credential_without_value.py index 8c89c19a..d2210bbe 100644 --- a/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/credential_without_value.py +++ b/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/credential_without_value.py @@ -3,9 +3,8 @@ """ Credentials API - Manage credentials for transaction tests using the Credentials API. The following permissions are required to access Credentials API endpoints: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. * `View sensitive data in web transaction scripts` to view the encrypted value property of credentials. * `Settings Tests Create Transaction (Tx) Tests` to create credentials. For more information about credentials, see [Working With Secure Credentials](https://docs.thousandeyes.com/product-documentation/browser-synthetics/transaction-tests/getting-started/working-with-secure-credentials). + Manage credentials for transaction tests using the Credentials API. The following permissions are required to access Credentials API operations: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. * `View sensitive data in web transaction scripts` to view the encrypted value property of credentials. * `Settings Tests Create Transaction (Tx) Tests` to create credentials. For more information about credentials, see [Working With Secure Credentials](https://docs.thousandeyes.com/product-documentation/browser-synthetics/transaction-tests/getting-started/working-with-secure-credentials). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/credentials.py b/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/credentials.py index 35154090..28d653a1 100644 --- a/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/credentials.py +++ b/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/credentials.py @@ -3,9 +3,8 @@ """ Credentials API - Manage credentials for transaction tests using the Credentials API. The following permissions are required to access Credentials API endpoints: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. * `View sensitive data in web transaction scripts` to view the encrypted value property of credentials. * `Settings Tests Create Transaction (Tx) Tests` to create credentials. For more information about credentials, see [Working With Secure Credentials](https://docs.thousandeyes.com/product-documentation/browser-synthetics/transaction-tests/getting-started/working-with-secure-credentials). + Manage credentials for transaction tests using the Credentials API. The following permissions are required to access Credentials API operations: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. * `View sensitive data in web transaction scripts` to view the encrypted value property of credentials. * `Settings Tests Create Transaction (Tx) Tests` to create credentials. For more information about credentials, see [Working With Secure Credentials](https://docs.thousandeyes.com/product-documentation/browser-synthetics/transaction-tests/getting-started/working-with-secure-credentials). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/error.py b/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/error.py index 370efab0..672eaad3 100644 --- a/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/error.py +++ b/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/error.py @@ -3,9 +3,8 @@ """ Credentials API - Manage credentials for transaction tests using the Credentials API. The following permissions are required to access Credentials API endpoints: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. * `View sensitive data in web transaction scripts` to view the encrypted value property of credentials. * `Settings Tests Create Transaction (Tx) Tests` to create credentials. For more information about credentials, see [Working With Secure Credentials](https://docs.thousandeyes.com/product-documentation/browser-synthetics/transaction-tests/getting-started/working-with-secure-credentials). + Manage credentials for transaction tests using the Credentials API. The following permissions are required to access Credentials API operations: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. * `View sensitive data in web transaction scripts` to view the encrypted value property of credentials. * `Settings Tests Create Transaction (Tx) Tests` to create credentials. For more information about credentials, see [Working With Secure Credentials](https://docs.thousandeyes.com/product-documentation/browser-synthetics/transaction-tests/getting-started/working-with-secure-credentials). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/link.py b/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/link.py index e11c7d41..2c585a01 100644 --- a/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/link.py +++ b/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/link.py @@ -3,9 +3,8 @@ """ Credentials API - Manage credentials for transaction tests using the Credentials API. The following permissions are required to access Credentials API endpoints: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. * `View sensitive data in web transaction scripts` to view the encrypted value property of credentials. * `Settings Tests Create Transaction (Tx) Tests` to create credentials. For more information about credentials, see [Working With Secure Credentials](https://docs.thousandeyes.com/product-documentation/browser-synthetics/transaction-tests/getting-started/working-with-secure-credentials). + Manage credentials for transaction tests using the Credentials API. The following permissions are required to access Credentials API operations: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. * `View sensitive data in web transaction scripts` to view the encrypted value property of credentials. * `Settings Tests Create Transaction (Tx) Tests` to create credentials. For more information about credentials, see [Working With Secure Credentials](https://docs.thousandeyes.com/product-documentation/browser-synthetics/transaction-tests/getting-started/working-with-secure-credentials). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/self_links.py b/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/self_links.py index 4c476559..86f5e9b0 100644 --- a/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/self_links.py +++ b/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/self_links.py @@ -3,9 +3,8 @@ """ Credentials API - Manage credentials for transaction tests using the Credentials API. The following permissions are required to access Credentials API endpoints: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. * `View sensitive data in web transaction scripts` to view the encrypted value property of credentials. * `Settings Tests Create Transaction (Tx) Tests` to create credentials. For more information about credentials, see [Working With Secure Credentials](https://docs.thousandeyes.com/product-documentation/browser-synthetics/transaction-tests/getting-started/working-with-secure-credentials). + Manage credentials for transaction tests using the Credentials API. The following permissions are required to access Credentials API operations: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. * `View sensitive data in web transaction scripts` to view the encrypted value property of credentials. * `Settings Tests Create Transaction (Tx) Tests` to create credentials. For more information about credentials, see [Working With Secure Credentials](https://docs.thousandeyes.com/product-documentation/browser-synthetics/transaction-tests/getting-started/working-with-secure-credentials). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/unauthorized_error.py b/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/unauthorized_error.py index 7e5a4865..fed6c5ba 100644 --- a/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/unauthorized_error.py +++ b/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/unauthorized_error.py @@ -3,9 +3,8 @@ """ Credentials API - Manage credentials for transaction tests using the Credentials API. The following permissions are required to access Credentials API endpoints: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. * `View sensitive data in web transaction scripts` to view the encrypted value property of credentials. * `Settings Tests Create Transaction (Tx) Tests` to create credentials. For more information about credentials, see [Working With Secure Credentials](https://docs.thousandeyes.com/product-documentation/browser-synthetics/transaction-tests/getting-started/working-with-secure-credentials). + Manage credentials for transaction tests using the Credentials API. The following permissions are required to access Credentials API operations: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. * `View sensitive data in web transaction scripts` to view the encrypted value property of credentials. * `Settings Tests Create Transaction (Tx) Tests` to create credentials. For more information about credentials, see [Working With Secure Credentials](https://docs.thousandeyes.com/product-documentation/browser-synthetics/transaction-tests/getting-started/working-with-secure-credentials). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/validation_error.py b/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/validation_error.py index 7e46c058..84be80b9 100644 --- a/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/validation_error.py +++ b/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/validation_error.py @@ -3,9 +3,8 @@ """ Credentials API - Manage credentials for transaction tests using the Credentials API. The following permissions are required to access Credentials API endpoints: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. * `View sensitive data in web transaction scripts` to view the encrypted value property of credentials. * `Settings Tests Create Transaction (Tx) Tests` to create credentials. For more information about credentials, see [Working With Secure Credentials](https://docs.thousandeyes.com/product-documentation/browser-synthetics/transaction-tests/getting-started/working-with-secure-credentials). + Manage credentials for transaction tests using the Credentials API. The following permissions are required to access Credentials API operations: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. * `View sensitive data in web transaction scripts` to view the encrypted value property of credentials. * `Settings Tests Create Transaction (Tx) Tests` to create credentials. For more information about credentials, see [Working With Secure Credentials](https://docs.thousandeyes.com/product-documentation/browser-synthetics/transaction-tests/getting-started/working-with-secure-credentials). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/validation_error_item.py b/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/validation_error_item.py index 03cf95f7..b9587628 100644 --- a/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/validation_error_item.py +++ b/thousandeyes-sdk-credentials/src/thousandeyes_sdk/credentials/models/validation_error_item.py @@ -3,9 +3,8 @@ """ Credentials API - Manage credentials for transaction tests using the Credentials API. The following permissions are required to access Credentials API endpoints: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. * `View sensitive data in web transaction scripts` to view the encrypted value property of credentials. * `Settings Tests Create Transaction (Tx) Tests` to create credentials. For more information about credentials, see [Working With Secure Credentials](https://docs.thousandeyes.com/product-documentation/browser-synthetics/transaction-tests/getting-started/working-with-secure-credentials). + Manage credentials for transaction tests using the Credentials API. The following permissions are required to access Credentials API operations: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. * `View sensitive data in web transaction scripts` to view the encrypted value property of credentials. * `Settings Tests Create Transaction (Tx) Tests` to create credentials. For more information about credentials, see [Working With Secure Credentials](https://docs.thousandeyes.com/product-documentation/browser-synthetics/transaction-tests/getting-started/working-with-secure-credentials). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-credentials/test/test_credentials_api.py b/thousandeyes-sdk-credentials/test/test_credentials_api.py index 13896904..be748492 100644 --- a/thousandeyes-sdk-credentials/test/test_credentials_api.py +++ b/thousandeyes-sdk-credentials/test/test_credentials_api.py @@ -3,9 +3,8 @@ """ Credentials API - Manage credentials for transaction tests using the Credentials API. The following permissions are required to access Credentials API endpoints: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. * `View sensitive data in web transaction scripts` to view the encrypted value property of credentials. * `Settings Tests Create Transaction (Tx) Tests` to create credentials. For more information about credentials, see [Working With Secure Credentials](https://docs.thousandeyes.com/product-documentation/browser-synthetics/transaction-tests/getting-started/working-with-secure-credentials). + Manage credentials for transaction tests using the Credentials API. The following permissions are required to access Credentials API operations: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. * `View sensitive data in web transaction scripts` to view the encrypted value property of credentials. * `Settings Tests Create Transaction (Tx) Tests` to create credentials. For more information about credentials, see [Working With Secure Credentials](https://docs.thousandeyes.com/product-documentation/browser-synthetics/transaction-tests/getting-started/working-with-secure-credentials). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/.openapi-generator/FILES b/thousandeyes-sdk-dashboards/.openapi-generator/FILES index bb3b6d05..76b65817 100644 --- a/thousandeyes-sdk-dashboards/.openapi-generator/FILES +++ b/thousandeyes-sdk-dashboards/.openapi-generator/FILES @@ -29,7 +29,6 @@ docs/ApiDataSourceFilter.md docs/ApiDataSourceFilters.md docs/ApiDefaultTimespan.md docs/ApiDuration.md -docs/ApiDurationUnit.md docs/ApiGeoMapWidget.md docs/ApiGraphletPoint.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_default_timespan.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_graphlet_point.py src/thousandeyes_sdk/dashboards/models/api_grouped_barchart_widget.py diff --git a/thousandeyes-sdk-dashboards/README.md b/thousandeyes-sdk-dashboards/README.md index 2c1eba88..bb28a7d3 100644 --- a/thousandeyes-sdk-dashboards/README.md +++ b/thousandeyes-sdk-dashboards/README.md @@ -3,7 +3,7 @@ Manage ThousandEyes Dashboards. This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 7.0.8 +- API version: 7.0.20 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator @@ -55,10 +55,10 @@ import thousandeyes_sdk.dashboards from thousandeyes_sdk.core.exceptions import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -91,27 +91,27 @@ with thousandeyes_sdk.core.ApiClient(configuration) as api_client: ## Documentation for API Endpoints -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- -*DashboardSnapshotsApi* | [**create_dashboard_snapshot**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardSnapshotsApi.md#create_dashboard_snapshot) | **POST** /v7/dashboard-snapshots | Create dashboard snapshot -*DashboardSnapshotsApi* | [**delete_dashboard_snapshot**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardSnapshotsApi.md#delete_dashboard_snapshot) | **DELETE** /v7/dashboard-snapshots/{snapshotId} | Delete dashboard snapshot -*DashboardSnapshotsApi* | [**get_dashboard_snapshot**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardSnapshotsApi.md#get_dashboard_snapshot) | **GET** /v7/dashboard-snapshots/{snapshotId} | Retrieve dashboard snapshot -*DashboardSnapshotsApi* | [**get_dashboard_snapshot_widget_data**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardSnapshotsApi.md#get_dashboard_snapshot_widget_data) | **GET** /v7/dashboard-snapshots/{snapshotId}/widgets/{widgetId} | Retrieve dashboard snapshot data -*DashboardSnapshotsApi* | [**get_dashboard_snapshots**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardSnapshotsApi.md#get_dashboard_snapshots) | **GET** /v7/dashboard-snapshots | List dashboard snapshots -*DashboardSnapshotsApi* | [**update_dashboard_snapshot_expiration_date**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardSnapshotsApi.md#update_dashboard_snapshot_expiration_date) | **PATCH** /v7/dashboard-snapshots/{snapshotId} | Update snapshot expiration -*DashboardsApi* | [**create_dashboard**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardsApi.md#create_dashboard) | **POST** /v7/dashboards | Create dashboard -*DashboardsApi* | [**delete_dashboard**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardsApi.md#delete_dashboard) | **DELETE** /v7/dashboards/{dashboardId} | Delete dashboard -*DashboardsApi* | [**get_dashboard**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardsApi.md#get_dashboard) | **GET** /v7/dashboards/{dashboardId} | Retrieve dashboard -*DashboardsApi* | [**get_dashboard_widget_data**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardsApi.md#get_dashboard_widget_data) | **GET** /v7/dashboards/{dashboardId}/widgets/{widgetId} | Retrieve dashboard widget data -*DashboardsApi* | [**get_dashboards**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardsApi.md#get_dashboards) | **GET** /v7/dashboards | List dashboards -*DashboardsApi* | [**update_dashboard**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardsApi.md#update_dashboard) | **PUT** /v7/dashboards/{dashboardId} | Update dashboard -*DashboardsFiltersApi* | [**create_dashboard_filter**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardsFiltersApi.md#create_dashboard_filter) | **POST** /v7/dashboards/filters | Create dashboard filter -*DashboardsFiltersApi* | [**delete_dashboard_filter**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardsFiltersApi.md#delete_dashboard_filter) | **DELETE** /v7/dashboards/filters/{id} | Delete dashboard filter -*DashboardsFiltersApi* | [**get_dashboard_filter**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardsFiltersApi.md#get_dashboard_filter) | **GET** /v7/dashboards/filters/{id} | Get dashboard filter -*DashboardsFiltersApi* | [**get_dashboards_filters**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardsFiltersApi.md#get_dashboards_filters) | **GET** /v7/dashboards/filters | List dashboard filters -*DashboardsFiltersApi* | [**update_dashboard_filter**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardsFiltersApi.md#update_dashboard_filter) | **PUT** /v7/dashboards/filters/{id} | Update dashboard filter +*DashboardSnapshotsApi* | [**create_dashboard_snapshot**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardSnapshotsApi.md#create_dashboard_snapshot) | **POST** /dashboard-snapshots | Create dashboard snapshot +*DashboardSnapshotsApi* | [**delete_dashboard_snapshot**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardSnapshotsApi.md#delete_dashboard_snapshot) | **DELETE** /dashboard-snapshots/{snapshotId} | Delete dashboard snapshot +*DashboardSnapshotsApi* | [**get_dashboard_snapshot**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardSnapshotsApi.md#get_dashboard_snapshot) | **GET** /dashboard-snapshots/{snapshotId} | Retrieve dashboard snapshot +*DashboardSnapshotsApi* | [**get_dashboard_snapshot_widget_data**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardSnapshotsApi.md#get_dashboard_snapshot_widget_data) | **GET** /dashboard-snapshots/{snapshotId}/widgets/{widgetId} | Retrieve dashboard snapshot data +*DashboardSnapshotsApi* | [**get_dashboard_snapshots**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardSnapshotsApi.md#get_dashboard_snapshots) | **GET** /dashboard-snapshots | List dashboard snapshots +*DashboardSnapshotsApi* | [**update_dashboard_snapshot_expiration_date**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardSnapshotsApi.md#update_dashboard_snapshot_expiration_date) | **PATCH** /dashboard-snapshots/{snapshotId} | Update snapshot expiration +*DashboardsApi* | [**create_dashboard**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardsApi.md#create_dashboard) | **POST** /dashboards | Create dashboard +*DashboardsApi* | [**delete_dashboard**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardsApi.md#delete_dashboard) | **DELETE** /dashboards/{dashboardId} | Delete dashboard +*DashboardsApi* | [**get_dashboard**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardsApi.md#get_dashboard) | **GET** /dashboards/{dashboardId} | Retrieve dashboard +*DashboardsApi* | [**get_dashboard_widget_data**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardsApi.md#get_dashboard_widget_data) | **GET** /dashboards/{dashboardId}/widgets/{widgetId} | Retrieve dashboard widget data +*DashboardsApi* | [**get_dashboards**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardsApi.md#get_dashboards) | **GET** /dashboards | List dashboards +*DashboardsApi* | [**update_dashboard**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardsApi.md#update_dashboard) | **PUT** /dashboards/{dashboardId} | Update dashboard +*DashboardsFiltersApi* | [**create_dashboard_filter**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardsFiltersApi.md#create_dashboard_filter) | **POST** /dashboards/filters | Create dashboard filter +*DashboardsFiltersApi* | [**delete_dashboard_filter**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardsFiltersApi.md#delete_dashboard_filter) | **DELETE** /dashboards/filters/{id} | Delete dashboard filter +*DashboardsFiltersApi* | [**get_dashboard_filter**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardsFiltersApi.md#get_dashboard_filter) | **GET** /dashboards/filters/{id} | Get dashboard filter +*DashboardsFiltersApi* | [**get_dashboards_filters**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardsFiltersApi.md#get_dashboards_filters) | **GET** /dashboards/filters | List dashboard filters +*DashboardsFiltersApi* | [**update_dashboard_filter**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-dashboards/docs/DashboardsFiltersApi.md#update_dashboard_filter) | **PUT** /dashboards/filters/{id} | Update dashboard filter ## Documentation For Models @@ -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) - [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) - - [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) - [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) diff --git a/thousandeyes-sdk-dashboards/docs/ActiveWithin.md b/thousandeyes-sdk-dashboards/docs/ActiveWithin.md index e9b0220f..ea08de89 100644 --- a/thousandeyes-sdk-dashboards/docs/ActiveWithin.md +++ b/thousandeyes-sdk-dashboards/docs/ActiveWithin.md @@ -1,5 +1,6 @@ # ActiveWithin +Timespan in which alerts must have been active to appear in the widget. ## Properties diff --git a/thousandeyes-sdk-dashboards/docs/DashboardSnapshotsApi.md b/thousandeyes-sdk-dashboards/docs/DashboardSnapshotsApi.md index 83864d60..ebf1293d 100644 --- a/thousandeyes-sdk-dashboards/docs/DashboardSnapshotsApi.md +++ b/thousandeyes-sdk-dashboards/docs/DashboardSnapshotsApi.md @@ -1,15 +1,15 @@ # thousandeyes_sdk.dashboards.DashboardSnapshotsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_dashboard_snapshot**](DashboardSnapshotsApi.md#create_dashboard_snapshot) | **POST** /v7/dashboard-snapshots | Create dashboard snapshot -[**delete_dashboard_snapshot**](DashboardSnapshotsApi.md#delete_dashboard_snapshot) | **DELETE** /v7/dashboard-snapshots/{snapshotId} | Delete dashboard snapshot -[**get_dashboard_snapshot**](DashboardSnapshotsApi.md#get_dashboard_snapshot) | **GET** /v7/dashboard-snapshots/{snapshotId} | Retrieve dashboard snapshot -[**get_dashboard_snapshot_widget_data**](DashboardSnapshotsApi.md#get_dashboard_snapshot_widget_data) | **GET** /v7/dashboard-snapshots/{snapshotId}/widgets/{widgetId} | Retrieve dashboard snapshot data -[**get_dashboard_snapshots**](DashboardSnapshotsApi.md#get_dashboard_snapshots) | **GET** /v7/dashboard-snapshots | List dashboard snapshots -[**update_dashboard_snapshot_expiration_date**](DashboardSnapshotsApi.md#update_dashboard_snapshot_expiration_date) | **PATCH** /v7/dashboard-snapshots/{snapshotId} | Update snapshot expiration +[**create_dashboard_snapshot**](DashboardSnapshotsApi.md#create_dashboard_snapshot) | **POST** /dashboard-snapshots | Create dashboard snapshot +[**delete_dashboard_snapshot**](DashboardSnapshotsApi.md#delete_dashboard_snapshot) | **DELETE** /dashboard-snapshots/{snapshotId} | Delete dashboard snapshot +[**get_dashboard_snapshot**](DashboardSnapshotsApi.md#get_dashboard_snapshot) | **GET** /dashboard-snapshots/{snapshotId} | Retrieve dashboard snapshot +[**get_dashboard_snapshot_widget_data**](DashboardSnapshotsApi.md#get_dashboard_snapshot_widget_data) | **GET** /dashboard-snapshots/{snapshotId}/widgets/{widgetId} | Retrieve dashboard snapshot data +[**get_dashboard_snapshots**](DashboardSnapshotsApi.md#get_dashboard_snapshots) | **GET** /dashboard-snapshots | List dashboard snapshots +[**update_dashboard_snapshot_expiration_date**](DashboardSnapshotsApi.md#update_dashboard_snapshot_expiration_date) | **PATCH** /dashboard-snapshots/{snapshotId} | Update snapshot expiration # **create_dashboard_snapshot** @@ -30,10 +30,10 @@ from thousandeyes_sdk.dashboards.models.generate_dashboard_snapshot_request impo from thousandeyes_sdk.dashboards.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -89,12 +89,12 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| -**201** | Created | * Location -
| +**201** | Created | * Location -
* X-Dashboard-Snapshot-Rate-Limit-Limit -
* X-Dashboard-Snapshot-Rate-Limit-Remaining -
* X-Dashboard-Snapshot-Rate-Limit-Reset -
| **400** | Bad Request | - | **401** | Unauthorized | - | **403** | Insufficient permissions to query endpoint | - | **404** | Not found | - | -**429** | Exhausted rate limit for the organization | - | +**429** | Exhausted rate limit for snapshot creation | * X-Dashboard-Snapshot-Rate-Limit-Limit -
* X-Dashboard-Snapshot-Rate-Limit-Remaining -
* X-Dashboard-Snapshot-Rate-Limit-Reset -
| **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) @@ -115,10 +115,10 @@ import thousandeyes_sdk.dashboards from thousandeyes_sdk.dashboards.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -187,7 +187,7 @@ void (empty response body) Retrieve dashboard snapshot -This endpoint returns a list of widgets configured in dashboard snapshot configured in ThousandEyes. Seed this endpoint with a snapshotId found from the /dashboard-snapshots endpoint. This endpoint requires the `View Snapshots` permission be assigned to the role of the user accessing this endpoint. Returns a list of widgets configured within a dashboard snapshot. Use the `snapshotId` obtained from the `/dashboard-snapshots` endpoint. The `View Snapshots` permission is required to use this endpoint.\" +This operation returns a list of widgets configured in dashboard snapshot configured in ThousandEyes. Seed this endpoint with a snapshotId found from the /dashboard-snapshots endpoint. This endpoint requires the `View Snapshots` permission be assigned to the role of the user accessing this endpoint. Returns a list of widgets configured within a dashboard snapshot. Use the `snapshotId` obtained from the `/dashboard-snapshots` endpoint. The `View Snapshots` permission is required to use this endpoint.\" ### Example @@ -199,10 +199,10 @@ from thousandeyes_sdk.dashboards.models.api_dashboard_snapshot import ApiDashboa from thousandeyes_sdk.dashboards.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -285,10 +285,10 @@ from thousandeyes_sdk.dashboards.models.api_widget_data_snapshot_response import from thousandeyes_sdk.dashboards.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -373,10 +373,10 @@ from thousandeyes_sdk.dashboards.models.dashboard_snapshots_page import Dashboar from thousandeyes_sdk.dashboards.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -461,10 +461,10 @@ from thousandeyes_sdk.dashboards.models.update_snapshot_expiration_date_api_requ from thousandeyes_sdk.dashboards.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters diff --git a/thousandeyes-sdk-dashboards/docs/DashboardsApi.md b/thousandeyes-sdk-dashboards/docs/DashboardsApi.md index ee93f6b5..68e1c814 100644 --- a/thousandeyes-sdk-dashboards/docs/DashboardsApi.md +++ b/thousandeyes-sdk-dashboards/docs/DashboardsApi.md @@ -1,15 +1,15 @@ # thousandeyes_sdk.dashboards.DashboardsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_dashboard**](DashboardsApi.md#create_dashboard) | **POST** /v7/dashboards | Create dashboard -[**delete_dashboard**](DashboardsApi.md#delete_dashboard) | **DELETE** /v7/dashboards/{dashboardId} | Delete dashboard -[**get_dashboard**](DashboardsApi.md#get_dashboard) | **GET** /v7/dashboards/{dashboardId} | Retrieve dashboard -[**get_dashboard_widget_data**](DashboardsApi.md#get_dashboard_widget_data) | **GET** /v7/dashboards/{dashboardId}/widgets/{widgetId} | Retrieve dashboard widget data -[**get_dashboards**](DashboardsApi.md#get_dashboards) | **GET** /v7/dashboards | List dashboards -[**update_dashboard**](DashboardsApi.md#update_dashboard) | **PUT** /v7/dashboards/{dashboardId} | Update dashboard +[**create_dashboard**](DashboardsApi.md#create_dashboard) | **POST** /dashboards | Create dashboard +[**delete_dashboard**](DashboardsApi.md#delete_dashboard) | **DELETE** /dashboards/{dashboardId} | Delete dashboard +[**get_dashboard**](DashboardsApi.md#get_dashboard) | **GET** /dashboards/{dashboardId} | Retrieve dashboard +[**get_dashboard_widget_data**](DashboardsApi.md#get_dashboard_widget_data) | **GET** /dashboards/{dashboardId}/widgets/{widgetId} | Retrieve dashboard widget data +[**get_dashboards**](DashboardsApi.md#get_dashboards) | **GET** /dashboards | List dashboards +[**update_dashboard**](DashboardsApi.md#update_dashboard) | **PUT** /dashboards/{dashboardId} | Update dashboard # **create_dashboard** @@ -29,10 +29,10 @@ from thousandeyes_sdk.dashboards.models.dashboard import Dashboard from thousandeyes_sdk.dashboards.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -114,10 +114,10 @@ import thousandeyes_sdk.dashboards from thousandeyes_sdk.dashboards.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -198,10 +198,10 @@ from thousandeyes_sdk.dashboards.models.api_dashboard import ApiDashboard from thousandeyes_sdk.dashboards.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -285,10 +285,10 @@ from thousandeyes_sdk.dashboards.models.dashboard_order import DashboardOrder from thousandeyes_sdk.dashboards.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -387,10 +387,10 @@ from thousandeyes_sdk.dashboards.models.api_dashboard import ApiDashboard from thousandeyes_sdk.dashboards.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -471,10 +471,10 @@ from thousandeyes_sdk.dashboards.models.dashboard import Dashboard from thousandeyes_sdk.dashboards.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters diff --git a/thousandeyes-sdk-dashboards/docs/DashboardsFiltersApi.md b/thousandeyes-sdk-dashboards/docs/DashboardsFiltersApi.md index f8f5213a..043c5a19 100644 --- a/thousandeyes-sdk-dashboards/docs/DashboardsFiltersApi.md +++ b/thousandeyes-sdk-dashboards/docs/DashboardsFiltersApi.md @@ -1,14 +1,14 @@ # thousandeyes_sdk.dashboards.DashboardsFiltersApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_dashboard_filter**](DashboardsFiltersApi.md#create_dashboard_filter) | **POST** /v7/dashboards/filters | Create dashboard filter -[**delete_dashboard_filter**](DashboardsFiltersApi.md#delete_dashboard_filter) | **DELETE** /v7/dashboards/filters/{id} | Delete dashboard filter -[**get_dashboard_filter**](DashboardsFiltersApi.md#get_dashboard_filter) | **GET** /v7/dashboards/filters/{id} | Get dashboard filter -[**get_dashboards_filters**](DashboardsFiltersApi.md#get_dashboards_filters) | **GET** /v7/dashboards/filters | List dashboard filters -[**update_dashboard_filter**](DashboardsFiltersApi.md#update_dashboard_filter) | **PUT** /v7/dashboards/filters/{id} | Update dashboard filter +[**create_dashboard_filter**](DashboardsFiltersApi.md#create_dashboard_filter) | **POST** /dashboards/filters | Create dashboard filter +[**delete_dashboard_filter**](DashboardsFiltersApi.md#delete_dashboard_filter) | **DELETE** /dashboards/filters/{id} | Delete dashboard filter +[**get_dashboard_filter**](DashboardsFiltersApi.md#get_dashboard_filter) | **GET** /dashboards/filters/{id} | Get dashboard filter +[**get_dashboards_filters**](DashboardsFiltersApi.md#get_dashboards_filters) | **GET** /dashboards/filters | List dashboard filters +[**update_dashboard_filter**](DashboardsFiltersApi.md#update_dashboard_filter) | **PUT** /dashboards/filters/{id} | Update dashboard filter # **create_dashboard_filter** @@ -29,10 +29,10 @@ from thousandeyes_sdk.dashboards.models.api_context_filter_response import ApiCo from thousandeyes_sdk.dashboards.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -114,10 +114,10 @@ import thousandeyes_sdk.dashboards from thousandeyes_sdk.dashboards.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -198,10 +198,10 @@ from thousandeyes_sdk.dashboards.models.api_context_filter_response import ApiCo from thousandeyes_sdk.dashboards.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -284,10 +284,10 @@ from thousandeyes_sdk.dashboards.models.api_context_filters_response import ApiC from thousandeyes_sdk.dashboards.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -371,10 +371,10 @@ from thousandeyes_sdk.dashboards.models.api_context_filter_response import ApiCo from thousandeyes_sdk.dashboards.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters diff --git a/thousandeyes-sdk-dashboards/pyproject.toml b/thousandeyes-sdk-dashboards/pyproject.toml index e8afb913..b6433f3f 100644 --- a/thousandeyes-sdk-dashboards/pyproject.toml +++ b/thousandeyes-sdk-dashboards/pyproject.toml @@ -9,9 +9,9 @@ description = "ThousandEyes SDK Dashboards API" license = { file = "LICENSE" } requires-python = ">= 3.8" dependencies = [ - "urllib3 >= 1.25.3", + "urllib3 >= 2.0.0", "python-dateutil >=2.8.2", - "pydantic >=2", + "pydantic >=2.1.0", "typing-extensions >=4.7.1", "thousandeyes-sdk-core", ] diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/__init__.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/__init__.py index 43af0e7c..856a813c 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/__init__.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/__init__.py @@ -7,7 +7,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -49,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_default_timespan import ApiDefaultTimespan 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_graphlet_point import ApiGraphletPoint from thousandeyes_sdk.dashboards.models.api_grouped_barchart_widget import ApiGroupedBarchartWidget diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/api/dashboard_snapshots_api.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/api/dashboard_snapshots_api.py index d3dd66c1..7318b980 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/api/dashboard_snapshots_api.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/api/dashboard_snapshots_api.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -111,7 +110,7 @@ class DashboardSnapshotsApi: '401': "UnauthorizedError", '403': "Error", '404': "Error", - '429': "Error", + '429': None, '500': "Error", } response_data = self.api_client.call_api( @@ -189,7 +188,7 @@ class DashboardSnapshotsApi: '401': "UnauthorizedError", '403': "Error", '404': "Error", - '429': "Error", + '429': None, '500': "Error", } response_data = self.api_client.call_api( @@ -267,7 +266,7 @@ class DashboardSnapshotsApi: '401': "UnauthorizedError", '403': "Error", '404': "Error", - '429': "Error", + '429': None, '500': "Error", } response_data = self.api_client.call_api( @@ -342,7 +341,7 @@ class DashboardSnapshotsApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/dashboard-snapshots', + resource_path='/dashboard-snapshots', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -638,7 +637,7 @@ class DashboardSnapshotsApi: return self.api_client.param_serialize( method='DELETE', - resource_path='/v7/dashboard-snapshots/{snapshotId}', + resource_path='/dashboard-snapshots/{snapshotId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -674,7 +673,7 @@ class DashboardSnapshotsApi: ) -> ApiDashboardSnapshot: """Retrieve dashboard snapshot - This endpoint returns a list of widgets configured in dashboard snapshot configured in ThousandEyes. Seed this endpoint with a snapshotId found from the /dashboard-snapshots endpoint. This endpoint requires the `View Snapshots` permission be assigned to the role of the user accessing this endpoint. Returns a list of widgets configured within a dashboard snapshot. Use the `snapshotId` obtained from the `/dashboard-snapshots` endpoint. The `View Snapshots` permission is required to use this endpoint.\" + This operation returns a list of widgets configured in dashboard snapshot configured in ThousandEyes. Seed this endpoint with a snapshotId found from the /dashboard-snapshots endpoint. This endpoint requires the `View Snapshots` permission be assigned to the role of the user accessing this endpoint. Returns a list of widgets configured within a dashboard snapshot. Use the `snapshotId` obtained from the `/dashboard-snapshots` endpoint. The `View Snapshots` permission is required to use this endpoint.\" :param snapshot_id: A Identifier for a dashboard snapshot which can be obtained from the `/dashboards-snapshots` endpoint. (required) :type snapshot_id: str @@ -752,7 +751,7 @@ class DashboardSnapshotsApi: ) -> ApiResponse[ApiDashboardSnapshot]: """Retrieve dashboard snapshot - This endpoint returns a list of widgets configured in dashboard snapshot configured in ThousandEyes. Seed this endpoint with a snapshotId found from the /dashboard-snapshots endpoint. This endpoint requires the `View Snapshots` permission be assigned to the role of the user accessing this endpoint. Returns a list of widgets configured within a dashboard snapshot. Use the `snapshotId` obtained from the `/dashboard-snapshots` endpoint. The `View Snapshots` permission is required to use this endpoint.\" + This operation returns a list of widgets configured in dashboard snapshot configured in ThousandEyes. Seed this endpoint with a snapshotId found from the /dashboard-snapshots endpoint. This endpoint requires the `View Snapshots` permission be assigned to the role of the user accessing this endpoint. Returns a list of widgets configured within a dashboard snapshot. Use the `snapshotId` obtained from the `/dashboard-snapshots` endpoint. The `View Snapshots` permission is required to use this endpoint.\" :param snapshot_id: A Identifier for a dashboard snapshot which can be obtained from the `/dashboards-snapshots` endpoint. (required) :type snapshot_id: str @@ -830,7 +829,7 @@ class DashboardSnapshotsApi: ) -> RESTResponseType: """Retrieve dashboard snapshot - This endpoint returns a list of widgets configured in dashboard snapshot configured in ThousandEyes. Seed this endpoint with a snapshotId found from the /dashboard-snapshots endpoint. This endpoint requires the `View Snapshots` permission be assigned to the role of the user accessing this endpoint. Returns a list of widgets configured within a dashboard snapshot. Use the `snapshotId` obtained from the `/dashboard-snapshots` endpoint. The `View Snapshots` permission is required to use this endpoint.\" + This operation returns a list of widgets configured in dashboard snapshot configured in ThousandEyes. Seed this endpoint with a snapshotId found from the /dashboard-snapshots endpoint. This endpoint requires the `View Snapshots` permission be assigned to the role of the user accessing this endpoint. Returns a list of widgets configured within a dashboard snapshot. Use the `snapshotId` obtained from the `/dashboard-snapshots` endpoint. The `View Snapshots` permission is required to use this endpoint.\" :param snapshot_id: A Identifier for a dashboard snapshot which can be obtained from the `/dashboards-snapshots` endpoint. (required) :type snapshot_id: str @@ -935,7 +934,7 @@ class DashboardSnapshotsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/dashboard-snapshots/{snapshotId}', + resource_path='/dashboard-snapshots/{snapshotId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1247,7 +1246,7 @@ class DashboardSnapshotsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/dashboard-snapshots/{snapshotId}/widgets/{widgetId}', + resource_path='/dashboard-snapshots/{snapshotId}/widgets/{widgetId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1563,7 +1562,7 @@ class DashboardSnapshotsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/dashboard-snapshots', + resource_path='/dashboard-snapshots', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1887,7 +1886,7 @@ class DashboardSnapshotsApi: return self.api_client.param_serialize( method='PATCH', - resource_path='/v7/dashboard-snapshots/{snapshotId}', + resource_path='/dashboard-snapshots/{snapshotId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/api/dashboards_api.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/api/dashboards_api.py index 9c2472ed..edb80f94 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/api/dashboards_api.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/api/dashboards_api.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -341,7 +340,7 @@ class DashboardsApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/dashboards', + resource_path='/dashboards', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -637,7 +636,7 @@ class DashboardsApi: return self.api_client.param_serialize( method='DELETE', - resource_path='/v7/dashboards/{dashboardId}', + resource_path='/dashboards/{dashboardId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -934,7 +933,7 @@ class DashboardsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/dashboards/{dashboardId}', + resource_path='/dashboards/{dashboardId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1383,7 +1382,7 @@ class DashboardsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/dashboards/{dashboardId}/widgets/{widgetId}', + resource_path='/dashboards/{dashboardId}/widgets/{widgetId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1665,7 +1664,7 @@ class DashboardsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/dashboards', + resource_path='/dashboards', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1990,7 +1989,7 @@ class DashboardsApi: return self.api_client.param_serialize( method='PUT', - resource_path='/v7/dashboards/{dashboardId}', + resource_path='/dashboards/{dashboardId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/api/dashboards_filters_api.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/api/dashboards_filters_api.py index 0f695408..0844dded 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/api/dashboards_filters_api.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/api/dashboards_filters_api.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -339,7 +338,7 @@ class DashboardsFiltersApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/dashboards/filters', + resource_path='/dashboards/filters', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -635,7 +634,7 @@ class DashboardsFiltersApi: return self.api_client.param_serialize( method='DELETE', - resource_path='/v7/dashboards/filters/{id}', + resource_path='/dashboards/filters/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -932,7 +931,7 @@ class DashboardsFiltersApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/dashboards/filters/{id}', + resource_path='/dashboards/filters/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1231,7 +1230,7 @@ class DashboardsFiltersApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/dashboards/filters', + resource_path='/dashboards/filters', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1556,7 +1555,7 @@ class DashboardsFiltersApi: return self.api_client.param_serialize( method='PUT', - resource_path='/v7/dashboards/filters/{id}', + resource_path='/dashboards/filters/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/__init__.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/__init__.py index e3ead641..1fa563eb 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/__init__.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/__init__.py @@ -6,7 +6,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -42,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_default_timespan import ApiDefaultTimespan 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_graphlet_point import ApiGraphletPoint from thousandeyes_sdk.dashboards.models.api_grouped_barchart_widget import ApiGroupedBarchartWidget diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/active_within.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/active_within.py index 3fa88964..a43cbe16 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/active_within.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/active_within.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -25,7 +24,7 @@ from typing_extensions import Self class ActiveWithin(BaseModel): """ - ActiveWithin + Timespan in which alerts must have been active to appear in the widget. """ # noqa: E501 value: Optional[StrictInt] = Field(default=None, description="Timespan value.") unit: Optional[LegacyDurationUnit] = None diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/agent_status_datasource.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/agent_status_datasource.py index 84114593..8f47e713 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/agent_status_datasource.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/agent_status_datasource.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -39,10 +38,16 @@ class AgentStatusDatasource(str, Enum): CLOUD_AND_ENTERPRISE_AGENTS = 'CLOUD_AND_ENTERPRISE_AGENTS' INTERNET_INSIGHTS = 'INTERNET_INSIGHTS' APPDYNAMICS_SERVICE_HEALTH = 'APPDYNAMICS_SERVICE_HEALTH' + CLOUD_NATIVE_MONITORING = 'CLOUD_NATIVE_MONITORING' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of AgentStatusDatasource from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/alert_list_alert_type.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/alert_list_alert_type.py index f6dcead2..bf95ef90 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/alert_list_alert_type.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/alert_list_alert_type.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -49,10 +48,15 @@ class AlertListAlertType(str, Enum): BROWSER_MINUS_SESSION_MINUS_AGENT = 'browser-session-agent' BROWSER_MINUS_SESSION_MINUS_APPLICATION = 'browser-session-application' ROUTING_MINUS_BGP = 'routing-bgp' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of AlertListAlertType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/alert_list_datasource.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/alert_list_datasource.py index 776e6f08..0f130631 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/alert_list_datasource.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/alert_list_datasource.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -39,10 +38,16 @@ class AlertListDatasource(str, Enum): CLOUD_AND_ENTERPRISE_AGENTS = 'CLOUD_AND_ENTERPRISE_AGENTS' INTERNET_INSIGHTS = 'INTERNET_INSIGHTS' APPDYNAMICS_SERVICE_HEALTH = 'APPDYNAMICS_SERVICE_HEALTH' + CLOUD_NATIVE_MONITORING = 'CLOUD_NATIVE_MONITORING' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of AlertListDatasource from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_location.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_location.py index b80431dd..8416c018 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_location.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_location.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_status_agent.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_status_agent.py index 1b9babf4..c5415c57 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_status_agent.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_status_agent.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_status_ip_info.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_status_ip_info.py index ac8e6808..b88902dd 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_status_ip_info.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_status_ip_info.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_status_summary.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_status_summary.py index 795be3aa..7afc46f6 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_status_summary.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_status_summary.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_status_widget.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_status_widget.py index 7d632171..63290e34 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_status_widget.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_status_widget.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_widget_show.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_widget_show.py index 69fb11c6..9100810b 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_widget_show.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_widget_show.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class ApiAgentWidgetShow(str, Enum): """ OWNED = 'owned' ALL = 'all' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of ApiAgentWidgetShow from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_widget_type.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_widget_type.py index 13874852..855418f2 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_widget_type.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_agent_widget_type.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class ApiAgentWidgetType(str, Enum): """ ENTERPRISE = 'enterprise' ENDPOINT = 'endpoint' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of ApiAgentWidgetType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_aggregate_property.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_aggregate_property.py index 2ae61cde..76ff5024 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_aggregate_property.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_aggregate_property.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -99,10 +98,30 @@ class ApiAggregateProperty(str, Enum): EYEBROW_USER = 'EYEBROW_USER' EYEBROW_AGENT = 'EYEBROW_AGENT' EYEBROW_COMPUTER_NAME = 'EYEBROW_COMPUTER_NAME' + CLOUD_NATIVE_MONITORING_MINUS_ALL = 'CLOUD_NATIVE_MONITORING-ALL' + CLOUD_NATIVE_MONITORING_MINUS_ACCOUNT = 'CLOUD_NATIVE_MONITORING-ACCOUNT' + CLOUD_NATIVE_MONITORING_MINUS_REGION = 'CLOUD_NATIVE_MONITORING-REGION' + CLOUD_NATIVE_MONITORING_MINUS_AVAILABILITY_ZONE = 'CLOUD_NATIVE_MONITORING-AVAILABILITY_ZONE' + CLOUD_NATIVE_MONITORING_MINUS_VPC = 'CLOUD_NATIVE_MONITORING-VPC' + CLOUD_NATIVE_MONITORING_MINUS_SUBNET = 'CLOUD_NATIVE_MONITORING-SUBNET' + CLOUD_NATIVE_MONITORING_MINUS_TYPE = 'CLOUD_NATIVE_MONITORING-TYPE' + CLOUD_NATIVE_MONITORING_MINUS_SERVICE_PROVIDER = 'CLOUD_NATIVE_MONITORING-SERVICE_PROVIDER' + CLOUD_NATIVE_MONITORING_MINUS_REMOTE_ACCOUNT = 'CLOUD_NATIVE_MONITORING-REMOTE_ACCOUNT' + CLOUD_NATIVE_MONITORING_MINUS_REMOTE_REGION = 'CLOUD_NATIVE_MONITORING-REMOTE_REGION' + CLOUD_NATIVE_MONITORING_MINUS_REMOTE_AVAILABILITY_ZONE = 'CLOUD_NATIVE_MONITORING-REMOTE_AVAILABILITY_ZONE' + CLOUD_NATIVE_MONITORING_MINUS_REMOTE_VPC = 'CLOUD_NATIVE_MONITORING-REMOTE_VPC' + CLOUD_NATIVE_MONITORING_MINUS_REMOTE_SUBNET = 'CLOUD_NATIVE_MONITORING-REMOTE_SUBNET' + CLOUD_NATIVE_MONITORING_MINUS_REMOTE_TYPE = 'CLOUD_NATIVE_MONITORING-REMOTE_TYPE' + CLOUD_NATIVE_MONITORING_MINUS_REMOTE_SERVICE_PROVIDER = 'CLOUD_NATIVE_MONITORING-REMOTE_SERVICE_PROVIDER' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of ApiAggregateProperty from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_alert_list_alert.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_alert_list_alert.py index 346bbb02..6be99b9a 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_alert_list_alert.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_alert_list_alert.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_alert_list_widget.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_alert_list_widget.py index 3cd2e625..c362edec 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_alert_list_widget.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_alert_list_widget.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_box_and_whiskers_widget.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_box_and_whiskers_widget.py index 229fe6ca..bf28536a 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_box_and_whiskers_widget.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_box_and_whiskers_widget.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_color_grid_widget.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_color_grid_widget.py index f8d2ffe1..4f90ed80 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_color_grid_widget.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_color_grid_widget.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_context_filter_request.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_context_filter_request.py index 4f6af827..638d5f3a 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_context_filter_request.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_context_filter_request.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_context_filter_response.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_context_filter_response.py index 0a715327..605a6a01 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_context_filter_response.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_context_filter_response.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_context_filters_response.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_context_filters_response.py index d1aa113d..5062427c 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_context_filters_response.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_context_filters_response.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_dashboard.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_dashboard.py index c5ad88b0..32659be9 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_dashboard.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_dashboard.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_dashboard_asw.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_dashboard_asw.py index 08f9c58b..06a208c1 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_dashboard_asw.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_dashboard_asw.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_dashboard_filter_user_details.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_dashboard_filter_user_details.py index 7757e04a..3dcb4fdf 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_dashboard_filter_user_details.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_dashboard_filter_user_details.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_dashboard_snapshot.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_dashboard_snapshot.py index e56b219f..d284e613 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_dashboard_snapshot.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_dashboard_snapshot.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_data_point_group.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_data_point_group.py index c62c1b61..dd2920b1 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_data_point_group.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_data_point_group.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_data_source_filter.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_data_source_filter.py index 30e38943..39412889 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_data_source_filter.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_data_source_filter.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_data_source_filters.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_data_source_filters.py index 0a6eb81d..c39ac8e7 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_data_source_filters.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_data_source_filters.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_default_timespan.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_default_timespan.py index fa64cbd1..18bf616c 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_default_timespan.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_default_timespan.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_duration.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_duration.py index 0b771654..404ae7dc 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_duration.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_duration.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_duration_unit.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_duration_unit.py deleted file mode 100644 index f138d6f9..00000000 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_duration_unit.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding: utf-8 - -""" - Dashboards API - - Manage ThousandEyes Dashboards. - - The version of the OpenAPI document: 7.0.8 - 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 ApiDurationUnit(str, Enum): - """ - Timespan unit. - """ - - """ - allowed enum values - """ - MINUTE = 'minute' - HOUR = 'hour' - DAY = 'day' - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Create an instance of ApiDurationUnit from a JSON string""" - return cls(json.loads(json_str)) - - diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_geo_map_widget.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_geo_map_widget.py index 781b5ed9..f5e3c16a 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_geo_map_widget.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_geo_map_widget.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_graphlet_point.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_graphlet_point.py index a50a7024..2752436e 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_graphlet_point.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_graphlet_point.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_grouped_barchart_widget.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_grouped_barchart_widget.py index 13592fda..734acb53 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_grouped_barchart_widget.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_grouped_barchart_widget.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_multi_metric_column.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_multi_metric_column.py index 7fac1f6d..b6b0a27c 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_multi_metric_column.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_multi_metric_column.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_multi_metric_column_data.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_multi_metric_column_data.py index 58daef19..7ea53809 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_multi_metric_column_data.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_multi_metric_column_data.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_multi_metric_table_widget.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_multi_metric_table_widget.py index 915ca77d..2d369937 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_multi_metric_table_widget.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_multi_metric_table_widget.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_multi_search_filter_api_test_table_filter_key.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_multi_search_filter_api_test_table_filter_key.py index 293a3e18..0040bb5c 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_multi_search_filter_api_test_table_filter_key.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_multi_search_filter_api_test_table_filter_key.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_numbers_card.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_numbers_card.py index 54cc721a..a4e39a9f 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_numbers_card.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_numbers_card.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_numbers_card_data.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_numbers_card_data.py index a1842a6f..3d32d603 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_numbers_card_data.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_numbers_card_data.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_numbers_card_widget.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_numbers_card_widget.py index 3d49a2a9..dd3b4db9 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_numbers_card_widget.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_numbers_card_widget.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_pie_chart_widget.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_pie_chart_widget.py index 63794441..369fde97 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_pie_chart_widget.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_pie_chart_widget.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_report_data_component_label_map.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_report_data_component_label_map.py index 69afd9d8..a607d1a7 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_report_data_component_label_map.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_report_data_component_label_map.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_report_data_component_label_map_entry.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_report_data_component_label_map_entry.py index 8b441201..4a50fd05 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_report_data_component_label_map_entry.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_report_data_component_label_map_entry.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_report_snapshot_time_span.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_report_snapshot_time_span.py index a321ba23..b14dbdd9 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_report_snapshot_time_span.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_report_snapshot_time_span.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_stacked_area_chart_widget.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_stacked_area_chart_widget.py index 77a67990..5c9db5dc 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_stacked_area_chart_widget.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_stacked_area_chart_widget.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_stacked_barchart_widget.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_stacked_barchart_widget.py index aaf9caef..c32a6cf1 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_stacked_barchart_widget.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_stacked_barchart_widget.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_table_widget.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_table_widget.py index 83b7c94d..a4962cb6 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_table_widget.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_table_widget.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_test_table_data.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_test_table_data.py index ef366523..e66738a7 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_test_table_data.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_test_table_data.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_test_table_graphlets_data.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_test_table_graphlets_data.py index fa77a0c6..36d665d0 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_test_table_graphlets_data.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_test_table_graphlets_data.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_test_table_widget.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_test_table_widget.py index c276741f..a6bf1440 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_test_table_widget.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_test_table_widget.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_timeseries_widget.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_timeseries_widget.py index 62531903..e6de73f3 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_timeseries_widget.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_timeseries_widget.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget.py index 7ee7300d..2b87bf65 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_data.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_data.py index ff3f4800..318bbcc1 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_data.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_data.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_data_point.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_data_point.py index 426939c2..a1df0669 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_data_point.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_data_point.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_data_response.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_data_response.py index 32a506cb..233d4054 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_data_response.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_data_response.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_data_snapshot_response.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_data_snapshot_response.py index fd3a7c36..892c1760 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_data_snapshot_response.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_data_snapshot_response.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_filter_api_test_table_filter_key.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_filter_api_test_table_filter_key.py index f3b64219..1a2f7e39 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_filter_api_test_table_filter_key.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_filter_api_test_table_filter_key.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_fixed_y_scale_prefix.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_fixed_y_scale_prefix.py index a771e3fa..bb6cd851 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_fixed_y_scale_prefix.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_fixed_y_scale_prefix.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -32,10 +31,15 @@ class ApiWidgetFixedYScalePrefix(str, Enum): KPPS = 'Kpps' MPPS = 'Mpps' GPPS = 'Gpps' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of ApiWidgetFixedYScalePrefix from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_measure.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_measure.py index 79063767..c306c7a8 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_measure.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_measure.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_sort_direction.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_sort_direction.py index fd9bb1cd..2933de83 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_sort_direction.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_sort_direction.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class ApiWidgetSortDirection(str, Enum): """ ASCENDING = 'ascending' DESCENDING = 'descending' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of ApiWidgetSortDirection from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_sort_property.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_sort_property.py index 72323c06..c3a73ee1 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_sort_property.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widget_sort_property.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class ApiWidgetSortProperty(str, Enum): """ ALPHABETICAL = 'alphabetical' VALUE = 'value' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of ApiWidgetSortProperty from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widgets_data_v2.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widgets_data_v2.py index 1f4fc412..bc2a2ea1 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widgets_data_v2.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/api_widgets_data_v2.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/app_and_self_links.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/app_and_self_links.py index f8cbf7fe..eef01bd3 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/app_and_self_links.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/app_and_self_links.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/asw_repeat.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/asw_repeat.py index 92240fd5..b628feca 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/asw_repeat.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/asw_repeat.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -34,10 +33,15 @@ class AswRepeat(str, Enum): EVERY_MINUS_MONTH = 'every-month' EVERY_MINUS_THREE_MINUS_MONTH = 'every-three-month' CUSTOM = 'custom' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of AswRepeat from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/asw_repeat_unit.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/asw_repeat_unit.py index d4dd009a..e252d97e 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/asw_repeat_unit.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/asw_repeat_unit.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class AswRepeatUnit(str, Enum): DAY = 'day' WEEK = 'week' MONTH = 'month' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of AswRepeatUnit from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/box_and_whiskers_datasource.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/box_and_whiskers_datasource.py index 5cb84f81..1c472617 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/box_and_whiskers_datasource.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/box_and_whiskers_datasource.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -37,10 +36,16 @@ class BoxAndWhiskersDatasource(str, Enum): ENDPOINT_SCHEDULED_TEST = 'ENDPOINT_SCHEDULED_TEST' INTERNET_INSIGHTS = 'INTERNET_INSIGHTS' ROUTING = 'ROUTING' + CLOUD_NATIVE_MONITORING = 'CLOUD_NATIVE_MONITORING' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of BoxAndWhiskersDatasource from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/color_grid_datasource.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/color_grid_datasource.py index 813e355b..3ce67c6f 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/color_grid_datasource.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/color_grid_datasource.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -38,10 +37,16 @@ class ColorGridDatasource(str, Enum): ENDPOINT_SCHEDULED_TEST = 'ENDPOINT_SCHEDULED_TEST' INTERNET_INSIGHTS = 'INTERNET_INSIGHTS' ROUTING = 'ROUTING' + CLOUD_NATIVE_MONITORING = 'CLOUD_NATIVE_MONITORING' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of ColorGridDatasource from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard.py index 0492db75..2fb2d7da 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard_global_filter_id.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard_global_filter_id.py index c70b7e65..ddbd5c8c 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard_global_filter_id.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard_global_filter_id.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard_links.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard_links.py index 41b4c4cc..dbd328c3 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard_links.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard_links.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard_metric.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard_metric.py index 7d702331..4f424897 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard_metric.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard_metric.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -242,10 +241,25 @@ class DashboardMetric(str, Enum): APPLICATION_OUTAGES_LOCATIONS = 'APPLICATION_OUTAGES_LOCATIONS' APPLICATION_OUTAGES_OUTAGES = 'APPLICATION_OUTAGES_OUTAGES' APPDYNAMICS_SERVICE_HEALTH = 'APPDYNAMICS_SERVICE_HEALTH' + CLOUD_NATIVE_MONITORING_MINUS_ACCEPTED_TOTAL_THROUGHPUT = 'CLOUD_NATIVE_MONITORING-ACCEPTED_TOTAL_THROUGHPUT' + CLOUD_NATIVE_MONITORING_MINUS_ACCEPTED_OUTBOUND_THROUGHPUT = 'CLOUD_NATIVE_MONITORING-ACCEPTED_OUTBOUND_THROUGHPUT' + CLOUD_NATIVE_MONITORING_MINUS_ACCEPTED_INBOUND_THROUGHPUT = 'CLOUD_NATIVE_MONITORING-ACCEPTED_INBOUND_THROUGHPUT' + CLOUD_NATIVE_MONITORING_MINUS_REJECTED_TOTAL_THROUGHPUT = 'CLOUD_NATIVE_MONITORING-REJECTED_TOTAL_THROUGHPUT' + CLOUD_NATIVE_MONITORING_MINUS_REJECTED_OUTBOUND_THROUGHPUT = 'CLOUD_NATIVE_MONITORING-REJECTED_OUTBOUND_THROUGHPUT' + CLOUD_NATIVE_MONITORING_MINUS_REJECTED_INBOUND_THROUGHPUT = 'CLOUD_NATIVE_MONITORING-REJECTED_INBOUND_THROUGHPUT' + CLOUD_NATIVE_MONITORING_MINUS_CONNECTION_RATE = 'CLOUD_NATIVE_MONITORING-CONNECTION_RATE' + CLOUD_NATIVE_MONITORING_MINUS_ALL_EVENTS = 'CLOUD_NATIVE_MONITORING-ALL_EVENTS' + CLOUD_NATIVE_MONITORING_MINUS_CONFIGURATION_CHANGE_EVENTS = 'CLOUD_NATIVE_MONITORING-CONFIGURATION_CHANGE_EVENTS' + CLOUD_NATIVE_MONITORING_MINUS_AUTOSCALING_EVENTS = 'CLOUD_NATIVE_MONITORING-AUTOSCALING_EVENTS' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of DashboardMetric from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard_metric_direction.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard_metric_direction.py index a0390fc6..e307a521 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard_metric_direction.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard_metric_direction.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class DashboardMetricDirection(str, Enum): TO_TARGET = 'TO_TARGET' FROM_TARGET = 'FROM_TARGET' BIDIRECTIONAL = 'BIDIRECTIONAL' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of DashboardMetricDirection from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard_order.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard_order.py index 240b5f6c..6dc9ef58 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard_order.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard_order.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class DashboardOrder(str, Enum): """ ASC = 'asc' DESC = 'desc' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of DashboardOrder from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard_snapshot_response.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard_snapshot_response.py index db74c586..bb3179a1 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard_snapshot_response.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard_snapshot_response.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard_snapshots_page.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard_snapshots_page.py index d65b2a92..c19e4479 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard_snapshots_page.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/dashboard_snapshots_page.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/default_timespan.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/default_timespan.py index cecbbc2e..d70075cb 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/default_timespan.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/default_timespan.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/enterprise_agent_state.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/enterprise_agent_state.py index 427ab868..abfaa2fd 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/enterprise_agent_state.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/enterprise_agent_state.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class EnterpriseAgentState(str, Enum): ONLINE = 'online' OFFLINE = 'offline' DISABLED = 'disabled' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of EnterpriseAgentState from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/error.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/error.py index 4e347a80..638c5e09 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/error.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/error.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/generate_dashboard_snapshot_request.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/generate_dashboard_snapshot_request.py index 6b266cac..e3efed53 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/generate_dashboard_snapshot_request.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/generate_dashboard_snapshot_request.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/geo_map_datasource.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/geo_map_datasource.py index fd391bd4..77e561e0 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/geo_map_datasource.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/geo_map_datasource.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -36,10 +35,16 @@ class GeoMapDatasource(str, Enum): ENDPOINT_SCHEDULED_TEST = 'ENDPOINT_SCHEDULED_TEST' INTERNET_INSIGHTS = 'INTERNET_INSIGHTS' ROUTING = 'ROUTING' + CLOUD_NATIVE_MONITORING = 'CLOUD_NATIVE_MONITORING' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of GeoMapDatasource from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/grouped_bar_chart_datasource.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/grouped_bar_chart_datasource.py index 9571be70..5907e642 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/grouped_bar_chart_datasource.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/grouped_bar_chart_datasource.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -37,10 +36,16 @@ class GroupedBarChartDatasource(str, Enum): ENDPOINT_SCHEDULED_TEST = 'ENDPOINT_SCHEDULED_TEST' INTERNET_INSIGHTS = 'INTERNET_INSIGHTS' ROUTING = 'ROUTING' + CLOUD_NATIVE_MONITORING = 'CLOUD_NATIVE_MONITORING' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of GroupedBarChartDatasource from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_agent_widget_show.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_agent_widget_show.py index e86124e5..d1186232 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_agent_widget_show.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_agent_widget_show.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class LegacyAgentWidgetShow(str, Enum): """ OWNED_AGENTS = 'Owned Agents' ALL_ASSIGNED_AGENTS = 'All Assigned Agents' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of LegacyAgentWidgetShow from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_agent_widget_type.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_agent_widget_type.py index eeb5f18e..a0e6f74e 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_agent_widget_type.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_agent_widget_type.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class LegacyAgentWidgetType(str, Enum): """ ENTERPRISE_AGENTS = 'Enterprise Agents' ENDPOINT_AGENTS = 'Endpoint Agents' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of LegacyAgentWidgetType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_alert_list_alert_type.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_alert_list_alert_type.py index 8d75d252..deeed534 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_alert_list_alert_type.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_alert_list_alert_type.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -49,10 +48,15 @@ class LegacyAlertListAlertType(str, Enum): BROWSER_SESSIONS_MINUS__AGENT = 'Browser Sessions - Agent' BROWSER_SESSIONS_MINUS__APPLICATION = 'Browser Sessions - Application' ROUTING_MINUS__BGP = 'Routing - BGP' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of LegacyAlertListAlertType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_api_dashboard.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_api_dashboard.py index 4d39eb51..09bb27bd 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_api_dashboard.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_api_dashboard.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_dashboard_snapshot.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_dashboard_snapshot.py index b2a6e041..20f7e2ef 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_dashboard_snapshot.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_dashboard_snapshot.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_default_timespan.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_default_timespan.py index a0f8e328..ddc137e1 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_default_timespan.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_default_timespan.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_duration_unit.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_duration_unit.py index 62b9f64d..5bb3a791 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_duration_unit.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_duration_unit.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class LegacyDurationUnit(str, Enum): MINUTES = 'Minutes' HOURS = 'Hours' DAYS = 'Days' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of LegacyDurationUnit from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_widget_sort_direction.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_widget_sort_direction.py index d1d66633..4e968a5c 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_widget_sort_direction.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_widget_sort_direction.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class LegacyWidgetSortDirection(str, Enum): """ ASCENDING = 'Ascending' DESCENDING = 'Descending' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of LegacyWidgetSortDirection from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_widget_sort_property.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_widget_sort_property.py index a0794ef3..8552d28c 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_widget_sort_property.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/legacy_widget_sort_property.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class LegacyWidgetSortProperty(str, Enum): """ ALPHABETICAL = 'Alphabetical' VALUE = 'Value' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of LegacyWidgetSortProperty from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/link.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/link.py index 32f81f94..73c00540 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/link.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/link.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/metric_group.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/metric_group.py index 0b68c46a..d736efb4 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/metric_group.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/metric_group.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -62,10 +61,15 @@ class MetricGroup(str, Enum): NETWORK_OUTAGES = 'NETWORK_OUTAGES' APPLICATION_OUTAGES = 'APPLICATION_OUTAGES' APPDYNAMICS_SERVICE_HEALTH = 'APPDYNAMICS_SERVICE_HEALTH' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of MetricGroup from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/multi_metrics_table_datasource.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/multi_metrics_table_datasource.py index 7428de41..17b88c64 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/multi_metrics_table_datasource.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/multi_metrics_table_datasource.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -37,10 +36,16 @@ class MultiMetricsTableDatasource(str, Enum): ENDPOINT_SCHEDULED_TEST = 'ENDPOINT_SCHEDULED_TEST' INTERNET_INSIGHTS = 'INTERNET_INSIGHTS' ROUTING = 'ROUTING' + CLOUD_NATIVE_MONITORING = 'CLOUD_NATIVE_MONITORING' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of MultiMetricsTableDatasource from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/numbers_card_datasource.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/numbers_card_datasource.py index ad84707e..9ad27306 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/numbers_card_datasource.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/numbers_card_datasource.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -37,10 +36,16 @@ class NumbersCardDatasource(str, Enum): ENDPOINT_SCHEDULED_TEST = 'ENDPOINT_SCHEDULED_TEST' INTERNET_INSIGHTS = 'INTERNET_INSIGHTS' ROUTING = 'ROUTING' + CLOUD_NATIVE_MONITORING = 'CLOUD_NATIVE_MONITORING' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of NumbersCardDatasource from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/pagination_links.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/pagination_links.py index 266f6667..91fd4324 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/pagination_links.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/pagination_links.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/pie_chart_datasource.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/pie_chart_datasource.py index 39f23562..09760494 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/pie_chart_datasource.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/pie_chart_datasource.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -30,10 +29,16 @@ class PieChartDatasource(str, Enum): ENDPOINT_AGENTS = 'ENDPOINT_AGENTS' ENDPOINT_BROWSER_SESSION = 'ENDPOINT_BROWSER_SESSION' ENDPOINT_SCHEDULED_TEST = 'ENDPOINT_SCHEDULED_TEST' + CLOUD_NATIVE_MONITORING = 'CLOUD_NATIVE_MONITORING' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of PieChartDatasource from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/scalable_widget.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/scalable_widget.py index e92e5013..464c94c7 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/scalable_widget.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/scalable_widget.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/self_links.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/self_links.py index 4b49bd85..6142e205 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/self_links.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/self_links.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/stacked_area_chart_datasource.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/stacked_area_chart_datasource.py index 27d97311..61d94eb2 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/stacked_area_chart_datasource.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/stacked_area_chart_datasource.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -30,10 +29,16 @@ class StackedAreaChartDatasource(str, Enum): ENDPOINT_AGENTS = 'ENDPOINT_AGENTS' ENDPOINT_BROWSER_SESSION = 'ENDPOINT_BROWSER_SESSION' ENDPOINT_SCHEDULED_TEST = 'ENDPOINT_SCHEDULED_TEST' + CLOUD_NATIVE_MONITORING = 'CLOUD_NATIVE_MONITORING' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of StackedAreaChartDatasource from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/stacked_bar_chart_datasource.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/stacked_bar_chart_datasource.py index 14847ae0..d7c5e626 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/stacked_bar_chart_datasource.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/stacked_bar_chart_datasource.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -30,10 +29,16 @@ class StackedBarChartDatasource(str, Enum): ENDPOINT_AGENTS = 'ENDPOINT_AGENTS' ENDPOINT_BROWSER_SESSION = 'ENDPOINT_BROWSER_SESSION' ENDPOINT_SCHEDULED_TEST = 'ENDPOINT_SCHEDULED_TEST' + CLOUD_NATIVE_MONITORING = 'CLOUD_NATIVE_MONITORING' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of StackedBarChartDatasource from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/table_datasource.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/table_datasource.py index 83d506e6..a2f63bfd 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/table_datasource.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/table_datasource.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -37,10 +36,16 @@ class TableDatasource(str, Enum): ENDPOINT_SCHEDULED_TEST = 'ENDPOINT_SCHEDULED_TEST' INTERNET_INSIGHTS = 'INTERNET_INSIGHTS' ROUTING = 'ROUTING' + CLOUD_NATIVE_MONITORING = 'CLOUD_NATIVE_MONITORING' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TableDatasource from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/test_table_datasource.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/test_table_datasource.py index 87038d7a..87593e3a 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/test_table_datasource.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/test_table_datasource.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -39,10 +38,16 @@ class TestTableDatasource(str, Enum): CLOUD_AND_ENTERPRISE_AGENTS = 'CLOUD_AND_ENTERPRISE_AGENTS' INTERNET_INSIGHTS = 'INTERNET_INSIGHTS' APPDYNAMICS_SERVICE_HEALTH = 'APPDYNAMICS_SERVICE_HEALTH' + CLOUD_NATIVE_MONITORING = 'CLOUD_NATIVE_MONITORING' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestTableDatasource from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/test_table_filter_key.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/test_table_filter_key.py index 71ac8c6f..d3617401 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/test_table_filter_key.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/test_table_filter_key.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -32,10 +31,15 @@ class TestTableFilterKey(str, Enum): TEST_ID = 'Test ID' TEST_TYPE = 'Test type' LABEL_ID = 'Label ID' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestTableFilterKey from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/test_table_filter_type.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/test_table_filter_type.py index e73a8dee..ebd59022 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/test_table_filter_type.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/test_table_filter_type.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class TestTableFilterType(str, Enum): """ ALL = 'all' ANY = 'any' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestTableFilterType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/timeseries_datasource.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/timeseries_datasource.py index be5dfb8e..5dacebef 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/timeseries_datasource.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/timeseries_datasource.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -37,10 +36,16 @@ class TimeseriesDatasource(str, Enum): ENDPOINT_SCHEDULED_TEST = 'ENDPOINT_SCHEDULED_TEST' INTERNET_INSIGHTS = 'INTERNET_INSIGHTS' ROUTING = 'ROUTING' + CLOUD_NATIVE_MONITORING = 'CLOUD_NATIVE_MONITORING' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TimeseriesDatasource from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/unauthorized_error.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/unauthorized_error.py index d131b5d2..a2171e8f 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/unauthorized_error.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/unauthorized_error.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/update_snapshot_expiration_date_api_request.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/update_snapshot_expiration_date_api_request.py index 74e38d2f..f02cbe42 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/update_snapshot_expiration_date_api_request.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/update_snapshot_expiration_date_api_request.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/validation_error.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/validation_error.py index 46e7f572..643fde31 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/validation_error.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/validation_error.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/validation_error_item.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/validation_error_item.py index 80266379..78183f62 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/validation_error_item.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/validation_error_item.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/visual_mode.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/visual_mode.py index 38e8bac3..b2e85d60 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/visual_mode.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/visual_mode.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class VisualMode(str, Enum): """ FULL = 'Full' HALF_SCREEN = 'Half screen' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of VisualMode from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/widget.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/widget.py index f7f2ccb5..da0d7b1d 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/widget.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/widget.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/widget_measure_type.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/widget_measure_type.py index 1bf3e7f0..e4984458 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/widget_measure_type.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/widget_measure_type.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -36,10 +35,17 @@ class WidgetMeasureType(str, Enum): STDDEV = 'STDDEV' TOTAL = 'TOTAL' VALUES = 'VALUES' + CLOUD_NATIVE_MONITORING_MINUS_MEAN = 'CLOUD_NATIVE_MONITORING-MEAN' + CLOUD_NATIVE_MONITORING_MINUS_SUM = 'CLOUD_NATIVE_MONITORING-SUM' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of WidgetMeasureType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/widget_type.py b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/widget_type.py index 88f997bb..c74ba975 100644 --- a/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/widget_type.py +++ b/thousandeyes-sdk-dashboards/src/thousandeyes_sdk/dashboards/models/widget_type.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -40,10 +39,15 @@ class WidgetType(str, Enum): TEST_TABLE = 'Test Table' MAP = 'Map' BOX_AND_WHISKERS = 'Box and Whiskers' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of WidgetType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-dashboards/test/test_dashboard_snapshots_api.py b/thousandeyes-sdk-dashboards/test/test_dashboard_snapshots_api.py index b5a5bee5..922affdf 100644 --- a/thousandeyes-sdk-dashboards/test/test_dashboard_snapshots_api.py +++ b/thousandeyes-sdk-dashboards/test/test_dashboard_snapshots_api.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/test/test_dashboards_api.py b/thousandeyes-sdk-dashboards/test/test_dashboards_api.py index 5335ec54..7e582ce2 100644 --- a/thousandeyes-sdk-dashboards/test/test_dashboards_api.py +++ b/thousandeyes-sdk-dashboards/test/test_dashboards_api.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-dashboards/test/test_dashboards_filters_api.py b/thousandeyes-sdk-dashboards/test/test_dashboards_filters_api.py index 033a07a5..394b9b8a 100644 --- a/thousandeyes-sdk-dashboards/test/test_dashboards_filters_api.py +++ b/thousandeyes-sdk-dashboards/test/test_dashboards_filters_api.py @@ -5,7 +5,6 @@ Manage ThousandEyes Dashboards. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-labels/.openapi-generator-ignore b/thousandeyes-sdk-emulation/.openapi-generator-ignore similarity index 100% rename from thousandeyes-sdk-labels/.openapi-generator-ignore rename to thousandeyes-sdk-emulation/.openapi-generator-ignore diff --git a/thousandeyes-sdk-emulation/.openapi-generator/FILES b/thousandeyes-sdk-emulation/.openapi-generator/FILES new file mode 100644 index 00000000..90ceb9ec --- /dev/null +++ b/thousandeyes-sdk-emulation/.openapi-generator/FILES @@ -0,0 +1,36 @@ +.openapi-generator-ignore +MANIFEST.in +README.md +docs/EmulatedDevice.md +docs/EmulatedDeviceCategory.md +docs/EmulatedDeviceResponse.md +docs/EmulatedDeviceResponses.md +docs/EmulationApi.md +docs/Error.md +docs/ExpandEmulatedDeviceOptions.md +docs/Link.md +docs/SelfLinks.md +docs/UnauthorizedError.md +docs/UserAgent.md +docs/UserAgents.md +pyproject.toml +setup.cfg +src/thousandeyes_sdk/emulation/__init__.py +src/thousandeyes_sdk/emulation/api/__init__.py +src/thousandeyes_sdk/emulation/api/emulation_api.py +src/thousandeyes_sdk/emulation/models/__init__.py +src/thousandeyes_sdk/emulation/models/emulated_device.py +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_responses.py +src/thousandeyes_sdk/emulation/models/error.py +src/thousandeyes_sdk/emulation/models/expand_emulated_device_options.py +src/thousandeyes_sdk/emulation/models/link.py +src/thousandeyes_sdk/emulation/models/self_links.py +src/thousandeyes_sdk/emulation/models/unauthorized_error.py +src/thousandeyes_sdk/emulation/models/user_agent.py +src/thousandeyes_sdk/emulation/models/user_agents.py +src/thousandeyes_sdk/emulation/py.typed +test/__init__.py +test/test_emulation_api.py +test/test_utils.py diff --git a/thousandeyes-sdk-labels/.openapi-generator/VERSION b/thousandeyes-sdk-emulation/.openapi-generator/VERSION similarity index 100% rename from thousandeyes-sdk-labels/.openapi-generator/VERSION rename to thousandeyes-sdk-emulation/.openapi-generator/VERSION diff --git a/thousandeyes-sdk-labels/MANIFEST.in b/thousandeyes-sdk-emulation/MANIFEST.in similarity index 100% rename from thousandeyes-sdk-labels/MANIFEST.in rename to thousandeyes-sdk-emulation/MANIFEST.in diff --git a/thousandeyes-sdk-emulation/README.md b/thousandeyes-sdk-emulation/README.md new file mode 100644 index 00000000..4feefa92 --- /dev/null +++ b/thousandeyes-sdk-emulation/README.md @@ -0,0 +1,139 @@ +# thousandeyes-sdk-emulation +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 operations, the following permissions are required: + +* `Settings Tests Read` for read operations. +* `Settings Tests Update` for write operations. + + +This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: + +- API version: 7.0.20 +- Generator version: 7.6.0 +- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator + +## Requirements. + +Python 3.8+ + +## Installation & Usage +### pip install + +Install directly via PyPi: + +```sh +pip install thousandeyes-sdk-emulation +``` +(you may need to run `pip` with root permission: `sudo pip install thousandeyes-sdk-emulation`) + +Then import the package: +```python +import thousandeyes_sdk.emulation +``` + +### Setuptools + +Install via [Setuptools](http://pypi.python.org/pypi/setuptools). + +```sh +python setup.py install --user +``` +(or `sudo python setup.py install` to install the package for all users) + +Then import the package: +```python +import thousandeyes_sdk.emulation +``` + +### Tests + +Execute `pytest` to run the tests. + +## Getting Started + +Please follow the installation procedure and then run the following: + +```python + +import thousandeyes_sdk.core +import thousandeyes_sdk.emulation +from thousandeyes_sdk.core.exceptions import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.thousandeyes.com/v7 +# See configuration.py for a list of all supported configuration parameters. +configuration = thousandeyes_sdk.core.Configuration( + host = "https://api.thousandeyes.com/v7" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure Bearer authorization: BearerAuth +configuration = thousandeyes_sdk.core.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + + +# Enter a context with an instance of the API client +with thousandeyes_sdk.core.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = thousandeyes_sdk.emulation.EmulationApi(api_client) + emulated_device = thousandeyes_sdk.emulation.EmulatedDevice() # EmulatedDevice | + aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) + + try: + # Create emulated device + api_response = api_instance.create_emulated_device(emulated_device, aid=aid) + print("The response of EmulationApi->create_emulated_device:\n") + pprint(api_response) + except ApiException as e: + print("Exception when calling EmulationApi->create_emulated_device: %s\n" % e) + +``` + +## Documentation for API Endpoints + +All URIs are relative to *https://api.thousandeyes.com/v7* + +Class | Method | HTTP request | Description +------------ | ------------- | ------------- | ------------- +*EmulationApi* | [**create_emulated_device**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-emulation/docs/EmulationApi.md#create_emulated_device) | **POST** /emulated-devices | Create emulated device +*EmulationApi* | [**get_emulated_devices**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-emulation/docs/EmulationApi.md#get_emulated_devices) | **GET** /emulated-devices | List emulated devices +*EmulationApi* | [**get_user_agents**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-emulation/docs/EmulationApi.md#get_user_agents) | **GET** /user-agents | List user-agents + + +## Documentation For Models + + - [EmulatedDevice](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-emulation/docs/EmulatedDevice.md) + - [EmulatedDeviceCategory](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-emulation/docs/EmulatedDeviceCategory.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) + - [Error](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-emulation/docs/Error.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) + - [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) + - [UserAgent](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-emulation/docs/UserAgent.md) + - [UserAgents](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-emulation/docs/UserAgents.md) + + + +## Documentation For Authorization + + +Authentication schemes defined for the API: + +### BearerAuth + +- **Type**: Bearer authentication + + +## Author + +ThousandEyes API Team + + diff --git a/thousandeyes-sdk-emulation/docs/EmulatedDevice.md b/thousandeyes-sdk-emulation/docs/EmulatedDevice.md new file mode 100644 index 00000000..7621caa1 --- /dev/null +++ b/thousandeyes-sdk-emulation/docs/EmulatedDevice.md @@ -0,0 +1,31 @@ +# EmulatedDevice + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**category** | [**EmulatedDeviceCategory**](EmulatedDeviceCategory.md) | | +**width** | **int** | The width of the display of the emulated device. | +**height** | **int** | The height of the display of the emulated device. | + +## Example + +```python +from thousandeyes_sdk.emulation.models.emulated_device import EmulatedDevice + +# TODO update the JSON string below +json = "{}" +# create an instance of EmulatedDevice from a JSON string +emulated_device_instance = EmulatedDevice.from_json(json) +# print the JSON string representation of the object +print(EmulatedDevice.to_json()) + +# convert the object into a dict +emulated_device_dict = emulated_device_instance.to_dict() +# create an instance of EmulatedDevice from a dict +emulated_device_from_dict = EmulatedDevice.from_dict(emulated_device_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) + + diff --git a/thousandeyes-sdk-emulation/docs/EmulatedDeviceCategory.md b/thousandeyes-sdk-emulation/docs/EmulatedDeviceCategory.md new file mode 100644 index 00000000..2181a627 --- /dev/null +++ b/thousandeyes-sdk-emulation/docs/EmulatedDeviceCategory.md @@ -0,0 +1,12 @@ +# EmulatedDeviceCategory + +The type of device being emulated. + +## 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) + + diff --git a/thousandeyes-sdk-emulation/docs/EmulatedDeviceResponse.md b/thousandeyes-sdk-emulation/docs/EmulatedDeviceResponse.md new file mode 100644 index 00000000..c270443e --- /dev/null +++ b/thousandeyes-sdk-emulation/docs/EmulatedDeviceResponse.md @@ -0,0 +1,36 @@ +# EmulatedDeviceResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**category** | [**EmulatedDeviceCategory**](EmulatedDeviceCategory.md) | | +**width** | **int** | The width of the display of the emulated device. | +**height** | **int** | The height of the display of the emulated device. | +**name** | **str** | The device name | [optional] +**code_name** | **str** | A code corresponding to the device name. | [optional] +**id** | **str** | ID of the emulated device. | [optional] +**available_user_agents** | **List[str]** | A list of user-agent strings for this emulated device. | [optional] +**default_user_agent_template** | **str** | The default user-agent template to use for this device. | [optional] + +## Example + +```python +from thousandeyes_sdk.emulation.models.emulated_device_response import EmulatedDeviceResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of EmulatedDeviceResponse from a JSON string +emulated_device_response_instance = EmulatedDeviceResponse.from_json(json) +# print the JSON string representation of the object +print(EmulatedDeviceResponse.to_json()) + +# convert the object into a dict +emulated_device_response_dict = emulated_device_response_instance.to_dict() +# create an instance of EmulatedDeviceResponse from a dict +emulated_device_response_from_dict = EmulatedDeviceResponse.from_dict(emulated_device_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) + + diff --git a/thousandeyes-sdk-emulation/docs/EmulatedDeviceResponses.md b/thousandeyes-sdk-emulation/docs/EmulatedDeviceResponses.md new file mode 100644 index 00000000..efcfdab8 --- /dev/null +++ b/thousandeyes-sdk-emulation/docs/EmulatedDeviceResponses.md @@ -0,0 +1,30 @@ +# EmulatedDeviceResponses + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**emulated_devices** | [**List[EmulatedDeviceResponse]**](EmulatedDeviceResponse.md) | | [optional] +**links** | [**SelfLinks**](SelfLinks.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.emulation.models.emulated_device_responses import EmulatedDeviceResponses + +# TODO update the JSON string below +json = "{}" +# create an instance of EmulatedDeviceResponses from a JSON string +emulated_device_responses_instance = EmulatedDeviceResponses.from_json(json) +# print the JSON string representation of the object +print(EmulatedDeviceResponses.to_json()) + +# convert the object into a dict +emulated_device_responses_dict = emulated_device_responses_instance.to_dict() +# create an instance of EmulatedDeviceResponses from a dict +emulated_device_responses_from_dict = EmulatedDeviceResponses.from_dict(emulated_device_responses_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) + + diff --git a/thousandeyes-sdk-emulation/docs/EmulationApi.md b/thousandeyes-sdk-emulation/docs/EmulationApi.md new file mode 100644 index 00000000..28c53df2 --- /dev/null +++ b/thousandeyes-sdk-emulation/docs/EmulationApi.md @@ -0,0 +1,264 @@ +# thousandeyes_sdk.emulation.EmulationApi + +All URIs are relative to *https://api.thousandeyes.com/v7* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_emulated_device**](EmulationApi.md#create_emulated_device) | **POST** /emulated-devices | Create emulated device +[**get_emulated_devices**](EmulationApi.md#get_emulated_devices) | **GET** /emulated-devices | List emulated devices +[**get_user_agents**](EmulationApi.md#get_user_agents) | **GET** /user-agents | List user-agents + + +# **create_emulated_device** +> EmulatedDeviceResponse create_emulated_device(emulated_device, aid=aid) + +Create emulated device + +Creates a new device for emulation. + +### Example + +* Bearer Authentication (BearerAuth): + +```python +import thousandeyes_sdk.emulation +from thousandeyes_sdk.emulation.models.emulated_device import EmulatedDevice +from thousandeyes_sdk.emulation.models.emulated_device_response import EmulatedDeviceResponse +from thousandeyes_sdk.emulation.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.emulation.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = thousandeyes_sdk.emulation.EmulationApi(api_client) + emulated_device = thousandeyes_sdk.emulation.EmulatedDevice() # EmulatedDevice | + aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) + + try: + # Create emulated device + api_response = api_instance.create_emulated_device(emulated_device, aid=aid) + print("The response of EmulationApi->create_emulated_device:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling EmulationApi->create_emulated_device: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **emulated_device** | [**EmulatedDevice**](EmulatedDevice.md)| | + **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] + +### Return type + +[**EmulatedDeviceResponse**](EmulatedDeviceResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/hal+json, application/json, application/problem+json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**201** | Created | - | +**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_emulated_devices** +> EmulatedDeviceResponses get_emulated_devices(expand=expand) + +List emulated devices + +Retrieves a list of emulated devices available for browser tests. + +### Example + +* Bearer Authentication (BearerAuth): + +```python +import thousandeyes_sdk.emulation +from thousandeyes_sdk.emulation.models.emulated_device_responses import EmulatedDeviceResponses +from thousandeyes_sdk.emulation.models.expand_emulated_device_options import ExpandEmulatedDeviceOptions +from thousandeyes_sdk.emulation.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.emulation.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = thousandeyes_sdk.emulation.EmulationApi(api_client) + 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: + # List emulated devices + api_response = api_instance.get_emulated_devices(expand=expand) + print("The response of EmulationApi->get_emulated_devices:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling EmulationApi->get_emulated_devices: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **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 `?expand=user-agent` to the request. | [optional] + +### Return type + +[**EmulatedDeviceResponses**](EmulatedDeviceResponses.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) + +# **get_user_agents** +> UserAgents get_user_agents(aid=aid) + +List user-agents + +Retrieves a list of user-agent strings. + +### Example + +* Bearer Authentication (BearerAuth): + +```python +import thousandeyes_sdk.emulation +from thousandeyes_sdk.emulation.models.user_agents import UserAgents +from thousandeyes_sdk.emulation.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.emulation.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = thousandeyes_sdk.emulation.EmulationApi(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 user-agents + api_response = api_instance.get_user_agents(aid=aid) + print("The response of EmulationApi->get_user_agents:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling EmulationApi->get_user_agents: %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 + +[**UserAgents**](UserAgents.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) + diff --git a/thousandeyes-sdk-labels/docs/Error.md b/thousandeyes-sdk-emulation/docs/Error.md similarity index 95% rename from thousandeyes-sdk-labels/docs/Error.md rename to thousandeyes-sdk-emulation/docs/Error.md index 94d8b93e..b4067cc1 100644 --- a/thousandeyes-sdk-labels/docs/Error.md +++ b/thousandeyes-sdk-emulation/docs/Error.md @@ -14,7 +14,7 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.labels.models.error import Error +from thousandeyes_sdk.emulation.models.error import Error # TODO update the JSON string below json = "{}" diff --git a/thousandeyes-sdk-emulation/docs/ExpandEmulatedDeviceOptions.md b/thousandeyes-sdk-emulation/docs/ExpandEmulatedDeviceOptions.md new file mode 100644 index 00000000..17daf172 --- /dev/null +++ b/thousandeyes-sdk-emulation/docs/ExpandEmulatedDeviceOptions.md @@ -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) + + diff --git a/thousandeyes-sdk-labels/docs/Link.md b/thousandeyes-sdk-emulation/docs/Link.md similarity index 96% rename from thousandeyes-sdk-labels/docs/Link.md rename to thousandeyes-sdk-emulation/docs/Link.md index df2b40ad..eb04860c 100644 --- a/thousandeyes-sdk-labels/docs/Link.md +++ b/thousandeyes-sdk-emulation/docs/Link.md @@ -18,7 +18,7 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.labels.models.link import Link +from thousandeyes_sdk.emulation.models.link import Link # TODO update the JSON string below json = "{}" diff --git a/thousandeyes-sdk-labels/docs/SelfLinks.md b/thousandeyes-sdk-emulation/docs/SelfLinks.md similarity index 92% rename from thousandeyes-sdk-labels/docs/SelfLinks.md rename to thousandeyes-sdk-emulation/docs/SelfLinks.md index 30e4b769..a9d16beb 100644 --- a/thousandeyes-sdk-labels/docs/SelfLinks.md +++ b/thousandeyes-sdk-emulation/docs/SelfLinks.md @@ -11,7 +11,7 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.labels.models.self_links import SelfLinks +from thousandeyes_sdk.emulation.models.self_links import SelfLinks # TODO update the JSON string below json = "{}" diff --git a/thousandeyes-sdk-labels/docs/UnauthorizedError.md b/thousandeyes-sdk-emulation/docs/UnauthorizedError.md similarity index 91% rename from thousandeyes-sdk-labels/docs/UnauthorizedError.md rename to thousandeyes-sdk-emulation/docs/UnauthorizedError.md index d9239b43..9a2a998c 100644 --- a/thousandeyes-sdk-labels/docs/UnauthorizedError.md +++ b/thousandeyes-sdk-emulation/docs/UnauthorizedError.md @@ -11,7 +11,7 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.labels.models.unauthorized_error import UnauthorizedError +from thousandeyes_sdk.emulation.models.unauthorized_error import UnauthorizedError # TODO update the JSON string below json = "{}" diff --git a/thousandeyes-sdk-emulation/docs/UserAgent.md b/thousandeyes-sdk-emulation/docs/UserAgent.md new file mode 100644 index 00000000..28105c87 --- /dev/null +++ b/thousandeyes-sdk-emulation/docs/UserAgent.md @@ -0,0 +1,31 @@ +# UserAgent + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**browser** | **str** | The name of the web browser. | [optional] +**os** | **str** | The operating system for the user-agent HTTP header. | [optional] +**value** | **str** | The text of the user-agent header. | [optional] + +## Example + +```python +from thousandeyes_sdk.emulation.models.user_agent import UserAgent + +# TODO update the JSON string below +json = "{}" +# create an instance of UserAgent from a JSON string +user_agent_instance = UserAgent.from_json(json) +# print the JSON string representation of the object +print(UserAgent.to_json()) + +# convert the object into a dict +user_agent_dict = user_agent_instance.to_dict() +# create an instance of UserAgent from a dict +user_agent_from_dict = UserAgent.from_dict(user_agent_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) + + diff --git a/thousandeyes-sdk-labels/docs/Labels.md b/thousandeyes-sdk-emulation/docs/UserAgents.md similarity index 52% rename from thousandeyes-sdk-labels/docs/Labels.md rename to thousandeyes-sdk-emulation/docs/UserAgents.md index 31d7808c..2e9e8751 100644 --- a/thousandeyes-sdk-labels/docs/Labels.md +++ b/thousandeyes-sdk-emulation/docs/UserAgents.md @@ -1,29 +1,29 @@ -# Labels +# UserAgents ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**labels** | [**List[Label]**](Label.md) | | [optional] +**user_agents** | [**List[UserAgent]**](UserAgent.md) | | [optional] **links** | [**SelfLinks**](SelfLinks.md) | | [optional] ## Example ```python -from thousandeyes_sdk.labels.models.labels import Labels +from thousandeyes_sdk.emulation.models.user_agents import UserAgents # TODO update the JSON string below json = "{}" -# create an instance of Labels from a JSON string -labels_instance = Labels.from_json(json) +# create an instance of UserAgents from a JSON string +user_agents_instance = UserAgents.from_json(json) # print the JSON string representation of the object -print(Labels.to_json()) +print(UserAgents.to_json()) # convert the object into a dict -labels_dict = labels_instance.to_dict() -# create an instance of Labels from a dict -labels_from_dict = Labels.from_dict(labels_dict) +user_agents_dict = user_agents_instance.to_dict() +# create an instance of UserAgents from a dict +user_agents_from_dict = UserAgents.from_dict(user_agents_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) diff --git a/thousandeyes-sdk-labels/pyproject.toml b/thousandeyes-sdk-emulation/pyproject.toml similarity index 93% rename from thousandeyes-sdk-labels/pyproject.toml rename to thousandeyes-sdk-emulation/pyproject.toml index d7d26586..82b9233a 100644 --- a/thousandeyes-sdk-labels/pyproject.toml +++ b/thousandeyes-sdk-emulation/pyproject.toml @@ -1,17 +1,17 @@ [project] -name = "thousandeyes-sdk-labels" +name = "thousandeyes-sdk-emulation" dynamic = ["version"] readme = "README.md" authors = [ { name = "ThousandEyes API Team", email = "api-team@thousandeyes.com" } ] -description = "ThousandEyes SDK Labels API" +description = "ThousandEyes SDK Emulation API" license = { file = "LICENSE" } requires-python = ">= 3.8" dependencies = [ - "urllib3 >= 1.25.3", + "urllib3 >= 2.0.0", "python-dateutil >=2.8.2", - "pydantic >=2", + "pydantic >=2.1.0", "typing-extensions >=4.7.1", "thousandeyes-sdk-core", ] diff --git a/thousandeyes-sdk-labels/setup.cfg b/thousandeyes-sdk-emulation/setup.cfg similarity index 100% rename from thousandeyes-sdk-labels/setup.cfg rename to thousandeyes-sdk-emulation/setup.cfg diff --git a/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/__init__.py b/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/__init__.py new file mode 100644 index 00000000..fcda8c80 --- /dev/null +++ b/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/__init__.py @@ -0,0 +1,31 @@ +# coding: utf-8 + +# flake8: noqa + +""" + 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 operations, 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 + + +# import apis into sdk package +from thousandeyes_sdk.emulation.api.emulation_api import EmulationApi + + +# import models into sdk package +from thousandeyes_sdk.emulation.models.emulated_device import EmulatedDevice +from thousandeyes_sdk.emulation.models.emulated_device_category import EmulatedDeviceCategory +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.error import Error +from thousandeyes_sdk.emulation.models.expand_emulated_device_options import ExpandEmulatedDeviceOptions +from thousandeyes_sdk.emulation.models.link import Link +from thousandeyes_sdk.emulation.models.self_links import SelfLinks +from thousandeyes_sdk.emulation.models.unauthorized_error import UnauthorizedError +from thousandeyes_sdk.emulation.models.user_agent import UserAgent +from thousandeyes_sdk.emulation.models.user_agents import UserAgents diff --git a/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/api/__init__.py b/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/api/__init__.py new file mode 100644 index 00000000..bb5cbc91 --- /dev/null +++ b/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/api/__init__.py @@ -0,0 +1,5 @@ +# flake8: noqa + +# import apis into api package +from thousandeyes_sdk.emulation.api.emulation_api import EmulationApi + diff --git a/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/api/emulation_api.py b/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/api/emulation_api.py new file mode 100644 index 00000000..8ee79fb9 --- /dev/null +++ b/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/api/emulation_api.py @@ -0,0 +1,912 @@ +# 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 operations, 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 + +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.emulation.models + +from pydantic import Field, StrictStr +from typing import List, Optional +from typing_extensions import Annotated +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_responses import EmulatedDeviceResponses +from thousandeyes_sdk.emulation.models.expand_emulated_device_options import ExpandEmulatedDeviceOptions +from thousandeyes_sdk.emulation.models.user_agents import UserAgents + +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 EmulationApi: + """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-emulation")) + self.api_client = api_client + + + @validate_call + def create_emulated_device( + self, + emulated_device: EmulatedDevice, + 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, + ) -> EmulatedDeviceResponse: + """Create emulated device + + Creates a new device for emulation. + + :param emulated_device: (required) + :type emulated_device: EmulatedDevice + :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._create_emulated_device_serialize( + emulated_device=emulated_device, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "EmulatedDeviceResponse", + '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.emulation.models, + ).data + + + @validate_call + def create_emulated_device_with_http_info( + self, + emulated_device: EmulatedDevice, + 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[EmulatedDeviceResponse]: + """Create emulated device + + Creates a new device for emulation. + + :param emulated_device: (required) + :type emulated_device: EmulatedDevice + :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._create_emulated_device_serialize( + emulated_device=emulated_device, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "EmulatedDeviceResponse", + '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.emulation.models, + ) + + + @validate_call + def create_emulated_device_without_preload_content( + self, + emulated_device: EmulatedDevice, + 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: + """Create emulated device + + Creates a new device for emulation. + + :param emulated_device: (required) + :type emulated_device: EmulatedDevice + :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._create_emulated_device_serialize( + emulated_device=emulated_device, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "EmulatedDeviceResponse", + '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 _create_emulated_device_serialize( + self, + emulated_device, + 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 + if emulated_device is not None: + _body_params = emulated_device + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/hal+json', + 'application/json', + 'application/problem+json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/emulated-devices', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_emulated_devices( + self, + 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[ + 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, + ) -> EmulatedDeviceResponses: + """List emulated devices + + 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. + :type expand: List[ExpandEmulatedDeviceOptions] + :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_emulated_devices_serialize( + expand=expand, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "EmulatedDeviceResponses", + '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.emulation.models, + ).data + + + @validate_call + def get_emulated_devices_with_http_info( + self, + 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[ + 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[EmulatedDeviceResponses]: + """List emulated devices + + 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. + :type expand: List[ExpandEmulatedDeviceOptions] + :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_emulated_devices_serialize( + expand=expand, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "EmulatedDeviceResponses", + '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.emulation.models, + ) + + + @validate_call + def get_emulated_devices_without_preload_content( + self, + 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[ + 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 emulated devices + + 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. + :type expand: List[ExpandEmulatedDeviceOptions] + :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_emulated_devices_serialize( + expand=expand, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "EmulatedDeviceResponses", + '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_emulated_devices_serialize( + self, + expand, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'expand': 'csv', + } + + _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 expand is not None: + + _query_params.append(('expand', expand)) + + # 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='/emulated-devices', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_user_agents( + 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, + ) -> UserAgents: + """List user-agents + + Retrieves a list of user-agent strings. + + :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_user_agents_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': "UserAgents", + '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.emulation.models, + ).data + + + @validate_call + def get_user_agents_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[UserAgents]: + """List user-agents + + Retrieves a list of user-agent strings. + + :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_user_agents_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': "UserAgents", + '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.emulation.models, + ) + + + @validate_call + def get_user_agents_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 user-agents + + Retrieves a list of user-agent strings. + + :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_user_agents_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': "UserAgents", + '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_user_agents_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='/user-agents', + 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 + ) + + diff --git a/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/__init__.py b/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/__init__.py new file mode 100644 index 00000000..3c277c49 --- /dev/null +++ b/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/__init__.py @@ -0,0 +1,26 @@ +# coding: utf-8 + +# flake8: noqa +""" + 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 operations, 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 + + +# import models into model package +from thousandeyes_sdk.emulation.models.emulated_device import EmulatedDevice +from thousandeyes_sdk.emulation.models.emulated_device_category import EmulatedDeviceCategory +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.error import Error +from thousandeyes_sdk.emulation.models.expand_emulated_device_options import ExpandEmulatedDeviceOptions +from thousandeyes_sdk.emulation.models.link import Link +from thousandeyes_sdk.emulation.models.self_links import SelfLinks +from thousandeyes_sdk.emulation.models.unauthorized_error import UnauthorizedError +from thousandeyes_sdk.emulation.models.user_agent import UserAgent +from thousandeyes_sdk.emulation.models.user_agents import UserAgents diff --git a/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/emulated_device.py b/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/emulated_device.py new file mode 100644 index 00000000..b3058725 --- /dev/null +++ b/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/emulated_device.py @@ -0,0 +1,93 @@ +# 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 operations, 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 pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List +from typing_extensions import Annotated +from thousandeyes_sdk.emulation.models.emulated_device_category import EmulatedDeviceCategory +from typing import Optional, Set +from typing_extensions import Self + +class EmulatedDevice(BaseModel): + """ + EmulatedDevice + """ # noqa: E501 + category: EmulatedDeviceCategory + width: Annotated[int, Field(le=9999, strict=True, ge=50)] = Field(description="The width of the display of the emulated device.") + height: Annotated[int, Field(le=9999, strict=True, ge=50)] = Field(description="The height of the display of the emulated device.") + __properties: ClassVar[List[str]] = ["category", "width", "height"] + + 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 EmulatedDevice 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 EmulatedDevice from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "category": obj.get("category"), + "width": obj.get("width"), + "height": obj.get("height") + }) + return _obj + + diff --git a/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/emulated_device_category.py b/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/emulated_device_category.py new file mode 100644 index 00000000..0c33d334 --- /dev/null +++ b/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/emulated_device_category.py @@ -0,0 +1,43 @@ +# 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 operations, 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 EmulatedDeviceCategory(str, Enum): + """ + The type of device being emulated. + """ + + """ + allowed enum values + """ + DESKTOP = 'desktop' + LAPTOP = 'laptop' + PHONE = 'phone' + TABLET = 'tablet' + UNKNOWN = 'unknown' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of EmulatedDeviceCategory from a JSON string""" + return cls(json.loads(json_str)) + + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN + diff --git a/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/emulated_device_response.py b/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/emulated_device_response.py new file mode 100644 index 00000000..ddf91d3e --- /dev/null +++ b/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/emulated_device_response.py @@ -0,0 +1,103 @@ +# 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 operations, 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 pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from thousandeyes_sdk.emulation.models.emulated_device_category import EmulatedDeviceCategory +from typing import Optional, Set +from typing_extensions import Self + +class EmulatedDeviceResponse(BaseModel): + """ + EmulatedDeviceResponse + """ # noqa: E501 + category: EmulatedDeviceCategory + width: Annotated[int, Field(le=9999, strict=True, ge=50)] = Field(description="The width of the display of the emulated device.") + height: Annotated[int, Field(le=9999, strict=True, ge=50)] = Field(description="The height of the display of the emulated device.") + name: Optional[StrictStr] = Field(default=None, description="The device name") + code_name: Optional[StrictStr] = Field(default=None, description="A code corresponding to the device name.", alias="codeName") + id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device.") + available_user_agents: Optional[List[StrictStr]] = Field(default=None, description="A list of user-agent strings for this emulated device.", alias="availableUserAgents") + default_user_agent_template: Optional[StrictStr] = Field(default=None, description="The default user-agent template to use for this device.", alias="defaultUserAgentTemplate") + __properties: ClassVar[List[str]] = ["category", "width", "height", "name", "codeName", "id", "availableUserAgents", "defaultUserAgentTemplate"] + + 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 EmulatedDeviceResponse 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 EmulatedDeviceResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "category": obj.get("category"), + "width": obj.get("width"), + "height": obj.get("height"), + "name": obj.get("name"), + "codeName": obj.get("codeName"), + "id": obj.get("id"), + "availableUserAgents": obj.get("availableUserAgents"), + "defaultUserAgentTemplate": obj.get("defaultUserAgentTemplate") + }) + return _obj + + diff --git a/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/emulated_device_responses.py b/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/emulated_device_responses.py new file mode 100644 index 00000000..486cf2ca --- /dev/null +++ b/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/emulated_device_responses.py @@ -0,0 +1,101 @@ +# 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 operations, 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 pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.emulation.models.emulated_device_response import EmulatedDeviceResponse +from thousandeyes_sdk.emulation.models.self_links import SelfLinks +from typing import Optional, Set +from typing_extensions import Self + +class EmulatedDeviceResponses(BaseModel): + """ + EmulatedDeviceResponses + """ # noqa: E501 + emulated_devices: Optional[List[EmulatedDeviceResponse]] = Field(default=None, alias="emulatedDevices") + links: Optional[SelfLinks] = Field(default=None, alias="_links") + __properties: ClassVar[List[str]] = ["emulatedDevices", "_links"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + extra="allow", + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of EmulatedDeviceResponses from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in emulated_devices (list) + _items = [] + if self.emulated_devices: + for _item in self.emulated_devices: + if _item: + _items.append(_item.to_dict()) + _dict['emulatedDevices'] = _items + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of EmulatedDeviceResponses from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "emulatedDevices": [EmulatedDeviceResponse.from_dict(_item) for _item in obj["emulatedDevices"]] if obj.get("emulatedDevices") is not None else None, + "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/error.py b/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/error.py similarity index 89% rename from thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/error.py rename to thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/error.py index 6bba44c9..4e0d31bd 100644 --- a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/error.py +++ b/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/error.py @@ -1,11 +1,10 @@ # coding: utf-8 """ - Labels API + Emulation API - ### Overview This is API for the Labels API (formerly called groups). + 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 operations, the following permissions are required: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/expand_emulated_device_options.py b/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/expand_emulated_device_options.py new file mode 100644 index 00000000..658d4ce8 --- /dev/null +++ b/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/expand_emulated_device_options.py @@ -0,0 +1,40 @@ +# 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 operations, 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' + UNKNOWN = 'unknown' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ExpandEmulatedDeviceOptions from a JSON string""" + return cls(json.loads(json_str)) + + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN + diff --git a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/link.py b/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/link.py similarity index 90% rename from thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/link.py rename to thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/link.py index ccf785b4..8b6fb3a3 100644 --- a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/link.py +++ b/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/link.py @@ -1,11 +1,10 @@ # coding: utf-8 """ - Labels API + Emulation API - ### Overview This is API for the Labels API (formerly called groups). + 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 operations, the following permissions are required: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/self_links.py b/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/self_links.py similarity index 85% rename from thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/self_links.py rename to thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/self_links.py index c5320ead..a2950e06 100644 --- a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/self_links.py +++ b/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/self_links.py @@ -1,11 +1,10 @@ # coding: utf-8 """ - Labels API + Emulation API - ### Overview This is API for the Labels API (formerly called groups). + 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 operations, the following permissions are required: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -19,7 +18,7 @@ import json from pydantic import BaseModel, ConfigDict, Field from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.labels.models.link import Link +from thousandeyes_sdk.emulation.models.link import Link from typing import Optional, Set from typing_extensions import Self diff --git a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/unauthorized_error.py b/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/unauthorized_error.py similarity index 86% rename from thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/unauthorized_error.py rename to thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/unauthorized_error.py index 93a6ade9..d477f9b7 100644 --- a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/unauthorized_error.py +++ b/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/unauthorized_error.py @@ -1,11 +1,10 @@ # coding: utf-8 """ - Labels API + Emulation API - ### Overview This is API for the Labels API (formerly called groups). + 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 operations, the following permissions are required: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/user_agent.py b/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/user_agent.py new file mode 100644 index 00000000..5b2d878d --- /dev/null +++ b/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/user_agent.py @@ -0,0 +1,91 @@ +# 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 operations, 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 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 UserAgent(BaseModel): + """ + UserAgent + """ # noqa: E501 + browser: Optional[StrictStr] = Field(default=None, description="The name of the web browser.") + os: Optional[StrictStr] = Field(default=None, description="The operating system for the user-agent HTTP header.") + value: Optional[StrictStr] = Field(default=None, description="The text of the user-agent header.") + __properties: ClassVar[List[str]] = ["browser", "os", "value"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + extra="allow", + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of UserAgent 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 UserAgent from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "browser": obj.get("browser"), + "os": obj.get("os"), + "value": obj.get("value") + }) + return _obj + + diff --git a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/labels.py b/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/user_agents.py similarity index 69% rename from thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/labels.py rename to thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/user_agents.py index e75329f7..ed2970ab 100644 --- a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/labels.py +++ b/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/models/user_agents.py @@ -1,11 +1,10 @@ # coding: utf-8 """ - Labels API + Emulation API - ### Overview This is API for the Labels API (formerly called groups). + 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 operations, the following permissions are required: * `Settings Tests Read` for read operations. * `Settings Tests Update` for write operations. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -19,18 +18,18 @@ import json from pydantic import BaseModel, ConfigDict, Field from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.labels.models.label import Label -from thousandeyes_sdk.labels.models.self_links import SelfLinks +from thousandeyes_sdk.emulation.models.self_links import SelfLinks +from thousandeyes_sdk.emulation.models.user_agent import UserAgent from typing import Optional, Set from typing_extensions import Self -class Labels(BaseModel): +class UserAgents(BaseModel): """ - Labels + UserAgents """ # noqa: E501 - labels: Optional[List[Label]] = None + user_agents: Optional[List[UserAgent]] = Field(default=None, alias="userAgents") links: Optional[SelfLinks] = Field(default=None, alias="_links") - __properties: ClassVar[List[str]] = ["labels", "_links"] + __properties: ClassVar[List[str]] = ["userAgents", "_links"] model_config = ConfigDict( populate_by_name=True, @@ -51,7 +50,7 @@ class Labels(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of Labels from a JSON string""" + """Create an instance of UserAgents from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -72,13 +71,13 @@ class Labels(BaseModel): exclude=excluded_fields, exclude_none=True, ) - # override the default output from pydantic by calling `to_dict()` of each item in labels (list) + # override the default output from pydantic by calling `to_dict()` of each item in user_agents (list) _items = [] - if self.labels: - for _item in self.labels: + if self.user_agents: + for _item in self.user_agents: if _item: _items.append(_item.to_dict()) - _dict['labels'] = _items + _dict['userAgents'] = _items # override the default output from pydantic by calling `to_dict()` of links if self.links: _dict['_links'] = self.links.to_dict() @@ -86,7 +85,7 @@ class Labels(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of Labels from a dict""" + """Create an instance of UserAgents from a dict""" if obj is None: return None @@ -94,7 +93,7 @@ class Labels(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ - "labels": [Label.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, + "userAgents": [UserAgent.from_dict(_item) for _item in obj["userAgents"]] if obj.get("userAgents") is not None else None, "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None }) return _obj diff --git a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/py.typed b/thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/py.typed similarity index 100% rename from thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/py.typed rename to thousandeyes-sdk-emulation/src/thousandeyes_sdk/emulation/py.typed diff --git a/thousandeyes-sdk-labels/test/__init__.py b/thousandeyes-sdk-emulation/test/__init__.py similarity index 100% rename from thousandeyes-sdk-labels/test/__init__.py rename to thousandeyes-sdk-emulation/test/__init__.py diff --git a/thousandeyes-sdk-emulation/test/test_emulation_api.py b/thousandeyes-sdk-emulation/test/test_emulation_api.py new file mode 100644 index 00000000..b02595dd --- /dev/null +++ b/thousandeyes-sdk-emulation/test/test_emulation_api.py @@ -0,0 +1,136 @@ +# 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 operations, 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 + + +import json +import unittest +import thousandeyes_sdk.emulation.models + +from .test_utils import assert_constructed_model_matches_example_json +from thousandeyes_sdk.emulation.api.emulation_api import EmulationApi + + +class TestEmulationApi(unittest.TestCase): + """EmulationApi unit test stubs""" + + def setUp(self) -> None: + self.api = EmulationApi() + + def tearDown(self) -> None: + pass + + def test_create_emulated_device_models_validation(self) -> None: + """Test case for create_emulated_device request and response models""" + request_body_json = """ + { + "width" : 1024, + "category" : "desktop", + "height" : 768 + }""" + + request_loaded_json = json.loads(request_body_json) + request_from_json = thousandeyes_sdk.emulation.models.EmulatedDevice.from_json(request_body_json) + assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) + + response_body_json = """ + { + "availableUserAgents" : [ "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.5993.70 Mobile Safari/537.36", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.5993.70 Safari/537.36" ], + "width" : 1024, + "name" : "iPad Pro 12.9-in", + "codeName" : "IPAD_PRO_12_9", + "id" : "11", + "category" : "desktop", + "defaultUserAgentTemplate" : "Mozilla/5.0 (Android 4.4; Tablet; rv:70.0) Gecko/70.0 Firefox/70.0", + "height" : 768 + }""" + + response_loaded_json = json.loads(response_body_json) + response_from_json = thousandeyes_sdk.emulation.models.EmulatedDeviceResponse.from_json(response_body_json) + assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) + + def test_get_emulated_devices_models_validation(self) -> None: + """Test case for get_emulated_devices request and response models""" + + response_body_json = """ + { + "emulatedDevices" : [ { + "availableUserAgents" : [ "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.5993.70 Mobile Safari/537.36", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.5993.70 Safari/537.36" ], + "width" : 1024, + "name" : "iPad Pro 12.9-in", + "codeName" : "IPAD_PRO_12_9", + "id" : "11", + "category" : "desktop", + "defaultUserAgentTemplate" : "Mozilla/5.0 (Android 4.4; Tablet; rv:70.0) Gecko/70.0 Firefox/70.0", + "height" : 768 + }, { + "availableUserAgents" : [ "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.5993.70 Mobile Safari/537.36", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.5993.70 Safari/537.36" ], + "width" : 1024, + "name" : "iPad Pro 12.9-in", + "codeName" : "IPAD_PRO_12_9", + "id" : "11", + "category" : "desktop", + "defaultUserAgentTemplate" : "Mozilla/5.0 (Android 4.4; Tablet; rv:70.0) Gecko/70.0 Firefox/70.0", + "height" : 768 + } ], + "_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" + } + } + }""" + + response_loaded_json = json.loads(response_body_json) + response_from_json = thousandeyes_sdk.emulation.models.EmulatedDeviceResponses.from_json(response_body_json) + assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) + + def test_get_user_agents_models_validation(self) -> None: + """Test case for get_user_agents 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" + } + }, + "userAgents" : [ { + "os" : "Windows", + "browser" : "Firefox", + "value" : "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.5993.70 Mobile Safari/537.36" + }, { + "os" : "Windows", + "browser" : "Firefox", + "value" : "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.5993.70 Mobile Safari/537.36" + } ] + }""" + + response_loaded_json = json.loads(response_body_json) + response_from_json = thousandeyes_sdk.emulation.models.UserAgents.from_json(response_body_json) + assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) + + +if __name__ == '__main__': + unittest.main() diff --git a/thousandeyes-sdk-labels/test/test_utils.py b/thousandeyes-sdk-emulation/test/test_utils.py similarity index 100% rename from thousandeyes-sdk-labels/test/test_utils.py rename to thousandeyes-sdk-emulation/test/test_utils.py diff --git a/thousandeyes-sdk-endpoint-agents/.openapi-generator/FILES b/thousandeyes-sdk-endpoint-agents/.openapi-generator/FILES index ad00d287..c650e454 100644 --- a/thousandeyes-sdk-endpoint-agents/.openapi-generator/FILES +++ b/thousandeyes-sdk-endpoint-agents/.openapi-generator/FILES @@ -3,7 +3,6 @@ MANIFEST.in README.md docs/AddressProfile.md docs/AddressType.md -docs/AdministrativeEndpointsApi.md docs/AgentLicenseType.md docs/AgentSearchFilters.md docs/AgentSearchRequest.md @@ -20,23 +19,24 @@ docs/BulkAgentTransferResponse.md docs/ConditionalOperator.md docs/ConnectionString.md docs/EndpointAgent.md +docs/EndpointAgentEthernetProfile.md docs/EndpointAgentLocation.md docs/EndpointAgentUpdate.md docs/EndpointAgents.md +docs/EndpointAgentsApi.md +docs/EndpointAgentsTransferApi.md docs/EndpointAsnDetails.md docs/EndpointBrowserExtension.md docs/EndpointClient.md docs/EndpointUserProfile.md docs/EndpointVpnProfile.md docs/Error.md -docs/EthernetProfile.md -docs/Expand.md +docs/ExpandEndpointAgentOptions.md docs/FilterEndpointAgentsResponse.md docs/InterfaceHardwareType.md docs/InterfaceProfile.md docs/Link.md docs/ListEndpointAgentsResponse.md -docs/ManageAgentsApi.md docs/PaginationNextAndSelfLink.md docs/PaginationNextLink.md docs/Platform.md @@ -44,7 +44,6 @@ docs/SelfLinks.md docs/SortOrder.md docs/Status.md docs/ThresholdFilterOperator.md -docs/TransferApi.md docs/UnauthorizedError.md docs/ValidationError.md docs/ValidationErrorItem.md @@ -54,9 +53,8 @@ pyproject.toml setup.cfg src/thousandeyes_sdk/endpoint_agents/__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/manage_agents_api.py -src/thousandeyes_sdk/endpoint_agents/api/transfer_api.py +src/thousandeyes_sdk/endpoint_agents/api/endpoint_agents_api.py +src/thousandeyes_sdk/endpoint_agents/api/endpoint_agents_transfer_api.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_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/connection_string.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_update.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_vpn_profile.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.py +src/thousandeyes_sdk/endpoint_agents/models/expand_endpoint_agent_options.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_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/py.typed test/__init__.py -test/test_administrative_endpoints_api.py -test/test_manage_agents_api.py -test/test_transfer_api.py +test/test_endpoint_agents_api.py +test/test_endpoint_agents_transfer_api.py test/test_utils.py diff --git a/thousandeyes-sdk-endpoint-agents/README.md b/thousandeyes-sdk-endpoint-agents/README.md index 83412336..8d949479 100644 --- a/thousandeyes-sdk-endpoint-agents/README.md +++ b/thousandeyes-sdk-endpoint-agents/README.md @@ -5,7 +5,7 @@ For more information about Endpoint Agents, see [Endpoint Agents](https://docs.t This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 7.0.8 +- API version: 7.0.20 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator @@ -57,10 +57,10 @@ import thousandeyes_sdk.endpoint_agents from thousandeyes_sdk.core.exceptions import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -77,35 +77,35 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.core.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.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) + 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: - # Get agent connection string - api_response = api_instance.get_endpoint_agents_connection_string(aid=aid) - print("The response of AdministrativeEndpointsApi->get_endpoint_agents_connection_string:\n") - pprint(api_response) + # Delete endpoint agent + api_instance.delete_endpoint_agent(agent_id, aid=aid, expand=expand) 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) ``` ## Documentation for API Endpoints -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* 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** /v7/endpoint/agents/connection-string | Get agent connection string -*ManageAgentsApi* | [**delete_endpoint_agent**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/ManageAgentsApi.md#delete_endpoint_agent) | **DELETE** /v7/endpoint/agents/{agentId} | Delete 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** /v7/endpoint/agents/{agentId}/disable | Disable 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** /v7/endpoint/agents/{agentId}/enable | Enable endpoint agent -*ManageAgentsApi* | [**filter_endpoint_agents**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/ManageAgentsApi.md#filter_endpoint_agents) | **POST** /v7/endpoint/agents/filter | Filter endpoint agents -*ManageAgentsApi* | [**get_endpoint_agent**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/ManageAgentsApi.md#get_endpoint_agent) | **GET** /v7/endpoint/agents/{agentId} | Retrieve endpoint agent -*ManageAgentsApi* | [**get_endpoint_agents**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/ManageAgentsApi.md#get_endpoint_agents) | **GET** /v7/endpoint/agents | List endpoint agents -*ManageAgentsApi* | [**update_endpoint_agent**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/ManageAgentsApi.md#update_endpoint_agent) | **PATCH** /v7/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** /v7/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** /v7/endpoint/agents/transfer/bulk | Bulk transfer agents +*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 +*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 +*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 +*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 +*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 +*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 +*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 +*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 +*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 +*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 @@ -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) - [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) + - [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) - [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) @@ -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) - [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) - - [EthernetProfile](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/EthernetProfile.md) - - [Expand](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/Expand.md) + - [ExpandEndpointAgentOptions](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/ExpandEndpointAgentOptions.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) - [InterfaceProfile](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-agents/docs/InterfaceProfile.md) diff --git a/thousandeyes-sdk-endpoint-agents/docs/AdministrativeEndpointsApi.md b/thousandeyes-sdk-endpoint-agents/docs/AdministrativeEndpointsApi.md deleted file mode 100644 index 04211bd5..00000000 --- a/thousandeyes-sdk-endpoint-agents/docs/AdministrativeEndpointsApi.md +++ /dev/null @@ -1,88 +0,0 @@ -# thousandeyes_sdk.endpoint_agents.AdministrativeEndpointsApi - -All URIs are relative to *https://api.thousandeyes.com* - -Method | HTTP request | Description -------------- | ------------- | ------------- -[**get_endpoint_agents_connection_string**](AdministrativeEndpointsApi.md#get_endpoint_agents_connection_string) | **GET** /v7/endpoint/agents/connection-string | Get agent connection string - - -# **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 -# See configuration.py for a list of all supported configuration parameters. -configuration = thousandeyes_sdk.core.Configuration( - host = "https://api.thousandeyes.com" -) - -# 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.AdministrativeEndpointsApi(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 AdministrativeEndpointsApi->get_endpoint_agents_connection_string:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling AdministrativeEndpointsApi->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 `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 - -[**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) - diff --git a/thousandeyes-sdk-endpoint-agents/docs/AgentTransfer.md b/thousandeyes-sdk-endpoint-agents/docs/AgentTransfer.md index 354fc3d4..8b42f342 100644 --- a/thousandeyes-sdk-endpoint-agents/docs/AgentTransfer.md +++ b/thousandeyes-sdk-endpoint-agents/docs/AgentTransfer.md @@ -5,7 +5,7 @@ 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 `/endpoint/agents` endpoint. | [optional] [readonly] **from_aid** | **str** | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. | [optional] **to_aid** | **str** | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. | [optional] diff --git a/thousandeyes-sdk-endpoint-agents/docs/EndpointAgent.md b/thousandeyes-sdk-endpoint-agents/docs/EndpointAgent.md index 8fe3a87e..5b216a9d 100644 --- a/thousandeyes-sdk-endpoint-agents/docs/EndpointAgent.md +++ b/thousandeyes-sdk-endpoint-agents/docs/EndpointAgent.md @@ -6,7 +6,7 @@ The `EndpointAgent` object, which may include multiple clients. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**id** | **str** | Identifier of the agent this applies to. | [optional] [readonly] +**id** | **str** | Unique ID of endpoint agent, from `/endpoint/agents` endpoint. | [optional] [readonly] **aid** | **str** | | [optional] **name** | **str** | The name of the agent. | [optional] **computer_name** | **str** | | [optional] [readonly] diff --git a/thousandeyes-sdk-endpoint-agents/docs/EndpointAgentEthernetProfile.md b/thousandeyes-sdk-endpoint-agents/docs/EndpointAgentEthernetProfile.md new file mode 100644 index 00000000..f7f32500 --- /dev/null +++ b/thousandeyes-sdk-endpoint-agents/docs/EndpointAgentEthernetProfile.md @@ -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) + + diff --git a/thousandeyes-sdk-endpoint-agents/docs/ManageAgentsApi.md b/thousandeyes-sdk-endpoint-agents/docs/EndpointAgentsApi.md similarity index 64% rename from thousandeyes-sdk-endpoint-agents/docs/ManageAgentsApi.md rename to thousandeyes-sdk-endpoint-agents/docs/EndpointAgentsApi.md index 0917c372..a8d45f6a 100644 --- a/thousandeyes-sdk-endpoint-agents/docs/ManageAgentsApi.md +++ b/thousandeyes-sdk-endpoint-agents/docs/EndpointAgentsApi.md @@ -1,16 +1,17 @@ -# thousandeyes_sdk.endpoint_agents.ManageAgentsApi +# thousandeyes_sdk.endpoint_agents.EndpointAgentsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**delete_endpoint_agent**](ManageAgentsApi.md#delete_endpoint_agent) | **DELETE** /v7/endpoint/agents/{agentId} | Delete endpoint agent -[**disable_endpoint_agent**](ManageAgentsApi.md#disable_endpoint_agent) | **POST** /v7/endpoint/agents/{agentId}/disable | Disable endpoint agent -[**enable_endpoint_agent**](ManageAgentsApi.md#enable_endpoint_agent) | **POST** /v7/endpoint/agents/{agentId}/enable | Enable endpoint agent -[**filter_endpoint_agents**](ManageAgentsApi.md#filter_endpoint_agents) | **POST** /v7/endpoint/agents/filter | Filter endpoint agents -[**get_endpoint_agent**](ManageAgentsApi.md#get_endpoint_agent) | **GET** /v7/endpoint/agents/{agentId} | Retrieve endpoint agent -[**get_endpoint_agents**](ManageAgentsApi.md#get_endpoint_agents) | **GET** /v7/endpoint/agents | List endpoint agents -[**update_endpoint_agent**](ManageAgentsApi.md#update_endpoint_agent) | **PATCH** /v7/endpoint/agents/{agentId} | Update endpoint agent +[**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** @@ -26,14 +27,14 @@ Deletes the agent with the specified `agent_id`. ```python import thousandeyes_sdk.endpoint_agents -from thousandeyes_sdk.endpoint_agents.models.expand import Expand +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 +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -49,16 +50,16 @@ configuration = thousandeyes_sdk.core.Configuration( # 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.ManageAgentsApi(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) - expand = [thousandeyes_sdk.endpoint_agents.Expand()] # List[Expand] | 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) + 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 ManageAgentsApi->delete_endpoint_agent: %s\n" % e) + print("Exception when calling EndpointAgentsApi->delete_endpoint_agent: %s\n" % e) ``` @@ -70,7 +71,7 @@ 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 `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)| 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] + **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 \"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] ### Return type @@ -114,10 +115,10 @@ 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 +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -133,17 +134,17 @@ configuration = thousandeyes_sdk.core.Configuration( # 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.ManageAgentsApi(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) try: # Disable endpoint agent api_response = api_instance.disable_endpoint_agent(agent_id, aid=aid) - print("The response of ManageAgentsApi->disable_endpoint_agent:\n") + print("The response of EndpointAgentsApi->disable_endpoint_agent:\n") pprint(api_response) except Exception as e: - print("Exception when calling ManageAgentsApi->disable_endpoint_agent: %s\n" % e) + print("Exception when calling EndpointAgentsApi->disable_endpoint_agent: %s\n" % e) ``` @@ -198,10 +199,10 @@ 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 +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -217,17 +218,17 @@ configuration = thousandeyes_sdk.core.Configuration( # 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.ManageAgentsApi(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) try: # Enable endpoint agent api_response = api_instance.enable_endpoint_agent(agent_id, aid=aid) - print("The response of ManageAgentsApi->enable_endpoint_agent:\n") + print("The response of EndpointAgentsApi->enable_endpoint_agent:\n") pprint(api_response) except Exception as e: - print("Exception when calling ManageAgentsApi->enable_endpoint_agent: %s\n" % e) + print("Exception when calling EndpointAgentsApi->enable_endpoint_agent: %s\n" % e) ``` @@ -279,15 +280,15 @@ Retrieves a list of endpoint agents within the specified account group that matc ```python import thousandeyes_sdk.endpoint_agents from thousandeyes_sdk.endpoint_agents.models.agent_search_request import AgentSearchRequest -from thousandeyes_sdk.endpoint_agents.models.expand import Expand +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 +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -303,21 +304,21 @@ configuration = thousandeyes_sdk.core.Configuration( # 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.ManageAgentsApi(api_client) + 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.Expand()] # List[Expand] | 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) + 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 ManageAgentsApi->filter_endpoint_agents:\n") + print("The response of EndpointAgentsApi->filter_endpoint_agents:\n") pprint(api_response) except Exception as e: - print("Exception when calling ManageAgentsApi->filter_endpoint_agents: %s\n" % e) + print("Exception when calling EndpointAgentsApi->filter_endpoint_agents: %s\n" % e) ``` @@ -331,7 +332,7 @@ 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 `next` value from `_links` instead of this parameter. | [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)| 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] + **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 \"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** | **bool**| When requesting entities, set to `true` if you want to see deleted entities. | [optional] ### Return type @@ -373,14 +374,14 @@ Retrieves details of an agent with the specified `agent_id`. ```python import thousandeyes_sdk.endpoint_agents from thousandeyes_sdk.endpoint_agents.models.endpoint_agent import EndpointAgent -from thousandeyes_sdk.endpoint_agents.models.expand import Expand +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 +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -396,19 +397,19 @@ configuration = thousandeyes_sdk.core.Configuration( # 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.ManageAgentsApi(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) - expand = [thousandeyes_sdk.endpoint_agents.Expand()] # List[Expand] | 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) + 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 ManageAgentsApi->get_endpoint_agent:\n") + print("The response of EndpointAgentsApi->get_endpoint_agent:\n") pprint(api_response) except Exception as e: - print("Exception when calling ManageAgentsApi->get_endpoint_agent: %s\n" % e) + print("Exception when calling EndpointAgentsApi->get_endpoint_agent: %s\n" % e) ``` @@ -420,7 +421,7 @@ 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 `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)| 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] + **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 \"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** | **bool**| When requesting entities, set to `true` if you want to see deleted entities. | [optional] ### Return type @@ -461,15 +462,15 @@ Retrieves a list of endpoint agents in a given account group. If there are no a ```python import thousandeyes_sdk.endpoint_agents -from thousandeyes_sdk.endpoint_agents.models.expand import Expand +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 +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -485,11 +486,11 @@ configuration = thousandeyes_sdk.core.Configuration( # 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.ManageAgentsApi(api_client) + 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.Expand()] # List[Expand] | 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) + 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) @@ -498,10 +499,10 @@ with thousandeyes_sdk.endpoint_agents.ApiClient(configuration) as api_client: 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 ManageAgentsApi->get_endpoint_agents:\n") + print("The response of EndpointAgentsApi->get_endpoint_agents:\n") pprint(api_response) except Exception as e: - print("Exception when calling ManageAgentsApi->get_endpoint_agents: %s\n" % e) + print("Exception when calling EndpointAgentsApi->get_endpoint_agents: %s\n" % e) ``` @@ -514,7 +515,7 @@ 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 `next` value from `_links` instead of this parameter. | [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)| 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] + **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 \"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** | **bool**| When requesting entities, set to `true` if you want to see deleted entities. | [optional] **use_all_permitted_aids** | **bool**| Set to `true` 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] @@ -544,6 +545,85 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **get_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 `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 + +[**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) @@ -559,14 +639,14 @@ Updates the agent with the specified `agent_id`. This API supports the modificat 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 import Expand +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 +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -582,19 +662,19 @@ configuration = thousandeyes_sdk.core.Configuration( # 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.ManageAgentsApi(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) - expand = [thousandeyes_sdk.endpoint_agents.Expand()] # List[Expand] | 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) + 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 ManageAgentsApi->update_endpoint_agent:\n") + print("The response of EndpointAgentsApi->update_endpoint_agent:\n") pprint(api_response) except Exception as e: - print("Exception when calling ManageAgentsApi->update_endpoint_agent: %s\n" % e) + print("Exception when calling EndpointAgentsApi->update_endpoint_agent: %s\n" % e) ``` @@ -606,7 +686,7 @@ 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 `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)| 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] + **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 \"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** | [**EndpointAgentUpdate**](EndpointAgentUpdate.md)| Fields to modify on the agent | [optional] ### Return type diff --git a/thousandeyes-sdk-endpoint-agents/docs/TransferApi.md b/thousandeyes-sdk-endpoint-agents/docs/EndpointAgentsTransferApi.md similarity index 88% rename from thousandeyes-sdk-endpoint-agents/docs/TransferApi.md rename to thousandeyes-sdk-endpoint-agents/docs/EndpointAgentsTransferApi.md index 7910ecb0..f9f46d3a 100644 --- a/thousandeyes-sdk-endpoint-agents/docs/TransferApi.md +++ b/thousandeyes-sdk-endpoint-agents/docs/EndpointAgentsTransferApi.md @@ -1,11 +1,11 @@ -# thousandeyes_sdk.endpoint_agents.TransferApi +# thousandeyes_sdk.endpoint_agents.EndpointAgentsTransferApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**transfer_endpoint_agent**](TransferApi.md#transfer_endpoint_agent) | **POST** /v7/endpoint/agents/{agentId}/transfer | Transfer endpoint agent -[**transfer_endpoint_agents**](TransferApi.md#transfer_endpoint_agents) | **POST** /v7/endpoint/agents/transfer/bulk | Bulk transfer agents +[**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** @@ -25,10 +25,10 @@ from thousandeyes_sdk.endpoint_agents.models.agent_transfer_request import Agent from thousandeyes_sdk.endpoint_agents.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -44,7 +44,7 @@ configuration = thousandeyes_sdk.core.Configuration( # 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.TransferApi(api_client) + 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) @@ -53,7 +53,7 @@ with thousandeyes_sdk.endpoint_agents.ApiClient(configuration) as api_client: # Transfer endpoint agent api_instance.transfer_endpoint_agent(agent_id, agent_transfer_request, aid=aid) except Exception as e: - print("Exception when calling TransferApi->transfer_endpoint_agent: %s\n" % e) + print("Exception when calling EndpointAgentsTransferApi->transfer_endpoint_agent: %s\n" % e) ``` @@ -110,10 +110,10 @@ from thousandeyes_sdk.endpoint_agents.models.bulk_agent_transfer_response import from thousandeyes_sdk.endpoint_agents.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -129,17 +129,17 @@ configuration = thousandeyes_sdk.core.Configuration( # 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.TransferApi(api_client) + 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 TransferApi->transfer_endpoint_agents:\n") + print("The response of EndpointAgentsTransferApi->transfer_endpoint_agents:\n") pprint(api_response) except Exception as e: - print("Exception when calling TransferApi->transfer_endpoint_agents: %s\n" % e) + print("Exception when calling EndpointAgentsTransferApi->transfer_endpoint_agents: %s\n" % e) ``` diff --git a/thousandeyes-sdk-endpoint-agents/docs/EthernetProfile.md b/thousandeyes-sdk-endpoint-agents/docs/EthernetProfile.md deleted file mode 100644 index 189d25fc..00000000 --- a/thousandeyes-sdk-endpoint-agents/docs/EthernetProfile.md +++ /dev/null @@ -1,30 +0,0 @@ -# EthernetProfile - -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.ethernet_profile import EthernetProfile - -# TODO update the JSON string below -json = "{}" -# create an instance of EthernetProfile from a JSON string -ethernet_profile_instance = EthernetProfile.from_json(json) -# print the JSON string representation of the object -print(EthernetProfile.to_json()) - -# convert the object into a dict -ethernet_profile_dict = ethernet_profile_instance.to_dict() -# create an instance of EthernetProfile from a dict -ethernet_profile_from_dict = EthernetProfile.from_dict(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) - - diff --git a/thousandeyes-sdk-endpoint-agents/docs/ExpandEndpointAgentOptions.md b/thousandeyes-sdk-endpoint-agents/docs/ExpandEndpointAgentOptions.md new file mode 100644 index 00000000..63b0be53 --- /dev/null +++ b/thousandeyes-sdk-endpoint-agents/docs/ExpandEndpointAgentOptions.md @@ -0,0 +1,11 @@ +# ExpandEndpointAgentOptions + + +## 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) + + diff --git a/thousandeyes-sdk-endpoint-agents/docs/InterfaceProfile.md b/thousandeyes-sdk-endpoint-agents/docs/InterfaceProfile.md index cf5ac403..7f7bdcaf 100644 --- a/thousandeyes-sdk-endpoint-agents/docs/InterfaceProfile.md +++ b/thousandeyes-sdk-endpoint-agents/docs/InterfaceProfile.md @@ -8,7 +8,7 @@ Name | Type | Description | Notes **interface_name** | **str** | | [optional] **address_profiles** | [**List[AddressProfile]**](AddressProfile.md) | | [optional] **hardware_type** | [**InterfaceHardwareType**](InterfaceHardwareType.md) | | [optional] -**ethernet_profile** | [**EthernetProfile**](EthernetProfile.md) | | [optional] +**ethernet_profile** | [**EndpointAgentEthernetProfile**](EndpointAgentEthernetProfile.md) | | [optional] **wireless_profile** | [**WirelessProfile**](WirelessProfile.md) | | [optional] ## Example diff --git a/thousandeyes-sdk-endpoint-agents/docs/Platform.md b/thousandeyes-sdk-endpoint-agents/docs/Platform.md index 97f29ba7..df59b607 100644 --- a/thousandeyes-sdk-endpoint-agents/docs/Platform.md +++ b/thousandeyes-sdk-endpoint-agents/docs/Platform.md @@ -1,6 +1,6 @@ # Platform -OS platform types +OS platform types. Platform \"linux\" was recently renamed to \"roomos\". ## Properties diff --git a/thousandeyes-sdk-endpoint-agents/pyproject.toml b/thousandeyes-sdk-endpoint-agents/pyproject.toml index dfff0464..1e72dee5 100644 --- a/thousandeyes-sdk-endpoint-agents/pyproject.toml +++ b/thousandeyes-sdk-endpoint-agents/pyproject.toml @@ -9,9 +9,9 @@ description = "ThousandEyes SDK Endpoint Agents API" license = { file = "LICENSE" } requires-python = ">= 3.8" dependencies = [ - "urllib3 >= 1.25.3", + "urllib3 >= 2.0.0", "python-dateutil >=2.8.2", - "pydantic >=2", + "pydantic >=2.1.0", "typing-extensions >=4.7.1", "thousandeyes-sdk-core", ] diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/__init__.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/__init__.py index c40330a9..0a77f9ec 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/__init__.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/__init__.py @@ -7,7 +7,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -15,9 +14,8 @@ # import apis into sdk package -from thousandeyes_sdk.endpoint_agents.api.administrative_endpoints_api import AdministrativeEndpointsApi -from thousandeyes_sdk.endpoint_agents.api.manage_agents_api import ManageAgentsApi -from thousandeyes_sdk.endpoint_agents.api.transfer_api import TransferApi +from thousandeyes_sdk.endpoint_agents.api.endpoint_agents_api import EndpointAgentsApi +from thousandeyes_sdk.endpoint_agents.api.endpoint_agents_transfer_api import EndpointAgentsTransferApi # import models into sdk package @@ -39,6 +37,7 @@ from thousandeyes_sdk.endpoint_agents.models.bulk_agent_transfer_response import from thousandeyes_sdk.endpoint_agents.models.conditional_operator import ConditionalOperator from thousandeyes_sdk.endpoint_agents.models.connection_string import ConnectionString from thousandeyes_sdk.endpoint_agents.models.endpoint_agent import EndpointAgent +from thousandeyes_sdk.endpoint_agents.models.endpoint_agent_ethernet_profile import EndpointAgentEthernetProfile from thousandeyes_sdk.endpoint_agents.models.endpoint_agent_location import EndpointAgentLocation from thousandeyes_sdk.endpoint_agents.models.endpoint_agent_update import EndpointAgentUpdate from thousandeyes_sdk.endpoint_agents.models.endpoint_agents import EndpointAgents @@ -48,8 +47,7 @@ from thousandeyes_sdk.endpoint_agents.models.endpoint_client import EndpointClie from thousandeyes_sdk.endpoint_agents.models.endpoint_user_profile import EndpointUserProfile from thousandeyes_sdk.endpoint_agents.models.endpoint_vpn_profile import EndpointVpnProfile from thousandeyes_sdk.endpoint_agents.models.error import Error -from thousandeyes_sdk.endpoint_agents.models.ethernet_profile import EthernetProfile -from thousandeyes_sdk.endpoint_agents.models.expand import Expand +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.models.interface_hardware_type import InterfaceHardwareType from thousandeyes_sdk.endpoint_agents.models.interface_profile import InterfaceProfile diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/api/__init__.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/api/__init__.py index d74eb607..f63ec8bb 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/api/__init__.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/api/__init__.py @@ -1,7 +1,6 @@ # flake8: noqa # import apis into api package -from thousandeyes_sdk.endpoint_agents.api.administrative_endpoints_api import AdministrativeEndpointsApi -from thousandeyes_sdk.endpoint_agents.api.manage_agents_api import ManageAgentsApi -from thousandeyes_sdk.endpoint_agents.api.transfer_api import TransferApi +from thousandeyes_sdk.endpoint_agents.api.endpoint_agents_api import EndpointAgentsApi +from thousandeyes_sdk.endpoint_agents.api.endpoint_agents_transfer_api import EndpointAgentsTransferApi diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/api/administrative_endpoints_api.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/api/administrative_endpoints_api.py deleted file mode 100644 index eb85a7a5..00000000 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/api/administrative_endpoints_api.py +++ /dev/null @@ -1,313 +0,0 @@ -# coding: utf-8 - -""" - Endpoint Agents API - - Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - - The version of the OpenAPI document: 7.0.8 - 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.endpoint_agents.models - -from pydantic import Field, StrictStr -from typing import Optional -from typing_extensions import Annotated -from thousandeyes_sdk.endpoint_agents.models.connection_string import ConnectionString - -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 AdministrativeEndpointsApi: - """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-endpoint-agents")) - self.api_client = api_client - - - @validate_call - def get_endpoint_agents_connection_string( - 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, - ) -> ConnectionString: - """Get agent connection string - - - :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_endpoint_agents_connection_string_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': "ConnectionString", - '401': "UnauthorizedError", - '403': "Error", - '429': "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.endpoint_agents.models, - ).data - - - @validate_call - def get_endpoint_agents_connection_string_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[ConnectionString]: - """Get agent connection string - - - :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_endpoint_agents_connection_string_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': "ConnectionString", - '401': "UnauthorizedError", - '403': "Error", - '429': "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.endpoint_agents.models, - ) - - - @validate_call - def get_endpoint_agents_connection_string_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: - """Get agent connection string - - - :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_endpoint_agents_connection_string_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': "ConnectionString", - '401': "UnauthorizedError", - '403': "Error", - '429': "Error", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_endpoint_agents_connection_string_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='/v7/endpoint/agents/connection-string', - 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 - ) - - diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/api/manage_agents_api.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/api/endpoint_agents_api.py similarity index 83% rename from thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/api/manage_agents_api.py rename to thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/api/endpoint_agents_api.py index ab88f2c2..1569eae7 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/api/manage_agents_api.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/api/endpoint_agents_api.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -23,9 +22,10 @@ from pydantic import Field, StrictBool, StrictInt, StrictStr from typing import List, Optional from typing_extensions import Annotated from thousandeyes_sdk.endpoint_agents.models.agent_search_request import AgentSearchRequest +from thousandeyes_sdk.endpoint_agents.models.connection_string import ConnectionString 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 import Expand +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.models.list_endpoint_agents_response import ListEndpointAgentsResponse @@ -34,7 +34,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class ManageAgentsApi: +class EndpointAgentsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -53,7 +53,7 @@ class ManageAgentsApi: self, agent_id: Annotated[StrictStr, Field(description="The identifier of the agent to operate on.")], 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="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. ")] = None, + expand: Annotated[Optional[List[ExpandEndpointAgentOptions]], Field(description="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. ")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -76,7 +76,7 @@ class ManageAgentsApi: :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 expand: 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. - :type expand: List[Expand] + :type expand: List[ExpandEndpointAgentOptions] :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 @@ -133,7 +133,7 @@ class ManageAgentsApi: self, agent_id: Annotated[StrictStr, Field(description="The identifier of the agent to operate on.")], 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="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. ")] = None, + expand: Annotated[Optional[List[ExpandEndpointAgentOptions]], Field(description="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. ")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -156,7 +156,7 @@ class ManageAgentsApi: :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 expand: 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. - :type expand: List[Expand] + :type expand: List[ExpandEndpointAgentOptions] :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 @@ -213,7 +213,7 @@ class ManageAgentsApi: self, agent_id: Annotated[StrictStr, Field(description="The identifier of the agent to operate on.")], 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="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. ")] = None, + expand: Annotated[Optional[List[ExpandEndpointAgentOptions]], Field(description="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. ")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -236,7 +236,7 @@ class ManageAgentsApi: :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 expand: 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. - :type expand: List[Expand] + :type expand: List[ExpandEndpointAgentOptions] :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 @@ -340,7 +340,7 @@ class ManageAgentsApi: return self.api_client.param_serialize( method='DELETE', - resource_path='/v7/endpoint/agents/{agentId}', + resource_path='/endpoint/agents/{agentId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -631,7 +631,7 @@ class ManageAgentsApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/endpoint/agents/{agentId}/disable', + resource_path='/endpoint/agents/{agentId}/disable', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -922,7 +922,7 @@ class ManageAgentsApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/endpoint/agents/{agentId}/enable', + resource_path='/endpoint/agents/{agentId}/enable', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -945,7 +945,7 @@ class ManageAgentsApi: max: Annotated[Optional[StrictInt], Field(description="(Optional) Maximum number of objects to return.")] = None, cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = 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="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. ")] = None, + expand: Annotated[Optional[List[ExpandEndpointAgentOptions]], Field(description="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. ")] = None, include_deleted: Annotated[Optional[StrictBool], Field(description="When requesting entities, set to `true` if you want to see deleted entities.")] = None, _request_timeout: Union[ None, @@ -973,7 +973,7 @@ class ManageAgentsApi: :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 expand: 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. - :type expand: List[Expand] + :type expand: List[ExpandEndpointAgentOptions] :param include_deleted: When requesting entities, set to `true` if you want to see deleted entities. :type include_deleted: bool :param _request_timeout: timeout setting for this request. If one @@ -1037,7 +1037,7 @@ class ManageAgentsApi: max: Annotated[Optional[StrictInt], Field(description="(Optional) Maximum number of objects to return.")] = None, cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = 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="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. ")] = None, + expand: Annotated[Optional[List[ExpandEndpointAgentOptions]], Field(description="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. ")] = None, include_deleted: Annotated[Optional[StrictBool], Field(description="When requesting entities, set to `true` if you want to see deleted entities.")] = None, _request_timeout: Union[ None, @@ -1065,7 +1065,7 @@ class ManageAgentsApi: :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 expand: 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. - :type expand: List[Expand] + :type expand: List[ExpandEndpointAgentOptions] :param include_deleted: When requesting entities, set to `true` if you want to see deleted entities. :type include_deleted: bool :param _request_timeout: timeout setting for this request. If one @@ -1129,7 +1129,7 @@ class ManageAgentsApi: max: Annotated[Optional[StrictInt], Field(description="(Optional) Maximum number of objects to return.")] = None, cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = 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="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. ")] = None, + expand: Annotated[Optional[List[ExpandEndpointAgentOptions]], Field(description="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. ")] = None, include_deleted: Annotated[Optional[StrictBool], Field(description="When requesting entities, set to `true` if you want to see deleted entities.")] = None, _request_timeout: Union[ None, @@ -1157,7 +1157,7 @@ class ManageAgentsApi: :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 expand: 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. - :type expand: List[Expand] + :type expand: List[ExpandEndpointAgentOptions] :param include_deleted: When requesting entities, set to `true` if you want to see deleted entities. :type include_deleted: bool :param _request_timeout: timeout setting for this request. If one @@ -1295,7 +1295,7 @@ class ManageAgentsApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/endpoint/agents/filter', + resource_path='/endpoint/agents/filter', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1316,7 +1316,7 @@ class ManageAgentsApi: self, agent_id: Annotated[StrictStr, Field(description="The identifier of the agent to operate on.")], 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="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. ")] = None, + expand: Annotated[Optional[List[ExpandEndpointAgentOptions]], Field(description="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. ")] = None, include_deleted: Annotated[Optional[StrictBool], Field(description="When requesting entities, set to `true` if you want to see deleted entities.")] = None, _request_timeout: Union[ None, @@ -1340,7 +1340,7 @@ class ManageAgentsApi: :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 expand: 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. - :type expand: List[Expand] + :type expand: List[ExpandEndpointAgentOptions] :param include_deleted: When requesting entities, set to `true` if you want to see deleted entities. :type include_deleted: bool :param _request_timeout: timeout setting for this request. If one @@ -1400,7 +1400,7 @@ class ManageAgentsApi: self, agent_id: Annotated[StrictStr, Field(description="The identifier of the agent to operate on.")], 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="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. ")] = None, + expand: Annotated[Optional[List[ExpandEndpointAgentOptions]], Field(description="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. ")] = None, include_deleted: Annotated[Optional[StrictBool], Field(description="When requesting entities, set to `true` if you want to see deleted entities.")] = None, _request_timeout: Union[ None, @@ -1424,7 +1424,7 @@ class ManageAgentsApi: :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 expand: 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. - :type expand: List[Expand] + :type expand: List[ExpandEndpointAgentOptions] :param include_deleted: When requesting entities, set to `true` if you want to see deleted entities. :type include_deleted: bool :param _request_timeout: timeout setting for this request. If one @@ -1484,7 +1484,7 @@ class ManageAgentsApi: self, agent_id: Annotated[StrictStr, Field(description="The identifier of the agent to operate on.")], 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="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. ")] = None, + expand: Annotated[Optional[List[ExpandEndpointAgentOptions]], Field(description="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. ")] = None, include_deleted: Annotated[Optional[StrictBool], Field(description="When requesting entities, set to `true` if you want to see deleted entities.")] = None, _request_timeout: Union[ None, @@ -1508,7 +1508,7 @@ class ManageAgentsApi: :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 expand: 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. - :type expand: List[Expand] + :type expand: List[ExpandEndpointAgentOptions] :param include_deleted: When requesting entities, set to `true` if you want to see deleted entities. :type include_deleted: bool :param _request_timeout: timeout setting for this request. If one @@ -1621,7 +1621,7 @@ class ManageAgentsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/endpoint/agents/{agentId}', + resource_path='/endpoint/agents/{agentId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1643,7 +1643,7 @@ class ManageAgentsApi: max: Annotated[Optional[StrictInt], Field(description="(Optional) Maximum number of objects to return.")] = None, cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = 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="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. ")] = None, + expand: Annotated[Optional[List[ExpandEndpointAgentOptions]], Field(description="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. ")] = None, include_deleted: Annotated[Optional[StrictBool], Field(description="When requesting entities, set to `true` if you want to see deleted entities.")] = None, use_all_permitted_aids: Annotated[Optional[StrictBool], Field(description="Set to `true` to load data from all accounts the user has access to.")] = None, agent_name: Annotated[Optional[StrictStr], Field(description="Returns only agents with the specified name. This is an exact match only. ")] = None, @@ -1672,7 +1672,7 @@ class ManageAgentsApi: :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 expand: 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. - :type expand: List[Expand] + :type expand: List[ExpandEndpointAgentOptions] :param include_deleted: When requesting entities, set to `true` if you want to see deleted entities. :type include_deleted: bool :param use_all_permitted_aids: Set to `true` to load data from all accounts the user has access to. @@ -1742,7 +1742,7 @@ class ManageAgentsApi: max: Annotated[Optional[StrictInt], Field(description="(Optional) Maximum number of objects to return.")] = None, cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = 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="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. ")] = None, + expand: Annotated[Optional[List[ExpandEndpointAgentOptions]], Field(description="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. ")] = None, include_deleted: Annotated[Optional[StrictBool], Field(description="When requesting entities, set to `true` if you want to see deleted entities.")] = None, use_all_permitted_aids: Annotated[Optional[StrictBool], Field(description="Set to `true` to load data from all accounts the user has access to.")] = None, agent_name: Annotated[Optional[StrictStr], Field(description="Returns only agents with the specified name. This is an exact match only. ")] = None, @@ -1771,7 +1771,7 @@ class ManageAgentsApi: :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 expand: 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. - :type expand: List[Expand] + :type expand: List[ExpandEndpointAgentOptions] :param include_deleted: When requesting entities, set to `true` if you want to see deleted entities. :type include_deleted: bool :param use_all_permitted_aids: Set to `true` to load data from all accounts the user has access to. @@ -1841,7 +1841,7 @@ class ManageAgentsApi: max: Annotated[Optional[StrictInt], Field(description="(Optional) Maximum number of objects to return.")] = None, cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = 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="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. ")] = None, + expand: Annotated[Optional[List[ExpandEndpointAgentOptions]], Field(description="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. ")] = None, include_deleted: Annotated[Optional[StrictBool], Field(description="When requesting entities, set to `true` if you want to see deleted entities.")] = None, use_all_permitted_aids: Annotated[Optional[StrictBool], Field(description="Set to `true` to load data from all accounts the user has access to.")] = None, agent_name: Annotated[Optional[StrictStr], Field(description="Returns only agents with the specified name. This is an exact match only. ")] = None, @@ -1870,7 +1870,7 @@ class ManageAgentsApi: :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 expand: 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. - :type expand: List[Expand] + :type expand: List[ExpandEndpointAgentOptions] :param include_deleted: When requesting entities, set to `true` if you want to see deleted entities. :type include_deleted: bool :param use_all_permitted_aids: Set to `true` to load data from all accounts the user has access to. @@ -2014,7 +2014,277 @@ class ManageAgentsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/endpoint/agents', + resource_path='/endpoint/agents', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_endpoint_agents_connection_string( + 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, + ) -> ConnectionString: + """Get agent connection string + + + :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_endpoint_agents_connection_string_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': "ConnectionString", + '401': "UnauthorizedError", + '403': "Error", + '429': "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.endpoint_agents.models, + ).data + + + @validate_call + def get_endpoint_agents_connection_string_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[ConnectionString]: + """Get agent connection string + + + :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_endpoint_agents_connection_string_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': "ConnectionString", + '401': "UnauthorizedError", + '403': "Error", + '429': "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.endpoint_agents.models, + ) + + + @validate_call + def get_endpoint_agents_connection_string_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: + """Get agent connection string + + + :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_endpoint_agents_connection_string_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': "ConnectionString", + '401': "UnauthorizedError", + '403': "Error", + '429': "Error", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_endpoint_agents_connection_string_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='/endpoint/agents/connection-string', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -2035,7 +2305,7 @@ class ManageAgentsApi: self, agent_id: Annotated[StrictStr, Field(description="The identifier of the agent to operate on.")], 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="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. ")] = None, + expand: Annotated[Optional[List[ExpandEndpointAgentOptions]], Field(description="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. ")] = None, endpoint_agent_update: Annotated[Optional[EndpointAgentUpdate], Field(description="Fields to modify on the agent")] = None, _request_timeout: Union[ None, @@ -2059,7 +2329,7 @@ class ManageAgentsApi: :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 expand: 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. - :type expand: List[Expand] + :type expand: List[ExpandEndpointAgentOptions] :param endpoint_agent_update: Fields to modify on the agent :type endpoint_agent_update: EndpointAgentUpdate :param _request_timeout: timeout setting for this request. If one @@ -2119,7 +2389,7 @@ class ManageAgentsApi: self, agent_id: Annotated[StrictStr, Field(description="The identifier of the agent to operate on.")], 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="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. ")] = None, + expand: Annotated[Optional[List[ExpandEndpointAgentOptions]], Field(description="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. ")] = None, endpoint_agent_update: Annotated[Optional[EndpointAgentUpdate], Field(description="Fields to modify on the agent")] = None, _request_timeout: Union[ None, @@ -2143,7 +2413,7 @@ class ManageAgentsApi: :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 expand: 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. - :type expand: List[Expand] + :type expand: List[ExpandEndpointAgentOptions] :param endpoint_agent_update: Fields to modify on the agent :type endpoint_agent_update: EndpointAgentUpdate :param _request_timeout: timeout setting for this request. If one @@ -2203,7 +2473,7 @@ class ManageAgentsApi: self, agent_id: Annotated[StrictStr, Field(description="The identifier of the agent to operate on.")], 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="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. ")] = None, + expand: Annotated[Optional[List[ExpandEndpointAgentOptions]], Field(description="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. ")] = None, endpoint_agent_update: Annotated[Optional[EndpointAgentUpdate], Field(description="Fields to modify on the agent")] = None, _request_timeout: Union[ None, @@ -2227,7 +2497,7 @@ class ManageAgentsApi: :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 expand: 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. - :type expand: List[Expand] + :type expand: List[ExpandEndpointAgentOptions] :param endpoint_agent_update: Fields to modify on the agent :type endpoint_agent_update: EndpointAgentUpdate :param _request_timeout: timeout setting for this request. If one @@ -2351,7 +2621,7 @@ class ManageAgentsApi: return self.api_client.param_serialize( method='PATCH', - resource_path='/v7/endpoint/agents/{agentId}', + resource_path='/endpoint/agents/{agentId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/api/transfer_api.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/api/endpoint_agents_transfer_api.py similarity index 99% rename from thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/api/transfer_api.py rename to thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/api/endpoint_agents_transfer_api.py index 72e812e6..e9369966 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/api/transfer_api.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/api/endpoint_agents_transfer_api.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -31,7 +30,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class TransferApi: +class EndpointAgentsTransferApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -347,7 +346,7 @@ class TransferApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/endpoint/agents/{agentId}/transfer', + resource_path='/endpoint/agents/{agentId}/transfer', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -656,7 +655,7 @@ class TransferApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/endpoint/agents/transfer/bulk', + resource_path='/endpoint/agents/transfer/bulk', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/__init__.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/__init__.py index fbc3faf3..fd5118c0 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/__init__.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/__init__.py @@ -6,7 +6,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -32,6 +31,7 @@ from thousandeyes_sdk.endpoint_agents.models.bulk_agent_transfer_response import from thousandeyes_sdk.endpoint_agents.models.conditional_operator import ConditionalOperator from thousandeyes_sdk.endpoint_agents.models.connection_string import ConnectionString from thousandeyes_sdk.endpoint_agents.models.endpoint_agent import EndpointAgent +from thousandeyes_sdk.endpoint_agents.models.endpoint_agent_ethernet_profile import EndpointAgentEthernetProfile from thousandeyes_sdk.endpoint_agents.models.endpoint_agent_location import EndpointAgentLocation from thousandeyes_sdk.endpoint_agents.models.endpoint_agent_update import EndpointAgentUpdate from thousandeyes_sdk.endpoint_agents.models.endpoint_agents import EndpointAgents @@ -41,8 +41,7 @@ from thousandeyes_sdk.endpoint_agents.models.endpoint_client import EndpointClie from thousandeyes_sdk.endpoint_agents.models.endpoint_user_profile import EndpointUserProfile from thousandeyes_sdk.endpoint_agents.models.endpoint_vpn_profile import EndpointVpnProfile from thousandeyes_sdk.endpoint_agents.models.error import Error -from thousandeyes_sdk.endpoint_agents.models.ethernet_profile import EthernetProfile -from thousandeyes_sdk.endpoint_agents.models.expand import Expand +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.models.interface_hardware_type import InterfaceHardwareType from thousandeyes_sdk.endpoint_agents.models.interface_profile import InterfaceProfile diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/address_profile.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/address_profile.py index f479c4a5..1b39a374 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/address_profile.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/address_profile.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/address_type.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/address_type.py index 5e33f0c3..f468193e 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/address_type.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/address_type.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -31,10 +30,15 @@ class AddressType(str, Enum): UNIQUE_MINUS_LOCAL = 'unique-local' LINK_MINUS_LOCAL = 'link-local' UNIQUE_MINUS_GLOBAL = 'unique-global' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of AddressType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_license_type.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_license_type.py index af5d5fc2..ef5ae083 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_license_type.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_license_type.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class AgentLicenseType(str, Enum): ESSENTIALS = 'essentials' ADVANTAGE = 'advantage' EMBEDDED = 'embedded' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of AgentLicenseType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_search_filters.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_search_filters.py index 5bd4681a..c2f73bad 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_search_filters.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_search_filters.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_search_request.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_search_request.py index b5e124c2..287152c8 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_search_request.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_search_request.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_search_sort.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_search_sort.py index 47e08d6c..2fad841a 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_search_sort.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_search_sort.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_search_sort_key.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_search_sort_key.py index a094211a..f3a9326b 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_search_sort_key.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_search_sort_key.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -31,10 +30,15 @@ class AgentSearchSortKey(str, Enum): NAME = 'name' USERNAME = 'userName' CITY = 'city' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of AgentSearchSortKey from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_threshold_filter.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_threshold_filter.py index fbfb7e9c..b33defed 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_threshold_filter.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_threshold_filter.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -38,8 +37,8 @@ class AgentThresholdFilter(BaseModel): if value is None: return value - if value not in set(['last-seen-ms']): - raise ValueError("must be one of enum values ('last-seen-ms')") + if value not in set(['last-seen-ms', 'unknown']): + raise ValueError("must be one of enum values ('last-seen-ms', 'unknown')") return value model_config = ConfigDict( diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_threshold_filters.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_threshold_filters.py index 15cf09c6..97d87b0b 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_threshold_filters.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_threshold_filters.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_transfer.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_transfer.py index c3a6929d..11388cb3 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_transfer.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_transfer.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -26,7 +25,7 @@ class AgentTransfer(BaseModel): """ AgentTransfer """ # noqa: E501 - agent_id: Optional[StrictStr] = Field(default=None, description="Identifier of the agent this applies to.", alias="agentId") + agent_id: Optional[StrictStr] = Field(default=None, description="Unique ID of endpoint agent, from `/endpoint/agents` endpoint.", alias="agentId") from_aid: Optional[StrictStr] = Field(default=None, description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint.", alias="fromAid") to_aid: Optional[StrictStr] = Field(default=None, description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint.", alias="toAid") __properties: ClassVar[List[str]] = ["agentId", "fromAid", "toAid"] diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_transfer_request.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_transfer_request.py index 5128f36b..6e1fce7c 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_transfer_request.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_transfer_request.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_transfer_status.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_transfer_status.py index 4d840dfc..60852cd3 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_transfer_status.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/agent_transfer_status.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/browser_type.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/browser_type.py index f10a73ae..c983d243 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/browser_type.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/browser_type.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -38,4 +37,8 @@ class BrowserType(str, Enum): """Create an instance of BrowserType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/bulk_agent_transfer_request.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/bulk_agent_transfer_request.py index bd7f8d0e..d5342884 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/bulk_agent_transfer_request.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/bulk_agent_transfer_request.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/bulk_agent_transfer_response.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/bulk_agent_transfer_response.py index 081ad528..ddfbbb15 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/bulk_agent_transfer_response.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/bulk_agent_transfer_response.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/conditional_operator.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/conditional_operator.py index a6eff21d..d8de147b 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/conditional_operator.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/conditional_operator.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class ConditionalOperator(str, Enum): """ AND = 'and' OR = 'or' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of ConditionalOperator from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/connection_string.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/connection_string.py index e21ff739..0c81b7d2 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/connection_string.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/connection_string.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_agent.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_agent.py index a9e0f3a4..526eccac 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_agent.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_agent.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -36,7 +35,7 @@ class EndpointAgent(BaseModel): """ The `EndpointAgent` object, which may include multiple clients. """ # noqa: E501 - id: Optional[StrictStr] = Field(default=None, description="Identifier of the agent this applies to.") + id: Optional[StrictStr] = Field(default=None, description="Unique ID of endpoint agent, from `/endpoint/agents` endpoint.") aid: Optional[Any] = None name: Optional[StrictStr] = Field(default=None, description="The name of the agent.") computer_name: Optional[StrictStr] = Field(default=None, alias="computerName") diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/ethernet_profile.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_agent_ethernet_profile.py similarity index 92% rename from thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/ethernet_profile.py rename to thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_agent_ethernet_profile.py index d642ba0e..fb7eda1f 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/ethernet_profile.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_agent_ethernet_profile.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,7 +21,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self -class EthernetProfile(BaseModel): +class EndpointAgentEthernetProfile(BaseModel): """ Information about the ethernet connectivity of this device. Only present if the hardware type is `ethernet`. """ # noqa: E501 @@ -48,7 +47,7 @@ class EthernetProfile(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of EthernetProfile from a JSON string""" + """Create an instance of EndpointAgentEthernetProfile from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -73,7 +72,7 @@ class EthernetProfile(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of EthernetProfile from a dict""" + """Create an instance of EndpointAgentEthernetProfile from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_agent_location.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_agent_location.py index 1db2a355..8951bfc7 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_agent_location.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_agent_location.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_agent_update.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_agent_update.py index 304561e8..60bbcad6 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_agent_update.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_agent_update.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_agents.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_agents.py index 11e8e332..9dfabc44 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_agents.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_agents.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_asn_details.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_asn_details.py index bb1019df..58e66bfd 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_asn_details.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_asn_details.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_browser_extension.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_browser_extension.py index b0284c9a..69dca0c1 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_browser_extension.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_browser_extension.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_client.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_client.py index f3638e9c..0961c9b3 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_client.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_client.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_user_profile.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_user_profile.py index 36c5fe23..398011ce 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_user_profile.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_user_profile.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_vpn_profile.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_vpn_profile.py index aeabf05b..06a715f6 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_vpn_profile.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/endpoint_vpn_profile.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/error.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/error.py index 17312520..2789fbac 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/error.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/error.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/expand.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/expand_endpoint_agent_options.py similarity index 72% rename from thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/expand.py rename to thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/expand_endpoint_agent_options.py index 78298b1d..4730ecf7 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/expand.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/expand_endpoint_agent_options.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -18,9 +17,9 @@ from enum import Enum from typing_extensions import Self -class Expand(str, Enum): +class ExpandEndpointAgentOptions(str, Enum): """ - Expand + ExpandEndpointAgentOptions """ """ @@ -29,10 +28,15 @@ class Expand(str, Enum): CLIENTS = 'clients' VPNPROFILES = 'vpnProfiles' NETWORKINTERFACEPROFILES = 'networkInterfaceProfiles' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: - """Create an instance of Expand from a JSON string""" + """Create an instance of ExpandEndpointAgentOptions from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/filter_endpoint_agents_response.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/filter_endpoint_agents_response.py index f04f7b4d..b4532086 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/filter_endpoint_agents_response.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/filter_endpoint_agents_response.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/interface_hardware_type.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/interface_hardware_type.py index ede5dfff..8224db2e 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/interface_hardware_type.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/interface_hardware_type.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -39,4 +38,8 @@ class InterfaceHardwareType(str, Enum): """Create an instance of InterfaceHardwareType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/interface_profile.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/interface_profile.py index 6ae5593c..a077ac01 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/interface_profile.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/interface_profile.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,7 +19,7 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictStr from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.endpoint_agents.models.address_profile import AddressProfile -from thousandeyes_sdk.endpoint_agents.models.ethernet_profile import EthernetProfile +from thousandeyes_sdk.endpoint_agents.models.endpoint_agent_ethernet_profile import EndpointAgentEthernetProfile from thousandeyes_sdk.endpoint_agents.models.interface_hardware_type import InterfaceHardwareType from thousandeyes_sdk.endpoint_agents.models.wireless_profile import WirelessProfile from typing import Optional, Set @@ -33,7 +32,7 @@ class InterfaceProfile(BaseModel): interface_name: Optional[StrictStr] = Field(default=None, alias="interfaceName") address_profiles: Optional[List[AddressProfile]] = Field(default=None, alias="addressProfiles") hardware_type: Optional[InterfaceHardwareType] = Field(default=None, alias="hardwareType") - ethernet_profile: Optional[EthernetProfile] = Field(default=None, alias="ethernetProfile") + ethernet_profile: Optional[EndpointAgentEthernetProfile] = Field(default=None, alias="ethernetProfile") wireless_profile: Optional[WirelessProfile] = Field(default=None, alias="wirelessProfile") __properties: ClassVar[List[str]] = ["interfaceName", "addressProfiles", "hardwareType", "ethernetProfile", "wirelessProfile"] @@ -105,7 +104,7 @@ class InterfaceProfile(BaseModel): "interfaceName": obj.get("interfaceName"), "addressProfiles": [AddressProfile.from_dict(_item) for _item in obj["addressProfiles"]] if obj.get("addressProfiles") is not None else None, "hardwareType": obj.get("hardwareType"), - "ethernetProfile": EthernetProfile.from_dict(obj["ethernetProfile"]) if obj.get("ethernetProfile") is not None else None, + "ethernetProfile": EndpointAgentEthernetProfile.from_dict(obj["ethernetProfile"]) if obj.get("ethernetProfile") is not None else None, "wirelessProfile": WirelessProfile.from_dict(obj["wirelessProfile"]) if obj.get("wirelessProfile") is not None else None }) return _obj diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/link.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/link.py index 6e1d741f..3736b1c5 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/link.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/link.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/list_endpoint_agents_response.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/list_endpoint_agents_response.py index 30d491a3..2acfe922 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/list_endpoint_agents_response.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/list_endpoint_agents_response.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/pagination_next_and_self_link.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/pagination_next_and_self_link.py index 999762f8..8f84c4ce 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/pagination_next_and_self_link.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/pagination_next_and_self_link.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/pagination_next_link.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/pagination_next_link.py index 1246f3a3..3b471804 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/pagination_next_link.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/pagination_next_link.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/platform.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/platform.py index d846cdd6..c983ff46 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/platform.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/platform.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,19 +19,27 @@ from typing_extensions import Self class Platform(str, Enum): """ - OS platform types + OS platform types. Platform \"linux\" was recently renamed to \"roomos\". """ """ allowed enum values """ WINDOWS = 'windows' + ROOMOS = 'roomos' + PHONEOS = 'phoneos' + ELUX = 'elux' LINUX = 'linux' MAC = 'mac' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of Platform from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/self_links.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/self_links.py index f0aa2845..b4e8c880 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/self_links.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/self_links.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/sort_order.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/sort_order.py index 4fe43ab3..e6426a6c 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/sort_order.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/sort_order.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class SortOrder(str, Enum): """ ASC = 'asc' DESC = 'desc' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of SortOrder from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/status.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/status.py index 0f0a5e8b..73fbf0a6 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/status.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/status.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class Status(str, Enum): """ ENABLED = 'enabled' DISABLED = 'disabled' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of Status from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/threshold_filter_operator.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/threshold_filter_operator.py index 271a9c6f..c36ec7ba 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/threshold_filter_operator.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/threshold_filter_operator.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class ThresholdFilterOperator(str, Enum): """ GTE = 'gte' LTE = 'lte' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of ThresholdFilterOperator from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/unauthorized_error.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/unauthorized_error.py index 1446a4ff..399c7f4e 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/unauthorized_error.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/unauthorized_error.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/validation_error.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/validation_error.py index d3542642..7b12aad5 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/validation_error.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/validation_error.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/validation_error_item.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/validation_error_item.py index f74ac5cf..21e4ec0a 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/validation_error_item.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/validation_error_item.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/vpn_type.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/vpn_type.py index d5490daf..ee943085 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/vpn_type.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/vpn_type.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -31,10 +30,15 @@ class VpnType(str, Enum): IVANTI_MINUS_CONNECT_MINUS_SECURE = 'ivanti-connect-secure' ZSCALER_MINUS_INTERNET_MINUS_ACCESS = 'zscaler-internet-access' F5_MINUS_BIG_MINUS_IP = 'f5-big-ip' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of VpnType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/wireless_profile.py b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/wireless_profile.py index 7ae589dd..eabc1bdb 100644 --- a/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/wireless_profile.py +++ b/thousandeyes-sdk-endpoint-agents/src/thousandeyes_sdk/endpoint_agents/models/wireless_profile.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-agents/test/test_administrative_endpoints_api.py b/thousandeyes-sdk-endpoint-agents/test/test_administrative_endpoints_api.py deleted file mode 100644 index c6526c14..00000000 --- a/thousandeyes-sdk-endpoint-agents/test/test_administrative_endpoints_api.py +++ /dev/null @@ -1,58 +0,0 @@ -# coding: utf-8 - -""" - Endpoint Agents API - - Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - - The version of the OpenAPI document: 7.0.8 - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import json -import unittest -import thousandeyes_sdk.endpoint_agents.models - -from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.endpoint_agents.api.administrative_endpoints_api import AdministrativeEndpointsApi - - -class TestAdministrativeEndpointsApi(unittest.TestCase): - """AdministrativeEndpointsApi unit test stubs""" - - def setUp(self) -> None: - self.api = AdministrativeEndpointsApi() - - def tearDown(self) -> None: - pass - - def test_get_endpoint_agents_connection_string_models_validation(self) -> None: - """Test case for get_endpoint_agents_connection_string request and response models""" - - response_body_json = """ - { - "connectionString" : "D2xZSLlqo64Xe2EnYisklA==", - "_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" - } - } - }""" - - response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.endpoint_agents.models.ConnectionString.from_json(response_body_json) - assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) - - -if __name__ == '__main__': - unittest.main() diff --git a/thousandeyes-sdk-endpoint-agents/test/test_manage_agents_api.py b/thousandeyes-sdk-endpoint-agents/test/test_endpoint_agents_api.py similarity index 96% rename from thousandeyes-sdk-endpoint-agents/test/test_manage_agents_api.py rename to thousandeyes-sdk-endpoint-agents/test/test_endpoint_agents_api.py index ecca7d8e..f398ead5 100644 --- a/thousandeyes-sdk-endpoint-agents/test/test_manage_agents_api.py +++ b/thousandeyes-sdk-endpoint-agents/test/test_endpoint_agents_api.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.endpoint_agents.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.endpoint_agents.api.manage_agents_api import ManageAgentsApi +from thousandeyes_sdk.endpoint_agents.api.endpoint_agents_api import EndpointAgentsApi -class TestManageAgentsApi(unittest.TestCase): - """ManageAgentsApi unit test stubs""" +class TestEndpointAgentsApi(unittest.TestCase): + """EndpointAgentsApi unit test stubs""" def setUp(self) -> None: - self.api = ManageAgentsApi() + self.api = EndpointAgentsApi() def tearDown(self) -> None: pass @@ -105,7 +104,7 @@ class TestManageAgentsApi(unittest.TestCase): "osVersion" : "Version 10.15.2 (Build 19C57)", "computerName" : "DESKJET-123", "model" : "MacBookAir7,2", - "id" : "5d0764ac-7e42-4ec8-a0d4-39fc53edccba", + "id" : "861b7557-cd57-4bbb-b648-00bddf88ef49", "version" : "0.123.4", "vpnProfiles" : [ { "vpnClientNetworkRange" : [ "10.100.0.0/22" ], @@ -263,7 +262,7 @@ class TestManageAgentsApi(unittest.TestCase): "osVersion" : "Version 10.15.2 (Build 19C57)", "computerName" : "DESKJET-123", "model" : "MacBookAir7,2", - "id" : "5d0764ac-7e42-4ec8-a0d4-39fc53edccba", + "id" : "861b7557-cd57-4bbb-b648-00bddf88ef49", "version" : "0.123.4", "vpnProfiles" : [ { "vpnClientNetworkRange" : [ "10.100.0.0/22" ], @@ -367,7 +366,7 @@ class TestManageAgentsApi(unittest.TestCase): "locationCountryISO" : [ "FR", "FR" ], "agentName" : [ "myagent-1234", "myagent-1234" ], "locationSubdivision1Code" : [ "ENG", "ENG" ], - "id" : [ "5d0764ac-7e42-4ec8-a0d4-39fc53edccba", "5d0764ac-7e42-4ec8-a0d4-39fc53edccba" ], + "id" : [ "861b7557-cd57-4bbb-b648-00bddf88ef49", "861b7557-cd57-4bbb-b648-00bddf88ef49" ], "platform" : [ "mac", "mac" ], "locationCity" : [ "Paris", "Paris" ], "username" : [ "picard" ] @@ -473,7 +472,7 @@ class TestManageAgentsApi(unittest.TestCase): "osVersion" : "Version 10.15.2 (Build 19C57)", "computerName" : "DESKJET-123", "model" : "MacBookAir7,2", - "id" : "5d0764ac-7e42-4ec8-a0d4-39fc53edccba", + "id" : "861b7557-cd57-4bbb-b648-00bddf88ef49", "version" : "0.123.4", "vpnProfiles" : [ { "vpnClientNetworkRange" : [ "10.100.0.0/22" ], @@ -621,7 +620,7 @@ class TestManageAgentsApi(unittest.TestCase): "osVersion" : "Version 10.15.2 (Build 19C57)", "computerName" : "DESKJET-123", "model" : "MacBookAir7,2", - "id" : "5d0764ac-7e42-4ec8-a0d4-39fc53edccba", + "id" : "861b7557-cd57-4bbb-b648-00bddf88ef49", "version" : "0.123.4", "vpnProfiles" : [ { "vpnClientNetworkRange" : [ "10.100.0.0/22" ], @@ -780,7 +779,7 @@ class TestManageAgentsApi(unittest.TestCase): "osVersion" : "Version 10.15.2 (Build 19C57)", "computerName" : "DESKJET-123", "model" : "MacBookAir7,2", - "id" : "5d0764ac-7e42-4ec8-a0d4-39fc53edccba", + "id" : "861b7557-cd57-4bbb-b648-00bddf88ef49", "version" : "0.123.4", "vpnProfiles" : [ { "vpnClientNetworkRange" : [ "10.100.0.0/22" ], @@ -962,7 +961,7 @@ class TestManageAgentsApi(unittest.TestCase): "osVersion" : "Version 10.15.2 (Build 19C57)", "computerName" : "DESKJET-123", "model" : "MacBookAir7,2", - "id" : "5d0764ac-7e42-4ec8-a0d4-39fc53edccba", + "id" : "861b7557-cd57-4bbb-b648-00bddf88ef49", "version" : "0.123.4", "vpnProfiles" : [ { "vpnClientNetworkRange" : [ "10.100.0.0/22" ], @@ -1110,7 +1109,7 @@ class TestManageAgentsApi(unittest.TestCase): "osVersion" : "Version 10.15.2 (Build 19C57)", "computerName" : "DESKJET-123", "model" : "MacBookAir7,2", - "id" : "5d0764ac-7e42-4ec8-a0d4-39fc53edccba", + "id" : "861b7557-cd57-4bbb-b648-00bddf88ef49", "version" : "0.123.4", "vpnProfiles" : [ { "vpnClientNetworkRange" : [ "10.100.0.0/22" ], @@ -1197,6 +1196,30 @@ class TestManageAgentsApi(unittest.TestCase): response_from_json = thousandeyes_sdk.endpoint_agents.models.ListEndpointAgentsResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) + def test_get_endpoint_agents_connection_string_models_validation(self) -> None: + """Test case for get_endpoint_agents_connection_string request and response models""" + + response_body_json = """ + { + "connectionString" : "D2xZSLlqo64Xe2EnYisklA==", + "_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" + } + } + }""" + + response_loaded_json = json.loads(response_body_json) + response_from_json = thousandeyes_sdk.endpoint_agents.models.ConnectionString.from_json(response_body_json) + assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) + def test_update_endpoint_agent_models_validation(self) -> None: """Test case for update_endpoint_agent request and response models""" request_body_json = """ @@ -1278,7 +1301,7 @@ class TestManageAgentsApi(unittest.TestCase): "osVersion" : "Version 10.15.2 (Build 19C57)", "computerName" : "DESKJET-123", "model" : "MacBookAir7,2", - "id" : "5d0764ac-7e42-4ec8-a0d4-39fc53edccba", + "id" : "861b7557-cd57-4bbb-b648-00bddf88ef49", "version" : "0.123.4", "vpnProfiles" : [ { "vpnClientNetworkRange" : [ "10.100.0.0/22" ], diff --git a/thousandeyes-sdk-endpoint-agents/test/test_transfer_api.py b/thousandeyes-sdk-endpoint-agents/test/test_endpoint_agents_transfer_api.py similarity index 93% rename from thousandeyes-sdk-endpoint-agents/test/test_transfer_api.py rename to thousandeyes-sdk-endpoint-agents/test/test_endpoint_agents_transfer_api.py index b7186197..e86a3c77 100644 --- a/thousandeyes-sdk-endpoint-agents/test/test_transfer_api.py +++ b/thousandeyes-sdk-endpoint-agents/test/test_endpoint_agents_transfer_api.py @@ -5,7 +5,6 @@ Manage ThousandEyes Endpoint Agents using this API. For more information about Endpoint Agents, see [Endpoint Agents](https://docs.thousandeyes.com/product-documentation/global-vantage-points/endpoint-agents). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.endpoint_agents.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.endpoint_agents.api.transfer_api import TransferApi +from thousandeyes_sdk.endpoint_agents.api.endpoint_agents_transfer_api import EndpointAgentsTransferApi -class TestTransferApi(unittest.TestCase): - """TransferApi unit test stubs""" +class TestEndpointAgentsTransferApi(unittest.TestCase): + """EndpointAgentsTransferApi unit test stubs""" def setUp(self) -> None: - self.api = TransferApi() + self.api = EndpointAgentsTransferApi() def tearDown(self) -> None: pass diff --git a/thousandeyes-sdk-endpoint-instant-tests/.openapi-generator/FILES b/thousandeyes-sdk-endpoint-instant-tests/.openapi-generator/FILES index d1097539..d4f6ff8e 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/.openapi-generator/FILES +++ b/thousandeyes-sdk-endpoint-instant-tests/.openapi-generator/FILES @@ -1,11 +1,7 @@ .openapi-generator-ignore MANIFEST.in README.md -docs/AgentToServerInstantScheduledTestApi.md -docs/AlertDirection.md -docs/AlertRoundsViolationMode.md -docs/AlertRule.md -docs/AlertType.md +docs/AgentToServerEndpointInstantScheduledTestsApi.md docs/EndpointAgentLabelsSelectorConfig.md docs/EndpointAgentSelectorConfig.md docs/EndpointAgentToServerInstantTest.md @@ -15,6 +11,7 @@ docs/EndpointHttpServerBaseTest.md docs/EndpointHttpServerInstantTest.md docs/EndpointHttpServerTest.md docs/EndpointInstantTest.md +docs/EndpointRunScheduledInstantTestResult.md docs/EndpointScheduledTestType.md docs/EndpointSpecificAgentsSelectorConfig.md docs/EndpointTest.md @@ -24,10 +21,9 @@ docs/EndpointTestLinks.md docs/EndpointTestProtocol.md docs/EndpointTestSelfLink.md docs/Error.md -docs/HttpServerInstantScheduledTestApi.md +docs/HTTPServerEndpointInstantScheduledTestsApi.md docs/Link.md -docs/RunExistingTestApi.md -docs/Severity.md +docs/RunEndpointInstantScheduledTestsApi.md docs/TestInterval.md docs/TestLabel.md docs/TestProbeModeResponse.md @@ -39,14 +35,10 @@ pyproject.toml setup.cfg src/thousandeyes_sdk/endpoint_instant_tests/__init__.py src/thousandeyes_sdk/endpoint_instant_tests/api/__init__.py -src/thousandeyes_sdk/endpoint_instant_tests/api/agent_to_server_instant_scheduled_test_api.py -src/thousandeyes_sdk/endpoint_instant_tests/api/http_server_instant_scheduled_test_api.py -src/thousandeyes_sdk/endpoint_instant_tests/api/run_existing_test_api.py +src/thousandeyes_sdk/endpoint_instant_tests/api/agent_to_server_endpoint_instant_scheduled_tests_api.py +src/thousandeyes_sdk/endpoint_instant_tests/api/http_server_endpoint_instant_scheduled_tests_api.py +src/thousandeyes_sdk/endpoint_instant_tests/api/run_endpoint_instant_scheduled_tests_api.py src/thousandeyes_sdk/endpoint_instant_tests/models/__init__.py -src/thousandeyes_sdk/endpoint_instant_tests/models/alert_direction.py -src/thousandeyes_sdk/endpoint_instant_tests/models/alert_rounds_violation_mode.py -src/thousandeyes_sdk/endpoint_instant_tests/models/alert_rule.py -src/thousandeyes_sdk/endpoint_instant_tests/models/alert_type.py src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_labels_selector_config.py src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_selector_config.py src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_to_server_instant_test.py @@ -56,6 +48,7 @@ src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_http_server_base_tes src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_http_server_instant_test.py src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_http_server_test.py src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_instant_test.py +src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_run_scheduled_instant_test_result.py src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_scheduled_test_type.py src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_specific_agents_selector_config.py src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test.py @@ -66,7 +59,6 @@ src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_protocol.py src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_self_link.py src/thousandeyes_sdk/endpoint_instant_tests/models/error.py src/thousandeyes_sdk/endpoint_instant_tests/models/link.py -src/thousandeyes_sdk/endpoint_instant_tests/models/severity.py src/thousandeyes_sdk/endpoint_instant_tests/models/test_interval.py src/thousandeyes_sdk/endpoint_instant_tests/models/test_label.py src/thousandeyes_sdk/endpoint_instant_tests/models/test_probe_mode_response.py @@ -76,7 +68,7 @@ src/thousandeyes_sdk/endpoint_instant_tests/models/validation_error.py src/thousandeyes_sdk/endpoint_instant_tests/models/validation_error_item.py src/thousandeyes_sdk/endpoint_instant_tests/py.typed test/__init__.py -test/test_agent_to_server_instant_scheduled_test_api.py -test/test_http_server_instant_scheduled_test_api.py -test/test_run_existing_test_api.py +test/test_agent_to_server_endpoint_instant_scheduled_tests_api.py +test/test_http_server_endpoint_instant_scheduled_tests_api.py +test/test_run_endpoint_instant_scheduled_tests_api.py test/test_utils.py diff --git a/thousandeyes-sdk-endpoint-instant-tests/README.md b/thousandeyes-sdk-endpoint-instant-tests/README.md index 212050ac..69512046 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/README.md +++ b/thousandeyes-sdk-endpoint-instant-tests/README.md @@ -13,7 +13,7 @@ The URLs for these API test data endpoints are provided within the test definiti This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 7.0.8 +- API version: 7.0.20 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator @@ -65,10 +65,10 @@ import thousandeyes_sdk.endpoint_instant_tests from thousandeyes_sdk.core.exceptions import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -85,37 +85,33 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.core.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_instant_tests.AgentToServerInstantScheduledTestApi(api_client) + api_instance = thousandeyes_sdk.endpoint_instant_tests.AgentToServerEndpointInstantScheduledTestsApi(api_client) endpoint_agent_to_server_instant_test = thousandeyes_sdk.endpoint_instant_tests.EndpointAgentToServerInstantTest() # EndpointAgentToServerInstantTest | 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: # Run agent to server instant scheduled test api_response = api_instance.create_agent_to_server_scheduled_instant_test(endpoint_agent_to_server_instant_test, aid=aid) - print("The response of AgentToServerInstantScheduledTestApi->create_agent_to_server_scheduled_instant_test:\n") + print("The response of AgentToServerEndpointInstantScheduledTestsApi->create_agent_to_server_scheduled_instant_test:\n") pprint(api_response) except ApiException as e: - print("Exception when calling AgentToServerInstantScheduledTestApi->create_agent_to_server_scheduled_instant_test: %s\n" % e) + print("Exception when calling AgentToServerEndpointInstantScheduledTestsApi->create_agent_to_server_scheduled_instant_test: %s\n" % e) ``` ## Documentation for API Endpoints -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- -*AgentToServerInstantScheduledTestApi* | [**create_agent_to_server_scheduled_instant_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/AgentToServerInstantScheduledTestApi.md#create_agent_to_server_scheduled_instant_test) | **POST** /v7/endpoint/tests/scheduled-tests/agent-to-server/instant | Run agent to server instant scheduled test -*HttpServerInstantScheduledTestApi* | [**create_http_server_scheduled_instant_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/HttpServerInstantScheduledTestApi.md#create_http_server_scheduled_instant_test) | **POST** /v7/endpoint/tests/scheduled-tests/http-server/instant | Run http server instant scheduled test -*RunExistingTestApi* | [**run_endpoint_scheduled_instant_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/RunExistingTestApi.md#run_endpoint_scheduled_instant_test) | **POST** /v7/endpoint/tests/scheduled-tests/{testId}/run | Run endpoint instant scheduled test +*AgentToServerEndpointInstantScheduledTestsApi* | [**create_agent_to_server_scheduled_instant_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/AgentToServerEndpointInstantScheduledTestsApi.md#create_agent_to_server_scheduled_instant_test) | **POST** /endpoint/tests/scheduled-tests/agent-to-server/instant | Run agent to server instant scheduled test +*HTTPServerEndpointInstantScheduledTestsApi* | [**create_http_server_scheduled_instant_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/HTTPServerEndpointInstantScheduledTestsApi.md#create_http_server_scheduled_instant_test) | **POST** /endpoint/tests/scheduled-tests/http-server/instant | Run http server instant scheduled test +*RunEndpointInstantScheduledTestsApi* | [**run_endpoint_scheduled_instant_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/RunEndpointInstantScheduledTestsApi.md#run_endpoint_scheduled_instant_test) | **POST** /endpoint/tests/scheduled-tests/{testId}/run | Run endpoint instant scheduled test ## Documentation For Models - - [AlertDirection](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/AlertDirection.md) - - [AlertRoundsViolationMode](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/AlertRoundsViolationMode.md) - - [AlertRule](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/AlertRule.md) - - [AlertType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/AlertType.md) - [EndpointAgentLabelsSelectorConfig](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointAgentLabelsSelectorConfig.md) - [EndpointAgentSelectorConfig](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointAgentSelectorConfig.md) - [EndpointAgentToServerInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointAgentToServerInstantTest.md) @@ -125,6 +121,7 @@ Class | Method | HTTP request | Description - [EndpointHttpServerInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointHttpServerInstantTest.md) - [EndpointHttpServerTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointHttpServerTest.md) - [EndpointInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointInstantTest.md) + - [EndpointRunScheduledInstantTestResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointRunScheduledInstantTestResult.md) - [EndpointScheduledTestType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointScheduledTestType.md) - [EndpointSpecificAgentsSelectorConfig](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointSpecificAgentsSelectorConfig.md) - [EndpointTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointTest.md) @@ -135,7 +132,6 @@ Class | Method | HTTP request | Description - [EndpointTestSelfLink](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointTestSelfLink.md) - [Error](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/Error.md) - [Link](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/Link.md) - - [Severity](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/Severity.md) - [TestInterval](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/TestInterval.md) - [TestLabel](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/TestLabel.md) - [TestProbeModeResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-instant-tests/docs/TestProbeModeResponse.md) diff --git a/thousandeyes-sdk-endpoint-instant-tests/docs/AgentToServerInstantScheduledTestApi.md b/thousandeyes-sdk-endpoint-instant-tests/docs/AgentToServerEndpointInstantScheduledTestsApi.md similarity index 84% rename from thousandeyes-sdk-endpoint-instant-tests/docs/AgentToServerInstantScheduledTestApi.md rename to thousandeyes-sdk-endpoint-instant-tests/docs/AgentToServerEndpointInstantScheduledTestsApi.md index d864da33..5e5bbfb3 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/docs/AgentToServerInstantScheduledTestApi.md +++ b/thousandeyes-sdk-endpoint-instant-tests/docs/AgentToServerEndpointInstantScheduledTestsApi.md @@ -1,10 +1,10 @@ -# thousandeyes_sdk.endpoint_instant_tests.AgentToServerInstantScheduledTestApi +# thousandeyes_sdk.endpoint_instant_tests.AgentToServerEndpointInstantScheduledTestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_agent_to_server_scheduled_instant_test**](AgentToServerInstantScheduledTestApi.md#create_agent_to_server_scheduled_instant_test) | **POST** /v7/endpoint/tests/scheduled-tests/agent-to-server/instant | Run agent to server instant scheduled test +[**create_agent_to_server_scheduled_instant_test**](AgentToServerEndpointInstantScheduledTestsApi.md#create_agent_to_server_scheduled_instant_test) | **POST** /endpoint/tests/scheduled-tests/agent-to-server/instant | Run agent to server instant scheduled test # **create_agent_to_server_scheduled_instant_test** @@ -25,10 +25,10 @@ from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_agent_to_server_tes from thousandeyes_sdk.endpoint_instant_tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -44,17 +44,17 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_instant_tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_instant_tests.AgentToServerInstantScheduledTestApi(api_client) + api_instance = thousandeyes_sdk.endpoint_instant_tests.AgentToServerEndpointInstantScheduledTestsApi(api_client) endpoint_agent_to_server_instant_test = thousandeyes_sdk.endpoint_instant_tests.EndpointAgentToServerInstantTest() # EndpointAgentToServerInstantTest | 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: # Run agent to server instant scheduled test api_response = api_instance.create_agent_to_server_scheduled_instant_test(endpoint_agent_to_server_instant_test, aid=aid) - print("The response of AgentToServerInstantScheduledTestApi->create_agent_to_server_scheduled_instant_test:\n") + print("The response of AgentToServerEndpointInstantScheduledTestsApi->create_agent_to_server_scheduled_instant_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling AgentToServerInstantScheduledTestApi->create_agent_to_server_scheduled_instant_test: %s\n" % e) + print("Exception when calling AgentToServerEndpointInstantScheduledTestsApi->create_agent_to_server_scheduled_instant_test: %s\n" % e) ``` diff --git a/thousandeyes-sdk-endpoint-instant-tests/docs/AlertDirection.md b/thousandeyes-sdk-endpoint-instant-tests/docs/AlertDirection.md deleted file mode 100644 index 8902e9bf..00000000 --- a/thousandeyes-sdk-endpoint-instant-tests/docs/AlertDirection.md +++ /dev/null @@ -1,12 +0,0 @@ -# AlertDirection - -Direction for applicable alert types (eg. path trace, End-to-End (Agent) etc.) - -## 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) - - diff --git a/thousandeyes-sdk-endpoint-instant-tests/docs/AlertRoundsViolationMode.md b/thousandeyes-sdk-endpoint-instant-tests/docs/AlertRoundsViolationMode.md deleted file mode 100644 index efe78921..00000000 --- a/thousandeyes-sdk-endpoint-instant-tests/docs/AlertRoundsViolationMode.md +++ /dev/null @@ -1,12 +0,0 @@ -# AlertRoundsViolationMode - -`exact` requires that the same agent(s) meet the threshold in consecutive rounds; default is `any` - -## 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) - - diff --git a/thousandeyes-sdk-endpoint-instant-tests/docs/AlertRule.md b/thousandeyes-sdk-endpoint-instant-tests/docs/AlertRule.md deleted file mode 100644 index 21461ecc..00000000 --- a/thousandeyes-sdk-endpoint-instant-tests/docs/AlertRule.md +++ /dev/null @@ -1,40 +0,0 @@ -# AlertRule - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**rule_id** | **str** | Unique ID of the rule | [optional] [readonly] -**rule_name** | **str** | Name of the alert rule | [optional] [readonly] -**expression** | **str** | String expression of alert rule | [optional] [readonly] -**direction** | [**AlertDirection**](AlertDirection.md) | | [optional] -**is_default** | **bool** | Alert rules allow up to 1 alert rule to be selected as a default for each type. By checking the default option, this alert rule will be automatically included on subsequently created tests that test a metric used in alerting here | [optional] [readonly] -**alert_type** | [**AlertType**](AlertType.md) | | [optional] -**minimum_sources** | **int** | The minimum number of agents or monitors that must meet the specified criteria in order to trigger the alert | [optional] [readonly] -**minimum_sources_pct** | **int** | the minimum percentage of all assigned agents or monitors that must meet the specified criteria in order to trigger the alert | [optional] [readonly] -**rounds_violating_mode** | [**AlertRoundsViolationMode**](AlertRoundsViolationMode.md) | | [optional] -**rounds_violating_out_of** | **int** | Specifies the divisor (y value) for the “X of Y times” condition. | [optional] [readonly] -**rounds_violating_required** | **int** | Specifies the numerator (x value) for the “X of Y times” condition | [optional] [readonly] -**severity** | [**Severity**](Severity.md) | | [optional] - -## Example - -```python -from thousandeyes_sdk.endpoint_instant_tests.models.alert_rule import AlertRule - -# TODO update the JSON string below -json = "{}" -# create an instance of AlertRule from a JSON string -alert_rule_instance = AlertRule.from_json(json) -# print the JSON string representation of the object -print(AlertRule.to_json()) - -# convert the object into a dict -alert_rule_dict = alert_rule_instance.to_dict() -# create an instance of AlertRule from a dict -alert_rule_from_dict = AlertRule.from_dict(alert_rule_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) - - diff --git a/thousandeyes-sdk-endpoint-instant-tests/docs/AlertType.md b/thousandeyes-sdk-endpoint-instant-tests/docs/AlertType.md deleted file mode 100644 index 484f18d4..00000000 --- a/thousandeyes-sdk-endpoint-instant-tests/docs/AlertType.md +++ /dev/null @@ -1,12 +0,0 @@ -# AlertType - -Type of alert being triggered. In multi-layered tests, this value represents the layer the alert relates to. See [Alert Details](https://developer.cisco.com/docs/thousandeyes/retrieve-alert-details/) documentation for a list of possible values - -## 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) - - diff --git a/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointAgentLabelsSelectorConfig.md b/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointAgentLabelsSelectorConfig.md index 2986a40d..3c6a44ae 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointAgentLabelsSelectorConfig.md +++ b/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointAgentLabelsSelectorConfig.md @@ -7,7 +7,7 @@ Agent labels selection object. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **agent_selector_type** | **str** | | -**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] +**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] [default to 25] **endpoint_agent_labels** | **List[str]** | List of endpoint agent label IDs (obtained from `/endpoint/labels` endpoint), required when `agentSelectorType` is set to `agent-labels`. | [optional] ## Example diff --git a/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointAgentSelectorConfig.md b/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointAgentSelectorConfig.md index e861a915..35130743 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointAgentSelectorConfig.md +++ b/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointAgentSelectorConfig.md @@ -7,7 +7,7 @@ Agents selection object based on agentSelectorType. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **agent_selector_type** | **str** | | -**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] +**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] [default to 25] **endpoint_agent_labels** | **List[str]** | List of endpoint agent label IDs (obtained from `/endpoint/labels` endpoint), required when `agentSelectorType` is set to `agent-labels`. | [optional] **agents** | **List[str]** | List of endpoint agent IDs (obtained from `/endpoint/agents` endpoint). Required when `agentSelectorType` is set to `specific-agent`. | [optional] diff --git a/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointAgentToServerInstantTest.md b/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointAgentToServerInstantTest.md index f68e9f29..f8f29bb7 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointAgentToServerInstantTest.md +++ b/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointAgentToServerInstantTest.md @@ -5,15 +5,13 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**agent_selector_type** | [**EndpointTestAgentSelectorType**](EndpointTestAgentSelectorType.md) | | +**agent_selector_type** | [**EndpointTestAgentSelectorType**](EndpointTestAgentSelectorType.md) | | [optional] **agents** | **List[str]** | List of endpoint agent IDs (obtained from `/endpoint/agents` endpoint). Required when `agentSelectorType` is set to `specific-agent`. | [optional] -**has_ping** | **bool** | Optional flag indicating if the test should run ping. | [optional] [default to True] -**has_traceroute** | **bool** | Optional flag indicating if the test should run traceroute. | [optional] [default to True] **endpoint_agent_labels** | **List[str]** | List of endpoint agent label IDs (obtained from `/endpoint/labels` endpoint), required when `agentSelectorType` is set to `agent-labels`. | [optional] -**max_machines** | **int** | Maximum number of agents which can execute the test. | -**port** | **int** | Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443). | [optional] +**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] [default to 25] **test_name** | **str** | Name of the test. | **server_name** | **str** | A server address without a protocol or IP address. | +**port** | **int** | Port number. | [optional] [default to 443] ## Example diff --git a/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointAgentToServerTest.md b/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointAgentToServerTest.md index 427a02dd..724d37ab 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointAgentToServerTest.md +++ b/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointAgentToServerTest.md @@ -15,14 +15,13 @@ Name | Type | Description | Notes **has_path_trace_in_session** | **bool** | Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session. | [optional] **modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] -**port** | **int** | Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443). | [optional] **protocol** | [**EndpointTestProtocol**](EndpointTestProtocol.md) | | [optional] **server** | **str** | Target domain name or IP address. | [optional] **test_id** | **str** | Each test is assigned a unique ID to access test data from other endpoints. | [optional] [readonly] **test_name** | **str** | Name of the test. | [optional] **type** | **str** | Type of test being queried. | [readonly] **tcp_probe_mode** | [**TestProbeModeResponse**](TestProbeModeResponse.md) | | [optional] -**alert_rules** | [**List[AlertRule]**](AlertRule.md) | Contains list of enabled alert rule objects. | [optional] +**port** | **int** | Port number. | [optional] [default to 443] **labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointAllAgentsSelectorConfig.md b/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointAllAgentsSelectorConfig.md index bbdfc76b..40c21bdf 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointAllAgentsSelectorConfig.md +++ b/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointAllAgentsSelectorConfig.md @@ -7,7 +7,7 @@ Any agent selection object. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **agent_selector_type** | **str** | | -**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] +**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] [default to 25] ## Example diff --git a/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointHttpServerBaseTest.md b/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointHttpServerBaseTest.md index e8966941..ae15d68c 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointHttpServerBaseTest.md +++ b/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointHttpServerBaseTest.md @@ -7,13 +7,13 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **auth_type** | [**EndpointTestAuthType**](EndpointTestAuthType.md) | | [optional] **has_path_trace_in_session** | **bool** | Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session. | [optional] -**http_time_limit** | **int** | Maximum amount of time in milliseconds the agents wait before a request times out. | [optional] +**http_time_limit** | **int** | Maximum amount of time in milliseconds the agents wait before a request times out. | [optional] [default to 5000] **protocol** | [**EndpointTestProtocol**](EndpointTestProtocol.md) | | [optional] -**url** | **str** | Test target URL. Optionally, you can specify a protocol (http or https). If no protocol is provided, the default `https` protocol is used. | [optional] **username** | **str** | Username for Basic/NTLM authentication. | [optional] **ssl_version_id** | [**TestSslVersionId**](TestSslVersionId.md) | | [optional] **tcp_probe_mode** | [**TestProbeModeResponse**](TestProbeModeResponse.md) | | [optional] -**verify_certificate** | **bool** | Flag indicating if a certificate should be verified. | [optional] +**verify_certificate** | **bool** | Flag indicating if a certificate should be verified. | [optional] [default to True] +**url** | **str** | The test target URL. | [optional] ## Example diff --git a/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointHttpServerInstantTest.md b/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointHttpServerInstantTest.md index 00af736e..cc4b1cc1 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointHttpServerInstantTest.md +++ b/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointHttpServerInstantTest.md @@ -5,24 +5,24 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**agent_selector_type** | [**EndpointTestAgentSelectorType**](EndpointTestAgentSelectorType.md) | | +**agent_selector_type** | [**EndpointTestAgentSelectorType**](EndpointTestAgentSelectorType.md) | | [optional] **agents** | **List[str]** | List of endpoint agent IDs (obtained from `/endpoint/agents` endpoint). Required when `agentSelectorType` is set to `specific-agent`. | [optional] -**has_ping** | **bool** | Optional flag indicating if the test should run ping. | [optional] [default to True] -**has_traceroute** | **bool** | Optional flag indicating if the test should run traceroute. | [optional] [default to True] **endpoint_agent_labels** | **List[str]** | List of endpoint agent label IDs (obtained from `/endpoint/labels` endpoint), required when `agentSelectorType` is set to `agent-labels`. | [optional] -**max_machines** | **int** | Maximum number of agents which can execute the test. | -**port** | **int** | Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443). | [optional] +**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] [default to 25] **test_name** | **str** | Name of the test. | **auth_type** | [**EndpointTestAuthType**](EndpointTestAuthType.md) | | [optional] **has_path_trace_in_session** | **bool** | Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session. | [optional] -**http_time_limit** | **int** | Maximum amount of time in milliseconds the agents wait before a request times out. | +**http_time_limit** | **int** | Maximum amount of time in milliseconds the agents wait before a request times out. | [optional] [default to 5000] **protocol** | [**EndpointTestProtocol**](EndpointTestProtocol.md) | | [optional] -**url** | **str** | Test target URL. Optionally, you can specify a protocol (http or https). If no protocol is provided, the default `https` protocol is used. | **username** | **str** | Username for Basic/NTLM authentication. | [optional] -**ssl_version_id** | [**TestSslVersionId**](TestSslVersionId.md) | | +**ssl_version_id** | [**TestSslVersionId**](TestSslVersionId.md) | | [optional] **tcp_probe_mode** | [**TestProbeModeResponse**](TestProbeModeResponse.md) | | [optional] -**verify_certificate** | **bool** | Flag indicating if a certificate should be verified. | -**target_response_time** | **int** | Response time target in milliseconds. Affects the colors of agents and legends on the view page. The value is compared with actual response time in order to determine the color scale (from green to red). | +**verify_certificate** | **bool** | Flag indicating if a certificate should be verified. | [optional] [default to True] +**url** | **str** | The test target URL. You can optionally specify the protocol (`http` or `https`). - **Default Protocol:** If no protocol is specified, `https` is used by default. - **Port Number:** To specify a port, append it to the URL with a colon after the hostname or IP address (e.g., `https://example.com:443`). - If no port is specified in the URL, the `port` is determined by the default for protocol (HTTP: 80, HTTPS: 443). | +**has_ping** | **bool** | Optional flag indicating if the test should run ping. | [optional] [default to True] +**has_traceroute** | **bool** | Optional flag indicating if the test should run traceroute. | [optional] [default to True] +**network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] +**target_response_time** | **int** | Response time target in milliseconds. Affects the colors of agents and legends on the view page. The value is compared with actual response time in order to determine the color scale (from green to red). | [optional] [default to 1000] **password** | **str** | Password for Basic/NTLM authentication. | [optional] ## Example diff --git a/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointHttpServerTest.md b/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointHttpServerTest.md index 0a870222..ef3a3c70 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointHttpServerTest.md +++ b/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointHttpServerTest.md @@ -15,28 +15,24 @@ Name | Type | Description | Notes **has_path_trace_in_session** | **bool** | Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session. | [optional] **modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] -**port** | **int** | Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443). | [optional] **protocol** | [**EndpointTestProtocol**](EndpointTestProtocol.md) | | [optional] **server** | **str** | Target domain name or IP address. | [optional] **test_id** | **str** | Each test is assigned a unique ID to access test data from other endpoints. | [optional] [readonly] **test_name** | **str** | Name of the test. | [optional] **type** | **str** | Type of test being queried. | [readonly] **tcp_probe_mode** | [**TestProbeModeResponse**](TestProbeModeResponse.md) | | [optional] -**alert_rules** | [**List[AlertRule]**](AlertRule.md) | Contains list of enabled alert rule objects. | [optional] +**port** | **int** | Port number. | [optional] [default to 443] **auth_type** | [**EndpointTestAuthType**](EndpointTestAuthType.md) | | [optional] -**http_time_limit** | **int** | Maximum amount of time in milliseconds the agents wait before a request times out. | [optional] -**url** | **str** | Test target URL. Optionally, you can specify a protocol (http or https). If no protocol is provided, the default `https` protocol is used. | [optional] +**http_time_limit** | **int** | Maximum amount of time in milliseconds the agents wait before a request times out. | [optional] [default to 5000] **username** | **str** | Username for Basic/NTLM authentication. | [optional] **ssl_version_id** | [**TestSslVersionId**](TestSslVersionId.md) | | [optional] -**verify_certificate** | **bool** | Flag indicating if a certificate should be verified. | [optional] -**content_regex** | **str** | Content regex, this field does not require escaping. | [optional] +**verify_certificate** | **bool** | Flag indicating if a certificate should be verified. | [optional] [default to True] +**url** | **str** | The test target URL. | [optional] **follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] **http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] **http_version** | **int** | HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1. | [optional] [default to 2] -**post_body** | **str** | Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST. | [optional] **ssl_version** | **str** | Reflects the verbose SSL protocol version used by a test. | [optional] [readonly] **use_ntlm** | **bool** | Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set. | [optional] -**user_agent** | **str** | User-agent string to be provided during the test. | [optional] **labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointInstantTest.md b/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointInstantTest.md index 4f1f0e27..151d3a2b 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointInstantTest.md +++ b/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointInstantTest.md @@ -5,13 +5,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**agent_selector_type** | [**EndpointTestAgentSelectorType**](EndpointTestAgentSelectorType.md) | | +**agent_selector_type** | [**EndpointTestAgentSelectorType**](EndpointTestAgentSelectorType.md) | | [optional] **agents** | **List[str]** | List of endpoint agent IDs (obtained from `/endpoint/agents` endpoint). Required when `agentSelectorType` is set to `specific-agent`. | [optional] -**has_ping** | **bool** | Optional flag indicating if the test should run ping. | [optional] [default to True] -**has_traceroute** | **bool** | Optional flag indicating if the test should run traceroute. | [optional] [default to True] **endpoint_agent_labels** | **List[str]** | List of endpoint agent label IDs (obtained from `/endpoint/labels` endpoint), required when `agentSelectorType` is set to `agent-labels`. | [optional] -**max_machines** | **int** | Maximum number of agents which can execute the test. | -**port** | **int** | Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443). | [optional] +**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] [default to 25] **test_name** | **str** | Name of the test. | ## Example diff --git a/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointRunScheduledInstantTestResult.md b/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointRunScheduledInstantTestResult.md new file mode 100644 index 00000000..112a95e7 --- /dev/null +++ b/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointRunScheduledInstantTestResult.md @@ -0,0 +1,29 @@ +# EndpointRunScheduledInstantTestResult + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**message** | **str** | | [optional] + +## Example + +```python +from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_run_scheduled_instant_test_result import EndpointRunScheduledInstantTestResult + +# TODO update the JSON string below +json = "{}" +# create an instance of EndpointRunScheduledInstantTestResult from a JSON string +endpoint_run_scheduled_instant_test_result_instance = EndpointRunScheduledInstantTestResult.from_json(json) +# print the JSON string representation of the object +print(EndpointRunScheduledInstantTestResult.to_json()) + +# convert the object into a dict +endpoint_run_scheduled_instant_test_result_dict = endpoint_run_scheduled_instant_test_result_instance.to_dict() +# create an instance of EndpointRunScheduledInstantTestResult from a dict +endpoint_run_scheduled_instant_test_result_from_dict = EndpointRunScheduledInstantTestResult.from_dict(endpoint_run_scheduled_instant_test_result_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) + + diff --git a/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointSpecificAgentsSelectorConfig.md b/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointSpecificAgentsSelectorConfig.md index 674205b6..ea1e47f5 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointSpecificAgentsSelectorConfig.md +++ b/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointSpecificAgentsSelectorConfig.md @@ -7,7 +7,7 @@ Specific agents selection object. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **agent_selector_type** | **str** | | -**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] +**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] [default to 25] **agents** | **List[str]** | List of endpoint agent IDs (obtained from `/endpoint/agents` endpoint). Required when `agentSelectorType` is set to `specific-agent`. | [optional] ## Example diff --git a/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointTest.md b/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointTest.md index 7e6ebd60..18020bba 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointTest.md +++ b/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointTest.md @@ -15,14 +15,13 @@ Name | Type | Description | Notes **has_path_trace_in_session** | **bool** | Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session. | [optional] **modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] -**port** | **int** | Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443). | [optional] **protocol** | [**EndpointTestProtocol**](EndpointTestProtocol.md) | | [optional] **server** | **str** | Target domain name or IP address. | [optional] **test_id** | **str** | Each test is assigned a unique ID to access test data from other endpoints. | [optional] [readonly] **test_name** | **str** | Name of the test. | [optional] **type** | [**EndpointScheduledTestType**](EndpointScheduledTestType.md) | | **tcp_probe_mode** | [**TestProbeModeResponse**](TestProbeModeResponse.md) | | [optional] -**alert_rules** | [**List[AlertRule]**](AlertRule.md) | Contains list of enabled alert rule objects. | [optional] +**port** | **int** | Port number. | [optional] [default to 443] ## Example diff --git a/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointTestProtocol.md b/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointTestProtocol.md index 8459ae85..f6a1eb9e 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointTestProtocol.md +++ b/thousandeyes-sdk-endpoint-instant-tests/docs/EndpointTestProtocol.md @@ -1,6 +1,6 @@ # EndpointTestProtocol -Protocol used to perform the test. +Protocol requested for the test. ## Properties diff --git a/thousandeyes-sdk-endpoint-instant-tests/docs/HttpServerInstantScheduledTestApi.md b/thousandeyes-sdk-endpoint-instant-tests/docs/HTTPServerEndpointInstantScheduledTestsApi.md similarity index 82% rename from thousandeyes-sdk-endpoint-instant-tests/docs/HttpServerInstantScheduledTestApi.md rename to thousandeyes-sdk-endpoint-instant-tests/docs/HTTPServerEndpointInstantScheduledTestsApi.md index 2ae207af..37c69a0c 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/docs/HttpServerInstantScheduledTestApi.md +++ b/thousandeyes-sdk-endpoint-instant-tests/docs/HTTPServerEndpointInstantScheduledTestsApi.md @@ -1,10 +1,10 @@ -# thousandeyes_sdk.endpoint_instant_tests.HttpServerInstantScheduledTestApi +# thousandeyes_sdk.endpoint_instant_tests.HTTPServerEndpointInstantScheduledTestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_http_server_scheduled_instant_test**](HttpServerInstantScheduledTestApi.md#create_http_server_scheduled_instant_test) | **POST** /v7/endpoint/tests/scheduled-tests/http-server/instant | Run http server instant scheduled test +[**create_http_server_scheduled_instant_test**](HTTPServerEndpointInstantScheduledTestsApi.md#create_http_server_scheduled_instant_test) | **POST** /endpoint/tests/scheduled-tests/http-server/instant | Run http server instant scheduled test # **create_http_server_scheduled_instant_test** @@ -25,10 +25,10 @@ from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_http_server_test im from thousandeyes_sdk.endpoint_instant_tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -44,17 +44,17 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_instant_tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_instant_tests.HttpServerInstantScheduledTestApi(api_client) + api_instance = thousandeyes_sdk.endpoint_instant_tests.HTTPServerEndpointInstantScheduledTestsApi(api_client) endpoint_http_server_instant_test = thousandeyes_sdk.endpoint_instant_tests.EndpointHttpServerInstantTest() # EndpointHttpServerInstantTest | 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: # Run http server instant scheduled test api_response = api_instance.create_http_server_scheduled_instant_test(endpoint_http_server_instant_test, aid=aid) - print("The response of HttpServerInstantScheduledTestApi->create_http_server_scheduled_instant_test:\n") + print("The response of HTTPServerEndpointInstantScheduledTestsApi->create_http_server_scheduled_instant_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling HttpServerInstantScheduledTestApi->create_http_server_scheduled_instant_test: %s\n" % e) + print("Exception when calling HTTPServerEndpointInstantScheduledTestsApi->create_http_server_scheduled_instant_test: %s\n" % e) ``` diff --git a/thousandeyes-sdk-endpoint-instant-tests/docs/RunExistingTestApi.md b/thousandeyes-sdk-endpoint-instant-tests/docs/RunEndpointInstantScheduledTestsApi.md similarity index 81% rename from thousandeyes-sdk-endpoint-instant-tests/docs/RunExistingTestApi.md rename to thousandeyes-sdk-endpoint-instant-tests/docs/RunEndpointInstantScheduledTestsApi.md index b8886221..e63f3cdc 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/docs/RunExistingTestApi.md +++ b/thousandeyes-sdk-endpoint-instant-tests/docs/RunEndpointInstantScheduledTestsApi.md @@ -1,10 +1,10 @@ -# thousandeyes_sdk.endpoint_instant_tests.RunExistingTestApi +# thousandeyes_sdk.endpoint_instant_tests.RunEndpointInstantScheduledTestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**run_endpoint_scheduled_instant_test**](RunExistingTestApi.md#run_endpoint_scheduled_instant_test) | **POST** /v7/endpoint/tests/scheduled-tests/{testId}/run | Run endpoint instant scheduled test +[**run_endpoint_scheduled_instant_test**](RunEndpointInstantScheduledTestsApi.md#run_endpoint_scheduled_instant_test) | **POST** /endpoint/tests/scheduled-tests/{testId}/run | Run endpoint instant scheduled test # **run_endpoint_scheduled_instant_test** @@ -23,10 +23,10 @@ import thousandeyes_sdk.endpoint_instant_tests from thousandeyes_sdk.endpoint_instant_tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -42,7 +42,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_instant_tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_instant_tests.RunExistingTestApi(api_client) + api_instance = thousandeyes_sdk.endpoint_instant_tests.RunEndpointInstantScheduledTestsApi(api_client) test_id = '765231567' # str | ID of the endpoint instant scheduled test to rerun 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) @@ -50,7 +50,7 @@ with thousandeyes_sdk.endpoint_instant_tests.ApiClient(configuration) as api_cli # Run endpoint instant scheduled test api_instance.run_endpoint_scheduled_instant_test(test_id, aid=aid) except Exception as e: - print("Exception when calling RunExistingTestApi->run_endpoint_scheduled_instant_test: %s\n" % e) + print("Exception when calling RunEndpointInstantScheduledTestsApi->run_endpoint_scheduled_instant_test: %s\n" % e) ``` @@ -80,7 +80,8 @@ void (empty response body) | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | OK | - | +**200** | Successfully reran the instant scheduled test. | - | +**400** | Bad Request | - | **401** | Unauthorized | - | **403** | Insufficient permissions to query endpoint | - | **404** | Not found | - | diff --git a/thousandeyes-sdk-endpoint-instant-tests/pyproject.toml b/thousandeyes-sdk-endpoint-instant-tests/pyproject.toml index 9ee11012..17cce6de 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/pyproject.toml +++ b/thousandeyes-sdk-endpoint-instant-tests/pyproject.toml @@ -9,9 +9,9 @@ description = "ThousandEyes SDK Endpoint Instant Scheduled Tests API" license = { file = "LICENSE" } requires-python = ">= 3.8" dependencies = [ - "urllib3 >= 1.25.3", + "urllib3 >= 2.0.0", "python-dateutil >=2.8.2", - "pydantic >=2", + "pydantic >=2.1.0", "typing-extensions >=4.7.1", "thousandeyes-sdk-core", ] diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/__init__.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/__init__.py index fbb6ae83..bd904312 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/__init__.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/__init__.py @@ -7,7 +7,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -15,16 +14,12 @@ # import apis into sdk package -from thousandeyes_sdk.endpoint_instant_tests.api.agent_to_server_instant_scheduled_test_api import AgentToServerInstantScheduledTestApi -from thousandeyes_sdk.endpoint_instant_tests.api.http_server_instant_scheduled_test_api import HttpServerInstantScheduledTestApi -from thousandeyes_sdk.endpoint_instant_tests.api.run_existing_test_api import RunExistingTestApi +from thousandeyes_sdk.endpoint_instant_tests.api.agent_to_server_endpoint_instant_scheduled_tests_api import AgentToServerEndpointInstantScheduledTestsApi +from thousandeyes_sdk.endpoint_instant_tests.api.http_server_endpoint_instant_scheduled_tests_api import HTTPServerEndpointInstantScheduledTestsApi +from thousandeyes_sdk.endpoint_instant_tests.api.run_endpoint_instant_scheduled_tests_api import RunEndpointInstantScheduledTestsApi # import models into sdk package -from thousandeyes_sdk.endpoint_instant_tests.models.alert_direction import AlertDirection -from thousandeyes_sdk.endpoint_instant_tests.models.alert_rounds_violation_mode import AlertRoundsViolationMode -from thousandeyes_sdk.endpoint_instant_tests.models.alert_rule import AlertRule -from thousandeyes_sdk.endpoint_instant_tests.models.alert_type import AlertType from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_agent_labels_selector_config import EndpointAgentLabelsSelectorConfig from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_agent_selector_config import EndpointAgentSelectorConfig from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_agent_to_server_instant_test import EndpointAgentToServerInstantTest @@ -34,6 +29,7 @@ from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_http_server_base_te from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_http_server_instant_test import EndpointHttpServerInstantTest from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_http_server_test import EndpointHttpServerTest from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_instant_test import EndpointInstantTest +from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_run_scheduled_instant_test_result import EndpointRunScheduledInstantTestResult from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_scheduled_test_type import EndpointScheduledTestType from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_specific_agents_selector_config import EndpointSpecificAgentsSelectorConfig from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_test import EndpointTest @@ -44,7 +40,6 @@ from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_test_protocol impor from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_test_self_link import EndpointTestSelfLink from thousandeyes_sdk.endpoint_instant_tests.models.error import Error from thousandeyes_sdk.endpoint_instant_tests.models.link import Link -from thousandeyes_sdk.endpoint_instant_tests.models.severity import Severity from thousandeyes_sdk.endpoint_instant_tests.models.test_interval import TestInterval from thousandeyes_sdk.endpoint_instant_tests.models.test_label import TestLabel from thousandeyes_sdk.endpoint_instant_tests.models.test_probe_mode_response import TestProbeModeResponse diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/__init__.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/__init__.py index 213c9ff5..02ab98ca 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/__init__.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/__init__.py @@ -1,7 +1,7 @@ # flake8: noqa # import apis into api package -from thousandeyes_sdk.endpoint_instant_tests.api.agent_to_server_instant_scheduled_test_api import AgentToServerInstantScheduledTestApi -from thousandeyes_sdk.endpoint_instant_tests.api.http_server_instant_scheduled_test_api import HttpServerInstantScheduledTestApi -from thousandeyes_sdk.endpoint_instant_tests.api.run_existing_test_api import RunExistingTestApi +from thousandeyes_sdk.endpoint_instant_tests.api.agent_to_server_endpoint_instant_scheduled_tests_api import AgentToServerEndpointInstantScheduledTestsApi +from thousandeyes_sdk.endpoint_instant_tests.api.http_server_endpoint_instant_scheduled_tests_api import HTTPServerEndpointInstantScheduledTestsApi +from thousandeyes_sdk.endpoint_instant_tests.api.run_endpoint_instant_scheduled_tests_api import RunEndpointInstantScheduledTestsApi diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/agent_to_server_instant_scheduled_test_api.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/agent_to_server_endpoint_instant_scheduled_tests_api.py similarity index 98% rename from thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/agent_to_server_instant_scheduled_test_api.py rename to thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/agent_to_server_endpoint_instant_scheduled_tests_api.py index 142bc39d..499485cd 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/agent_to_server_instant_scheduled_test_api.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/agent_to_server_endpoint_instant_scheduled_tests_api.py @@ -5,7 +5,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -30,7 +29,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class AgentToServerInstantScheduledTestApi: +class AgentToServerEndpointInstantScheduledTestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -338,7 +337,7 @@ class AgentToServerInstantScheduledTestApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/endpoint/tests/scheduled-tests/agent-to-server/instant', + resource_path='/endpoint/tests/scheduled-tests/agent-to-server/instant', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/http_server_instant_scheduled_test_api.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/http_server_endpoint_instant_scheduled_tests_api.py similarity index 98% rename from thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/http_server_instant_scheduled_test_api.py rename to thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/http_server_endpoint_instant_scheduled_tests_api.py index d470b73a..dbf314d4 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/http_server_instant_scheduled_test_api.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/http_server_endpoint_instant_scheduled_tests_api.py @@ -5,7 +5,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -30,7 +29,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class HttpServerInstantScheduledTestApi: +class HTTPServerEndpointInstantScheduledTestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -338,7 +337,7 @@ class HttpServerInstantScheduledTestApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/endpoint/tests/scheduled-tests/http-server/instant', + resource_path='/endpoint/tests/scheduled-tests/http-server/instant', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/run_existing_test_api.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/run_endpoint_instant_scheduled_tests_api.py similarity index 98% rename from thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/run_existing_test_api.py rename to thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/run_endpoint_instant_scheduled_tests_api.py index 475d52a2..31a9b57f 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/run_existing_test_api.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/api/run_endpoint_instant_scheduled_tests_api.py @@ -5,7 +5,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,7 +27,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class RunExistingTestApi: +class RunEndpointInstantScheduledTestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -101,6 +100,7 @@ class RunExistingTestApi: _response_types_map: Dict[str, Optional[str]] = { '200': None, + '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -179,6 +179,7 @@ class RunExistingTestApi: _response_types_map: Dict[str, Optional[str]] = { '200': None, + '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -257,6 +258,7 @@ class RunExistingTestApi: _response_types_map: Dict[str, Optional[str]] = { '200': None, + '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -322,7 +324,7 @@ class RunExistingTestApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/endpoint/tests/scheduled-tests/{testId}/run', + resource_path='/endpoint/tests/scheduled-tests/{testId}/run', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/__init__.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/__init__.py index 601f91e0..4c82d9e9 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/__init__.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/__init__.py @@ -6,7 +6,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -14,10 +13,6 @@ # import models into model package -from thousandeyes_sdk.endpoint_instant_tests.models.alert_direction import AlertDirection -from thousandeyes_sdk.endpoint_instant_tests.models.alert_rounds_violation_mode import AlertRoundsViolationMode -from thousandeyes_sdk.endpoint_instant_tests.models.alert_rule import AlertRule -from thousandeyes_sdk.endpoint_instant_tests.models.alert_type import AlertType from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_agent_labels_selector_config import EndpointAgentLabelsSelectorConfig from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_agent_selector_config import EndpointAgentSelectorConfig from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_agent_to_server_instant_test import EndpointAgentToServerInstantTest @@ -27,6 +22,7 @@ from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_http_server_base_te from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_http_server_instant_test import EndpointHttpServerInstantTest from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_http_server_test import EndpointHttpServerTest from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_instant_test import EndpointInstantTest +from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_run_scheduled_instant_test_result import EndpointRunScheduledInstantTestResult from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_scheduled_test_type import EndpointScheduledTestType from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_specific_agents_selector_config import EndpointSpecificAgentsSelectorConfig from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_test import EndpointTest @@ -37,7 +33,6 @@ from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_test_protocol impor from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_test_self_link import EndpointTestSelfLink from thousandeyes_sdk.endpoint_instant_tests.models.error import Error from thousandeyes_sdk.endpoint_instant_tests.models.link import Link -from thousandeyes_sdk.endpoint_instant_tests.models.severity import Severity from thousandeyes_sdk.endpoint_instant_tests.models.test_interval import TestInterval from thousandeyes_sdk.endpoint_instant_tests.models.test_label import TestLabel from thousandeyes_sdk.endpoint_instant_tests.models.test_probe_mode_response import TestProbeModeResponse diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/alert_direction.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/alert_direction.py deleted file mode 100644 index bda9e9e8..00000000 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/alert_direction.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding: utf-8 - -""" - Endpoint Instant Scheduled Tests API - - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - - The version of the OpenAPI document: 7.0.8 - 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 AlertDirection(str, Enum): - """ - Direction for applicable alert types (eg. path trace, End-to-End (Agent) etc.) - """ - - """ - allowed enum values - """ - TO_MINUS_TARGET = 'to-target' - FROM_MINUS_TARGET = 'from-target' - BIDIRECTIONAL = 'bidirectional' - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Create an instance of AlertDirection from a JSON string""" - return cls(json.loads(json_str)) - - diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/alert_rounds_violation_mode.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/alert_rounds_violation_mode.py deleted file mode 100644 index ce6cf636..00000000 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/alert_rounds_violation_mode.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding: utf-8 - -""" - Endpoint Instant Scheduled Tests API - - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - - The version of the OpenAPI document: 7.0.8 - 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 AlertRoundsViolationMode(str, Enum): - """ - `exact` requires that the same agent(s) meet the threshold in consecutive rounds; default is `any` - """ - - """ - allowed enum values - """ - EXACT = 'exact' - ANY = 'any' - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Create an instance of AlertRoundsViolationMode from a JSON string""" - return cls(json.loads(json_str)) - - diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/alert_rule.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/alert_rule.py deleted file mode 100644 index 677f26b6..00000000 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/alert_rule.py +++ /dev/null @@ -1,130 +0,0 @@ -# coding: utf-8 - -""" - Endpoint Instant Scheduled Tests API - - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - - The version of the OpenAPI document: 7.0.8 - 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, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.endpoint_instant_tests.models.alert_direction import AlertDirection -from thousandeyes_sdk.endpoint_instant_tests.models.alert_rounds_violation_mode import AlertRoundsViolationMode -from thousandeyes_sdk.endpoint_instant_tests.models.alert_type import AlertType -from thousandeyes_sdk.endpoint_instant_tests.models.severity import Severity -from typing import Optional, Set -from typing_extensions import Self - -class AlertRule(BaseModel): - """ - AlertRule - """ # noqa: E501 - rule_id: Optional[StrictStr] = Field(default=None, description="Unique ID of the rule", alias="ruleId") - rule_name: Optional[StrictStr] = Field(default=None, description="Name of the alert rule", alias="ruleName") - expression: Optional[StrictStr] = Field(default=None, description="String expression of alert rule") - direction: Optional[AlertDirection] = None - is_default: Optional[StrictBool] = Field(default=None, description="Alert rules allow up to 1 alert rule to be selected as a default for each type. By checking the default option, this alert rule will be automatically included on subsequently created tests that test a metric used in alerting here", alias="isDefault") - alert_type: Optional[AlertType] = Field(default=None, alias="alertType") - minimum_sources: Optional[StrictInt] = Field(default=None, description="The minimum number of agents or monitors that must meet the specified criteria in order to trigger the alert", alias="minimumSources") - minimum_sources_pct: Optional[StrictInt] = Field(default=None, description="the minimum percentage of all assigned agents or monitors that must meet the specified criteria in order to trigger the alert", alias="minimumSourcesPct") - rounds_violating_mode: Optional[AlertRoundsViolationMode] = Field(default=None, alias="roundsViolatingMode") - rounds_violating_out_of: Optional[StrictInt] = Field(default=None, description="Specifies the divisor (y value) for the “X of Y times” condition.", alias="roundsViolatingOutOf") - rounds_violating_required: Optional[StrictInt] = Field(default=None, description="Specifies the numerator (x value) for the “X of Y times” condition", alias="roundsViolatingRequired") - severity: Optional[Severity] = None - __properties: ClassVar[List[str]] = ["ruleId", "ruleName", "expression", "direction", "isDefault", "alertType", "minimumSources", "minimumSourcesPct", "roundsViolatingMode", "roundsViolatingOutOf", "roundsViolatingRequired", "severity"] - - 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 AlertRule 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([ - "rule_id", - "rule_name", - "expression", - "is_default", - "minimum_sources", - "minimum_sources_pct", - "rounds_violating_out_of", - "rounds_violating_required", - ]) - - _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 AlertRule from a dict""" - if obj is None: - return None - - if not isinstance(obj, dict): - return cls.model_validate(obj) - - _obj = cls.model_validate({ - "ruleId": obj.get("ruleId"), - "ruleName": obj.get("ruleName"), - "expression": obj.get("expression"), - "direction": obj.get("direction"), - "isDefault": obj.get("isDefault"), - "alertType": obj.get("alertType"), - "minimumSources": obj.get("minimumSources"), - "minimumSourcesPct": obj.get("minimumSourcesPct"), - "roundsViolatingMode": obj.get("roundsViolatingMode"), - "roundsViolatingOutOf": obj.get("roundsViolatingOutOf"), - "roundsViolatingRequired": obj.get("roundsViolatingRequired"), - "severity": obj.get("severity") - }) - return _obj - - diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/alert_type.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/alert_type.py deleted file mode 100644 index ba29fa57..00000000 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/alert_type.py +++ /dev/null @@ -1,62 +0,0 @@ -# coding: utf-8 - -""" - Endpoint Instant Scheduled Tests API - - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - - The version of the OpenAPI document: 7.0.8 - 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 AlertType(str, Enum): - """ - Type of alert being triggered. In multi-layered tests, this value represents the layer the alert relates to. See [Alert Details](https://developer.cisco.com/docs/thousandeyes/retrieve-alert-details/) documentation for a list of possible values - """ - - """ - allowed enum values - """ - PAGE_MINUS_LOAD = 'page-load' - HTTP_MINUS_SERVER = 'http-server' - END_MINUS_TO_MINUS_END_MINUS_SERVER = 'end-to-end-server' - END_MINUS_TO_MINUS_END_MINUS_AGENT = 'end-to-end-agent' - VOICE = 'voice' - DNS_MINUS_SERVER = 'dns-server' - DNS_MINUS_TRACE = 'dns-trace' - DNSSEC = 'dnssec' - BGP = 'bgp' - PATH_MINUS_TRACE = 'path-trace' - FTP = 'ftp' - SIP_MINUS_SERVER = 'sip-server' - TRANSACTIONS = 'transactions' - WEB_MINUS_TRANSACTIONS = 'web-transactions' - AGENT = 'agent' - NETWORK_MINUS_OUTAGE = 'network-outage' - APPLICATION_MINUS_OUTAGE = 'application-outage' - DEVICE_MINUS_DEVICE = 'device-device' - DEVICE_MINUS_INTERFACE = 'device-interface' - ENDPOINT_MINUS_NETWORK_MINUS_SERVER = 'endpoint-network-server' - ENDPOINT_MINUS_HTTP_MINUS_SERVER = 'endpoint-http-server' - ENDPOINT_MINUS_PATH_MINUS_TRACE = 'endpoint-path-trace' - ENDPOINT_MINUS_BROWSER_MINUS_SESSIONS_MINUS_AGENT = 'endpoint-browser-sessions-agent' - ENDPOINT_MINUS_BROWSER_MINUS_SESSIONS_MINUS_APPLICATION = 'endpoint-browser-sessions-application' - API = 'api' - WEB_MINUS_TRANSACTION = 'web-transaction' - UNKNOWN = 'unknown' - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Create an instance of AlertType from a JSON string""" - return cls(json.loads(json_str)) - - diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_labels_selector_config.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_labels_selector_config.py index 61705ff2..e5608463 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_labels_selector_config.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_labels_selector_config.py @@ -5,7 +5,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,7 +16,7 @@ import pprint import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated from typing import Optional, Set @@ -28,7 +27,7 @@ class EndpointAgentLabelsSelectorConfig(BaseModel): Agent labels selection object. """ # noqa: E501 agent_selector_type: Annotated[str, Field(strict=True)] = Field(alias="agentSelectorType") - max_machines: Optional[Annotated[int, Field(le=50000, strict=True, ge=1)]] = Field(default=None, description="Maximum number of agents which can execute the test.", alias="maxMachines") + max_machines: Optional[StrictInt] = Field(default=25, description="Maximum number of agents which can execute the test.", alias="maxMachines") endpoint_agent_labels: Optional[List[StrictStr]] = Field(default=None, description="List of endpoint agent label IDs (obtained from `/endpoint/labels` endpoint), required when `agentSelectorType` is set to `agent-labels`.", alias="endpointAgentLabels") __properties: ClassVar[List[str]] = ["agentSelectorType", "maxMachines", "endpointAgentLabels"] @@ -92,7 +91,7 @@ class EndpointAgentLabelsSelectorConfig(BaseModel): _obj = cls.model_validate({ "agentSelectorType": obj.get("agentSelectorType"), - "maxMachines": obj.get("maxMachines"), + "maxMachines": obj.get("maxMachines") if obj.get("maxMachines") is not None else 25, "endpointAgentLabels": obj.get("endpointAgentLabels") }) return _obj diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_selector_config.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_selector_config.py index f0d44189..441c73ec 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_selector_config.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_selector_config.py @@ -5,7 +5,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_to_server_instant_test.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_to_server_instant_test.py index d75b37f5..165ca65b 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_to_server_instant_test.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_to_server_instant_test.py @@ -5,7 +5,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,9 +16,8 @@ import pprint import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from typing_extensions import Annotated from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_test_agent_selector_type import EndpointTestAgentSelectorType from typing import Optional, Set from typing_extensions import Self @@ -28,16 +26,14 @@ class EndpointAgentToServerInstantTest(BaseModel): """ EndpointAgentToServerInstantTest """ # noqa: E501 - agent_selector_type: EndpointTestAgentSelectorType = Field(alias="agentSelectorType") + agent_selector_type: Optional[EndpointTestAgentSelectorType] = Field(default=None, alias="agentSelectorType") agents: Optional[List[StrictStr]] = Field(default=None, description="List of endpoint agent IDs (obtained from `/endpoint/agents` endpoint). Required when `agentSelectorType` is set to `specific-agent`.") - has_ping: Optional[StrictBool] = Field(default=True, description="Optional flag indicating if the test should run ping.", alias="hasPing") - has_traceroute: Optional[StrictBool] = Field(default=True, description="Optional flag indicating if the test should run traceroute.", alias="hasTraceroute") endpoint_agent_labels: Optional[List[StrictStr]] = Field(default=None, description="List of endpoint agent label IDs (obtained from `/endpoint/labels` endpoint), required when `agentSelectorType` is set to `agent-labels`.", alias="endpointAgentLabels") - max_machines: Annotated[int, Field(le=50000, strict=True, ge=1)] = Field(description="Maximum number of agents which can execute the test.", alias="maxMachines") - port: Optional[StrictInt] = Field(default=None, description="Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443).") + max_machines: Optional[StrictInt] = Field(default=25, description="Maximum number of agents which can execute the test.", alias="maxMachines") test_name: StrictStr = Field(description="Name of the test.", alias="testName") server_name: StrictStr = Field(description="A server address without a protocol or IP address.", alias="serverName") - __properties: ClassVar[List[str]] = ["agentSelectorType", "agents", "hasPing", "hasTraceroute", "endpointAgentLabels", "maxMachines", "port", "testName", "serverName"] + port: Optional[StrictInt] = Field(default=443, description="Port number.") + __properties: ClassVar[List[str]] = ["agentSelectorType", "agents", "endpointAgentLabels", "maxMachines", "testName", "serverName", "port"] model_config = ConfigDict( populate_by_name=True, @@ -93,13 +89,11 @@ class EndpointAgentToServerInstantTest(BaseModel): _obj = cls.model_validate({ "agentSelectorType": obj.get("agentSelectorType"), "agents": obj.get("agents"), - "hasPing": obj.get("hasPing") if obj.get("hasPing") is not None else True, - "hasTraceroute": obj.get("hasTraceroute") if obj.get("hasTraceroute") is not None else True, "endpointAgentLabels": obj.get("endpointAgentLabels"), - "maxMachines": obj.get("maxMachines"), - "port": obj.get("port"), + "maxMachines": obj.get("maxMachines") if obj.get("maxMachines") is not None else 25, "testName": obj.get("testName"), - "serverName": obj.get("serverName") + "serverName": obj.get("serverName"), + "port": obj.get("port") if obj.get("port") is not None else 443 }) return _obj diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_to_server_test.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_to_server_test.py index 5b927069..38f8cdbf 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_to_server_test.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_agent_to_server_test.py @@ -5,7 +5,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,7 +20,6 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr, field_validator from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.endpoint_instant_tests.models.alert_rule import AlertRule from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_agent_selector_config import EndpointAgentSelectorConfig from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_test_links import EndpointTestLinks from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_test_protocol import EndpointTestProtocol @@ -45,16 +43,15 @@ class EndpointAgentToServerTest(BaseModel): has_path_trace_in_session: Optional[StrictBool] = Field(default=None, description="Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session.", alias="hasPathTraceInSession") modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") - port: Optional[StrictInt] = Field(default=None, description="Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443).") protocol: Optional[EndpointTestProtocol] = None server: Optional[StrictStr] = Field(default=None, description="Target domain name or IP address.") test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned a unique ID to access test data from other endpoints.", alias="testId") test_name: Optional[StrictStr] = Field(default=None, description="Name of the test.", alias="testName") type: Annotated[str, Field(strict=True)] = Field(description="Type of test being queried.") tcp_probe_mode: Optional[TestProbeModeResponse] = Field(default=None, alias="tcpProbeMode") - alert_rules: Optional[List[AlertRule]] = Field(default=None, description="Contains list of enabled alert rule objects.", alias="alertRules") + port: Optional[StrictInt] = Field(default=443, description="Port number.") labels: Optional[List[TestLabel]] = None - __properties: ClassVar[List[str]] = ["aid", "_links", "agentSelectorConfig", "createdDate", "interval", "isEnabled", "isSavedEvent", "hasPathTraceInSession", "modifiedDate", "networkMeasurements", "port", "protocol", "server", "testId", "testName", "type", "tcpProbeMode", "alertRules", "labels"] + __properties: ClassVar[List[str]] = ["aid", "_links", "agentSelectorConfig", "createdDate", "interval", "isEnabled", "isSavedEvent", "hasPathTraceInSession", "modifiedDate", "networkMeasurements", "protocol", "server", "testId", "testName", "type", "tcpProbeMode", "port", "labels"] @field_validator('type') def type_validate_regular_expression(cls, value): @@ -121,13 +118,6 @@ class EndpointAgentToServerTest(BaseModel): # override the default output from pydantic by calling `to_dict()` of agent_selector_config if self.agent_selector_config: _dict['agentSelectorConfig'] = self.agent_selector_config.to_dict() - # override the default output from pydantic by calling `to_dict()` of each item in alert_rules (list) - _items = [] - if self.alert_rules: - for _item in self.alert_rules: - if _item: - _items.append(_item.to_dict()) - _dict['alertRules'] = _items # override the default output from pydantic by calling `to_dict()` of each item in labels (list) _items = [] if self.labels: @@ -157,14 +147,13 @@ class EndpointAgentToServerTest(BaseModel): "hasPathTraceInSession": obj.get("hasPathTraceInSession"), "modifiedDate": obj.get("modifiedDate"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, - "port": obj.get("port"), "protocol": obj.get("protocol"), "server": obj.get("server"), "testId": obj.get("testId"), "testName": obj.get("testName"), "type": obj.get("type"), "tcpProbeMode": obj.get("tcpProbeMode"), - "alertRules": [AlertRule.from_dict(_item) for _item in obj["alertRules"]] if obj.get("alertRules") is not None else None, + "port": obj.get("port") if obj.get("port") is not None else 443, "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None }) return _obj diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_all_agents_selector_config.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_all_agents_selector_config.py index 1a28d935..b731e223 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_all_agents_selector_config.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_all_agents_selector_config.py @@ -5,7 +5,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,7 +16,7 @@ import pprint import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, field_validator +from pydantic import BaseModel, ConfigDict, Field, StrictInt, field_validator from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated from typing import Optional, Set @@ -28,7 +27,7 @@ class EndpointAllAgentsSelectorConfig(BaseModel): Any agent selection object. """ # noqa: E501 agent_selector_type: Annotated[str, Field(strict=True)] = Field(alias="agentSelectorType") - max_machines: Optional[Annotated[int, Field(le=50000, strict=True, ge=1)]] = Field(default=None, description="Maximum number of agents which can execute the test.", alias="maxMachines") + max_machines: Optional[StrictInt] = Field(default=25, description="Maximum number of agents which can execute the test.", alias="maxMachines") __properties: ClassVar[List[str]] = ["agentSelectorType", "maxMachines"] @field_validator('agent_selector_type') @@ -91,7 +90,7 @@ class EndpointAllAgentsSelectorConfig(BaseModel): _obj = cls.model_validate({ "agentSelectorType": obj.get("agentSelectorType"), - "maxMachines": obj.get("maxMachines") + "maxMachines": obj.get("maxMachines") if obj.get("maxMachines") is not None else 25 }) return _obj diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_http_server_base_test.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_http_server_base_test.py index 21316f0d..2cac50ba 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_http_server_base_test.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_http_server_base_test.py @@ -5,7 +5,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -32,14 +31,14 @@ class EndpointHttpServerBaseTest(BaseModel): """ # noqa: E501 auth_type: Optional[EndpointTestAuthType] = Field(default=None, alias="authType") has_path_trace_in_session: Optional[StrictBool] = Field(default=None, description="Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session.", alias="hasPathTraceInSession") - http_time_limit: Optional[StrictInt] = Field(default=None, description="Maximum amount of time in milliseconds the agents wait before a request times out.", alias="httpTimeLimit") + http_time_limit: Optional[StrictInt] = Field(default=5000, description="Maximum amount of time in milliseconds the agents wait before a request times out.", alias="httpTimeLimit") protocol: Optional[EndpointTestProtocol] = None - url: Optional[StrictStr] = Field(default=None, description="Test target URL. Optionally, you can specify a protocol (http or https). If no protocol is provided, the default `https` protocol is used.") username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") ssl_version_id: Optional[TestSslVersionId] = Field(default=None, alias="sslVersionId") tcp_probe_mode: Optional[TestProbeModeResponse] = Field(default=None, alias="tcpProbeMode") - verify_certificate: Optional[StrictBool] = Field(default=None, description="Flag indicating if a certificate should be verified.", alias="verifyCertificate") - __properties: ClassVar[List[str]] = ["authType", "hasPathTraceInSession", "httpTimeLimit", "protocol", "url", "username", "sslVersionId", "tcpProbeMode", "verifyCertificate"] + verify_certificate: Optional[StrictBool] = Field(default=True, description="Flag indicating if a certificate should be verified.", alias="verifyCertificate") + url: Optional[StrictStr] = Field(default=None, description="The test target URL.") + __properties: ClassVar[List[str]] = ["authType", "hasPathTraceInSession", "httpTimeLimit", "protocol", "username", "sslVersionId", "tcpProbeMode", "verifyCertificate", "url"] model_config = ConfigDict( populate_by_name=True, @@ -95,13 +94,13 @@ class EndpointHttpServerBaseTest(BaseModel): _obj = cls.model_validate({ "authType": obj.get("authType"), "hasPathTraceInSession": obj.get("hasPathTraceInSession"), - "httpTimeLimit": obj.get("httpTimeLimit"), + "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5000, "protocol": obj.get("protocol"), - "url": obj.get("url"), "username": obj.get("username"), "sslVersionId": obj.get("sslVersionId"), "tcpProbeMode": obj.get("tcpProbeMode"), - "verifyCertificate": obj.get("verifyCertificate") + "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else True, + "url": obj.get("url") }) return _obj diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_http_server_instant_test.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_http_server_instant_test.py index f711a28a..233c096d 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_http_server_instant_test.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_http_server_instant_test.py @@ -5,7 +5,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -19,7 +18,6 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from typing_extensions import Annotated from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_test_agent_selector_type import EndpointTestAgentSelectorType from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_test_auth_type import EndpointTestAuthType from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_test_protocol import EndpointTestProtocol @@ -32,26 +30,26 @@ class EndpointHttpServerInstantTest(BaseModel): """ EndpointHttpServerInstantTest """ # noqa: E501 - agent_selector_type: EndpointTestAgentSelectorType = Field(alias="agentSelectorType") + agent_selector_type: Optional[EndpointTestAgentSelectorType] = Field(default=None, alias="agentSelectorType") agents: Optional[List[StrictStr]] = Field(default=None, description="List of endpoint agent IDs (obtained from `/endpoint/agents` endpoint). Required when `agentSelectorType` is set to `specific-agent`.") - has_ping: Optional[StrictBool] = Field(default=True, description="Optional flag indicating if the test should run ping.", alias="hasPing") - has_traceroute: Optional[StrictBool] = Field(default=True, description="Optional flag indicating if the test should run traceroute.", alias="hasTraceroute") endpoint_agent_labels: Optional[List[StrictStr]] = Field(default=None, description="List of endpoint agent label IDs (obtained from `/endpoint/labels` endpoint), required when `agentSelectorType` is set to `agent-labels`.", alias="endpointAgentLabels") - max_machines: Annotated[int, Field(le=50000, strict=True, ge=1)] = Field(description="Maximum number of agents which can execute the test.", alias="maxMachines") - port: Optional[StrictInt] = Field(default=None, description="Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443).") + max_machines: Optional[StrictInt] = Field(default=25, description="Maximum number of agents which can execute the test.", alias="maxMachines") test_name: StrictStr = Field(description="Name of the test.", alias="testName") auth_type: Optional[EndpointTestAuthType] = Field(default=None, alias="authType") has_path_trace_in_session: Optional[StrictBool] = Field(default=None, description="Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session.", alias="hasPathTraceInSession") - http_time_limit: StrictInt = Field(description="Maximum amount of time in milliseconds the agents wait before a request times out.", alias="httpTimeLimit") + http_time_limit: Optional[StrictInt] = Field(default=5000, description="Maximum amount of time in milliseconds the agents wait before a request times out.", alias="httpTimeLimit") protocol: Optional[EndpointTestProtocol] = None - url: StrictStr = Field(description="Test target URL. Optionally, you can specify a protocol (http or https). If no protocol is provided, the default `https` protocol is used.") username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") - ssl_version_id: TestSslVersionId = Field(alias="sslVersionId") + ssl_version_id: Optional[TestSslVersionId] = Field(default=None, alias="sslVersionId") tcp_probe_mode: Optional[TestProbeModeResponse] = Field(default=None, alias="tcpProbeMode") - verify_certificate: StrictBool = Field(description="Flag indicating if a certificate should be verified.", alias="verifyCertificate") - target_response_time: StrictInt = Field(description="Response time target in milliseconds. Affects the colors of agents and legends on the view page. The value is compared with actual response time in order to determine the color scale (from green to red).", alias="targetResponseTime") + verify_certificate: Optional[StrictBool] = Field(default=True, description="Flag indicating if a certificate should be verified.", alias="verifyCertificate") + url: StrictStr = Field(description="The test target URL. You can optionally specify the protocol (`http` or `https`). - **Default Protocol:** If no protocol is specified, `https` is used by default. - **Port Number:** To specify a port, append it to the URL with a colon after the hostname or IP address (e.g., `https://example.com:443`). - If no port is specified in the URL, the `port` is determined by the default for protocol (HTTP: 80, HTTPS: 443). ") + has_ping: Optional[StrictBool] = Field(default=True, description="Optional flag indicating if the test should run ping.", alias="hasPing") + has_traceroute: Optional[StrictBool] = Field(default=True, description="Optional flag indicating if the test should run traceroute.", alias="hasTraceroute") + network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") + target_response_time: Optional[StrictInt] = Field(default=1000, description="Response time target in milliseconds. Affects the colors of agents and legends on the view page. The value is compared with actual response time in order to determine the color scale (from green to red).", alias="targetResponseTime") password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") - __properties: ClassVar[List[str]] = ["agentSelectorType", "agents", "hasPing", "hasTraceroute", "endpointAgentLabels", "maxMachines", "port", "testName", "authType", "hasPathTraceInSession", "httpTimeLimit", "protocol", "url", "username", "sslVersionId", "tcpProbeMode", "verifyCertificate", "targetResponseTime", "password"] + __properties: ClassVar[List[str]] = ["agentSelectorType", "agents", "endpointAgentLabels", "maxMachines", "testName", "authType", "hasPathTraceInSession", "httpTimeLimit", "protocol", "username", "sslVersionId", "tcpProbeMode", "verifyCertificate", "url", "hasPing", "hasTraceroute", "networkMeasurements", "targetResponseTime", "password"] model_config = ConfigDict( populate_by_name=True, @@ -107,22 +105,22 @@ class EndpointHttpServerInstantTest(BaseModel): _obj = cls.model_validate({ "agentSelectorType": obj.get("agentSelectorType"), "agents": obj.get("agents"), - "hasPing": obj.get("hasPing") if obj.get("hasPing") is not None else True, - "hasTraceroute": obj.get("hasTraceroute") if obj.get("hasTraceroute") is not None else True, "endpointAgentLabels": obj.get("endpointAgentLabels"), - "maxMachines": obj.get("maxMachines"), - "port": obj.get("port"), + "maxMachines": obj.get("maxMachines") if obj.get("maxMachines") is not None else 25, "testName": obj.get("testName"), "authType": obj.get("authType"), "hasPathTraceInSession": obj.get("hasPathTraceInSession"), - "httpTimeLimit": obj.get("httpTimeLimit"), + "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5000, "protocol": obj.get("protocol"), - "url": obj.get("url"), "username": obj.get("username"), "sslVersionId": obj.get("sslVersionId"), "tcpProbeMode": obj.get("tcpProbeMode"), - "verifyCertificate": obj.get("verifyCertificate"), - "targetResponseTime": obj.get("targetResponseTime"), + "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else True, + "url": obj.get("url"), + "hasPing": obj.get("hasPing") if obj.get("hasPing") is not None else True, + "hasTraceroute": obj.get("hasTraceroute") if obj.get("hasTraceroute") is not None else True, + "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, + "targetResponseTime": obj.get("targetResponseTime") if obj.get("targetResponseTime") is not None else 1000, "password": obj.get("password") }) return _obj diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_http_server_test.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_http_server_test.py index 97569075..63447d72 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_http_server_test.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_http_server_test.py @@ -5,7 +5,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,7 +20,6 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr, field_validator from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.endpoint_instant_tests.models.alert_rule import AlertRule from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_agent_selector_config import EndpointAgentSelectorConfig from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_test_auth_type import EndpointTestAuthType from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_test_links import EndpointTestLinks @@ -47,30 +45,26 @@ class EndpointHttpServerTest(BaseModel): has_path_trace_in_session: Optional[StrictBool] = Field(default=None, description="Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session.", alias="hasPathTraceInSession") modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") - port: Optional[StrictInt] = Field(default=None, description="Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443).") protocol: Optional[EndpointTestProtocol] = None server: Optional[StrictStr] = Field(default=None, description="Target domain name or IP address.") test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned a unique ID to access test data from other endpoints.", alias="testId") test_name: Optional[StrictStr] = Field(default=None, description="Name of the test.", alias="testName") type: Annotated[str, Field(strict=True)] = Field(description="Type of test being queried.") tcp_probe_mode: Optional[TestProbeModeResponse] = Field(default=None, alias="tcpProbeMode") - alert_rules: Optional[List[AlertRule]] = Field(default=None, description="Contains list of enabled alert rule objects.", alias="alertRules") + port: Optional[StrictInt] = Field(default=443, description="Port number.") auth_type: Optional[EndpointTestAuthType] = Field(default=None, alias="authType") - http_time_limit: Optional[StrictInt] = Field(default=None, description="Maximum amount of time in milliseconds the agents wait before a request times out.", alias="httpTimeLimit") - url: Optional[StrictStr] = Field(default=None, description="Test target URL. Optionally, you can specify a protocol (http or https). If no protocol is provided, the default `https` protocol is used.") + http_time_limit: Optional[StrictInt] = Field(default=5000, description="Maximum amount of time in milliseconds the agents wait before a request times out.", alias="httpTimeLimit") username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") ssl_version_id: Optional[TestSslVersionId] = Field(default=None, alias="sslVersionId") - verify_certificate: Optional[StrictBool] = Field(default=None, description="Flag indicating if a certificate should be verified.", alias="verifyCertificate") - content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") + verify_certificate: Optional[StrictBool] = Field(default=True, description="Flag indicating if a certificate should be verified.", alias="verifyCertificate") + url: Optional[StrictStr] = Field(default=None, description="The test target URL.") follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") http_version: Optional[Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(default=2, description="HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1.", alias="httpVersion") - post_body: Optional[StrictStr] = Field(default=None, description="Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST.", alias="postBody") ssl_version: Optional[StrictStr] = Field(default=None, description="Reflects the verbose SSL protocol version used by a test.", alias="sslVersion") use_ntlm: Optional[StrictBool] = Field(default=None, description="Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set.", alias="useNtlm") - user_agent: Optional[StrictStr] = Field(default=None, description="User-agent string to be provided during the test.", alias="userAgent") labels: Optional[List[TestLabel]] = None - __properties: ClassVar[List[str]] = ["aid", "_links", "agentSelectorConfig", "createdDate", "interval", "isEnabled", "isSavedEvent", "hasPathTraceInSession", "modifiedDate", "networkMeasurements", "port", "protocol", "server", "testId", "testName", "type", "tcpProbeMode", "alertRules", "authType", "httpTimeLimit", "url", "username", "sslVersionId", "verifyCertificate", "contentRegex", "followRedirects", "httpTargetTime", "httpVersion", "postBody", "sslVersion", "useNtlm", "userAgent", "labels"] + __properties: ClassVar[List[str]] = ["aid", "_links", "agentSelectorConfig", "createdDate", "interval", "isEnabled", "isSavedEvent", "hasPathTraceInSession", "modifiedDate", "networkMeasurements", "protocol", "server", "testId", "testName", "type", "tcpProbeMode", "port", "authType", "httpTimeLimit", "username", "sslVersionId", "verifyCertificate", "url", "followRedirects", "httpTargetTime", "httpVersion", "sslVersion", "useNtlm", "labels"] @field_validator('type') def type_validate_regular_expression(cls, value): @@ -139,13 +133,6 @@ class EndpointHttpServerTest(BaseModel): # override the default output from pydantic by calling `to_dict()` of agent_selector_config if self.agent_selector_config: _dict['agentSelectorConfig'] = self.agent_selector_config.to_dict() - # override the default output from pydantic by calling `to_dict()` of each item in alert_rules (list) - _items = [] - if self.alert_rules: - for _item in self.alert_rules: - if _item: - _items.append(_item.to_dict()) - _dict['alertRules'] = _items # override the default output from pydantic by calling `to_dict()` of each item in labels (list) _items = [] if self.labels: @@ -175,28 +162,24 @@ class EndpointHttpServerTest(BaseModel): "hasPathTraceInSession": obj.get("hasPathTraceInSession"), "modifiedDate": obj.get("modifiedDate"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, - "port": obj.get("port"), "protocol": obj.get("protocol"), "server": obj.get("server"), "testId": obj.get("testId"), "testName": obj.get("testName"), "type": obj.get("type"), "tcpProbeMode": obj.get("tcpProbeMode"), - "alertRules": [AlertRule.from_dict(_item) for _item in obj["alertRules"]] if obj.get("alertRules") is not None else None, + "port": obj.get("port") if obj.get("port") is not None else 443, "authType": obj.get("authType"), - "httpTimeLimit": obj.get("httpTimeLimit"), - "url": obj.get("url"), + "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5000, "username": obj.get("username"), "sslVersionId": obj.get("sslVersionId"), - "verifyCertificate": obj.get("verifyCertificate"), - "contentRegex": obj.get("contentRegex"), + "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else True, + "url": obj.get("url"), "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, "httpTargetTime": obj.get("httpTargetTime"), "httpVersion": obj.get("httpVersion") if obj.get("httpVersion") is not None else 2, - "postBody": obj.get("postBody"), "sslVersion": obj.get("sslVersion"), "useNtlm": obj.get("useNtlm"), - "userAgent": obj.get("userAgent"), "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None }) return _obj diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_instant_test.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_instant_test.py index 31c66c62..61bbf054 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_instant_test.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_instant_test.py @@ -5,7 +5,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,9 +16,8 @@ import pprint import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from typing_extensions import Annotated from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_test_agent_selector_type import EndpointTestAgentSelectorType from typing import Optional, Set from typing_extensions import Self @@ -28,15 +26,12 @@ class EndpointInstantTest(BaseModel): """ EndpointInstantTest """ # noqa: E501 - agent_selector_type: EndpointTestAgentSelectorType = Field(alias="agentSelectorType") + agent_selector_type: Optional[EndpointTestAgentSelectorType] = Field(default=None, alias="agentSelectorType") agents: Optional[List[StrictStr]] = Field(default=None, description="List of endpoint agent IDs (obtained from `/endpoint/agents` endpoint). Required when `agentSelectorType` is set to `specific-agent`.") - has_ping: Optional[StrictBool] = Field(default=True, description="Optional flag indicating if the test should run ping.", alias="hasPing") - has_traceroute: Optional[StrictBool] = Field(default=True, description="Optional flag indicating if the test should run traceroute.", alias="hasTraceroute") endpoint_agent_labels: Optional[List[StrictStr]] = Field(default=None, description="List of endpoint agent label IDs (obtained from `/endpoint/labels` endpoint), required when `agentSelectorType` is set to `agent-labels`.", alias="endpointAgentLabels") - max_machines: Annotated[int, Field(le=50000, strict=True, ge=1)] = Field(description="Maximum number of agents which can execute the test.", alias="maxMachines") - port: Optional[StrictInt] = Field(default=None, description="Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443).") + max_machines: Optional[StrictInt] = Field(default=25, description="Maximum number of agents which can execute the test.", alias="maxMachines") test_name: StrictStr = Field(description="Name of the test.", alias="testName") - __properties: ClassVar[List[str]] = ["agentSelectorType", "agents", "hasPing", "hasTraceroute", "endpointAgentLabels", "maxMachines", "port", "testName"] + __properties: ClassVar[List[str]] = ["agentSelectorType", "agents", "endpointAgentLabels", "maxMachines", "testName"] model_config = ConfigDict( populate_by_name=True, @@ -92,11 +87,8 @@ class EndpointInstantTest(BaseModel): _obj = cls.model_validate({ "agentSelectorType": obj.get("agentSelectorType"), "agents": obj.get("agents"), - "hasPing": obj.get("hasPing") if obj.get("hasPing") is not None else True, - "hasTraceroute": obj.get("hasTraceroute") if obj.get("hasTraceroute") is not None else True, "endpointAgentLabels": obj.get("endpointAgentLabels"), - "maxMachines": obj.get("maxMachines"), - "port": obj.get("port"), + "maxMachines": obj.get("maxMachines") if obj.get("maxMachines") is not None else 25, "testName": obj.get("testName") }) return _obj diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_run_scheduled_instant_test_result.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_run_scheduled_instant_test_result.py new file mode 100644 index 00000000..af286484 --- /dev/null +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_run_scheduled_instant_test_result.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Endpoint Instant Scheduled Tests API + + You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. + + 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class EndpointRunScheduledInstantTestResult(BaseModel): + """ + EndpointRunScheduledInstantTestResult + """ # noqa: E501 + message: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["message"] + + 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 EndpointRunScheduledInstantTestResult 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 EndpointRunScheduledInstantTestResult from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "message": obj.get("message") + }) + return _obj + + diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_scheduled_test_type.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_scheduled_test_type.py index 7fb230af..055d08db 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_scheduled_test_type.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_scheduled_test_type.py @@ -5,7 +5,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class EndpointScheduledTestType(str, Enum): """ AGENT_MINUS_TO_MINUS_SERVER = 'agent-to-server' HTTP_MINUS_SERVER = 'http-server' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of EndpointScheduledTestType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_specific_agents_selector_config.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_specific_agents_selector_config.py index 633a0bf8..63aba454 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_specific_agents_selector_config.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_specific_agents_selector_config.py @@ -5,7 +5,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,7 +16,7 @@ import pprint import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated from typing import Optional, Set @@ -28,7 +27,7 @@ class EndpointSpecificAgentsSelectorConfig(BaseModel): Specific agents selection object. """ # noqa: E501 agent_selector_type: Annotated[str, Field(strict=True)] = Field(alias="agentSelectorType") - max_machines: Optional[Annotated[int, Field(le=50000, strict=True, ge=1)]] = Field(default=None, description="Maximum number of agents which can execute the test.", alias="maxMachines") + max_machines: Optional[StrictInt] = Field(default=25, description="Maximum number of agents which can execute the test.", alias="maxMachines") agents: Optional[List[StrictStr]] = Field(default=None, description="List of endpoint agent IDs (obtained from `/endpoint/agents` endpoint). Required when `agentSelectorType` is set to `specific-agent`.") __properties: ClassVar[List[str]] = ["agentSelectorType", "maxMachines", "agents"] @@ -92,7 +91,7 @@ class EndpointSpecificAgentsSelectorConfig(BaseModel): _obj = cls.model_validate({ "agentSelectorType": obj.get("agentSelectorType"), - "maxMachines": obj.get("maxMachines"), + "maxMachines": obj.get("maxMachines") if obj.get("maxMachines") is not None else 25, "agents": obj.get("agents") }) return _obj diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test.py index 4183f339..9c96cc35 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test.py @@ -5,7 +5,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,7 +19,6 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.endpoint_instant_tests.models.alert_rule import AlertRule from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_agent_selector_config import EndpointAgentSelectorConfig from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_scheduled_test_type import EndpointScheduledTestType from thousandeyes_sdk.endpoint_instant_tests.models.endpoint_test_links import EndpointTestLinks @@ -44,15 +42,14 @@ class EndpointTest(BaseModel): has_path_trace_in_session: Optional[StrictBool] = Field(default=None, description="Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session.", alias="hasPathTraceInSession") modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") - port: Optional[StrictInt] = Field(default=None, description="Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443).") protocol: Optional[EndpointTestProtocol] = None server: Optional[StrictStr] = Field(default=None, description="Target domain name or IP address.") test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned a unique ID to access test data from other endpoints.", alias="testId") test_name: Optional[StrictStr] = Field(default=None, description="Name of the test.", alias="testName") type: EndpointScheduledTestType tcp_probe_mode: Optional[TestProbeModeResponse] = Field(default=None, alias="tcpProbeMode") - alert_rules: Optional[List[AlertRule]] = Field(default=None, description="Contains list of enabled alert rule objects.", alias="alertRules") - __properties: ClassVar[List[str]] = ["aid", "_links", "agentSelectorConfig", "createdDate", "interval", "isEnabled", "isSavedEvent", "hasPathTraceInSession", "modifiedDate", "networkMeasurements", "port", "protocol", "server", "testId", "testName", "type", "tcpProbeMode", "alertRules"] + port: Optional[StrictInt] = Field(default=443, description="Port number.") + __properties: ClassVar[List[str]] = ["aid", "_links", "agentSelectorConfig", "createdDate", "interval", "isEnabled", "isSavedEvent", "hasPathTraceInSession", "modifiedDate", "networkMeasurements", "protocol", "server", "testId", "testName", "type", "tcpProbeMode", "port"] model_config = ConfigDict( populate_by_name=True, @@ -108,13 +105,6 @@ class EndpointTest(BaseModel): # override the default output from pydantic by calling `to_dict()` of agent_selector_config if self.agent_selector_config: _dict['agentSelectorConfig'] = self.agent_selector_config.to_dict() - # override the default output from pydantic by calling `to_dict()` of each item in alert_rules (list) - _items = [] - if self.alert_rules: - for _item in self.alert_rules: - if _item: - _items.append(_item.to_dict()) - _dict['alertRules'] = _items return _dict @classmethod @@ -137,14 +127,13 @@ class EndpointTest(BaseModel): "hasPathTraceInSession": obj.get("hasPathTraceInSession"), "modifiedDate": obj.get("modifiedDate"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, - "port": obj.get("port"), "protocol": obj.get("protocol"), "server": obj.get("server"), "testId": obj.get("testId"), "testName": obj.get("testName"), "type": obj.get("type"), "tcpProbeMode": obj.get("tcpProbeMode"), - "alertRules": [AlertRule.from_dict(_item) for _item in obj["alertRules"]] if obj.get("alertRules") is not None else None + "port": obj.get("port") if obj.get("port") is not None else 443 }) return _obj diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_agent_selector_type.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_agent_selector_type.py index 4b7d4895..4b9a321e 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_agent_selector_type.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_agent_selector_type.py @@ -5,7 +5,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class EndpointTestAgentSelectorType(str, Enum): ALL_MINUS_AGENTS = 'all-agents' SPECIFIC_MINUS_AGENTS = 'specific-agents' AGENT_MINUS_LABELS = 'agent-labels' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of EndpointTestAgentSelectorType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_auth_type.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_auth_type.py index f20c8bcd..dfdda621 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_auth_type.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_auth_type.py @@ -5,7 +5,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class EndpointTestAuthType(str, Enum): NONE = 'none' BASIC = 'basic' NTLM = 'ntlm' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of EndpointTestAuthType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_links.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_links.py index 94864c39..3ebdfe11 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_links.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_links.py @@ -5,7 +5,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_protocol.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_protocol.py index 5c27cd63..f42ae051 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_protocol.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_protocol.py @@ -5,7 +5,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,7 +19,7 @@ from typing_extensions import Self class EndpointTestProtocol(str, Enum): """ - Protocol used to perform the test. + Protocol requested for the test. """ """ @@ -32,10 +31,15 @@ class EndpointTestProtocol(str, Enum): PREFER_MINUS_TCP = 'prefer-tcp' AST_MINUS_AUTODETECT = 'ast-autodetect' AUTODETECT = 'autodetect' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of EndpointTestProtocol from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_self_link.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_self_link.py index 5ccd4126..c8f26e1a 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_self_link.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/endpoint_test_self_link.py @@ -5,7 +5,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/error.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/error.py index 54e008b6..032f49d4 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/error.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/error.py @@ -5,7 +5,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/link.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/link.py index c894d817..e8050911 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/link.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/link.py @@ -5,7 +5,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/severity.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/severity.py deleted file mode 100644 index 087c354c..00000000 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/severity.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding: utf-8 - -""" - Endpoint Instant Scheduled Tests API - - You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - - The version of the OpenAPI document: 7.0.8 - 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 Severity(str, Enum): - """ - The severity of the alert. - """ - - """ - allowed enum values - """ - INFO = 'info' - MAJOR = 'major' - MINOR = 'minor' - CRITICAL = 'critical' - UNKNOWN = 'unknown' - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Create an instance of Severity from a JSON string""" - return cls(json.loads(json_str)) - - diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_interval.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_interval.py index 359f10d6..6e4eb9fb 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_interval.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_interval.py @@ -5,7 +5,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -33,10 +32,15 @@ class TestInterval(int, Enum): NUMBER_900 = 900 NUMBER_1800 = 1800 NUMBER_3600 = 3600 + NUMBER_11184809 = 11184809 @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestInterval from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_label.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_label.py index a7d5c406..8d6a4c56 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_label.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_label.py @@ -5,7 +5,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_probe_mode_response.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_probe_mode_response.py index e7b813f1..ce9ef05c 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_probe_mode_response.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_probe_mode_response.py @@ -5,7 +5,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -36,4 +35,8 @@ class TestProbeModeResponse(str, Enum): """Create an instance of TestProbeModeResponse from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_ssl_version_id.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_ssl_version_id.py index a381ea2d..e022383b 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_ssl_version_id.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/test_ssl_version_id.py @@ -5,7 +5,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -31,10 +30,15 @@ class TestSslVersionId(str, Enum): ENUM_4 = '4' ENUM_5 = '5' ENUM_6 = '6' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestSslVersionId from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/unauthorized_error.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/unauthorized_error.py index ced1b479..2a0fd065 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/unauthorized_error.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/unauthorized_error.py @@ -5,7 +5,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/validation_error.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/validation_error.py index 42c1b280..4d11ad72 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/validation_error.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/validation_error.py @@ -5,7 +5,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/validation_error_item.py b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/validation_error_item.py index 27c31719..4a15480e 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/validation_error_item.py +++ b/thousandeyes-sdk-endpoint-instant-tests/src/thousandeyes_sdk/endpoint_instant_tests/models/validation_error_item.py @@ -5,7 +5,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-instant-tests/test/test_agent_to_server_instant_scheduled_test_api.py b/thousandeyes-sdk-endpoint-instant-tests/test/test_agent_to_server_endpoint_instant_scheduled_tests_api.py similarity index 71% rename from thousandeyes-sdk-endpoint-instant-tests/test/test_agent_to_server_instant_scheduled_test_api.py rename to thousandeyes-sdk-endpoint-instant-tests/test/test_agent_to_server_endpoint_instant_scheduled_tests_api.py index 292c9bae..78cd5088 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/test/test_agent_to_server_instant_scheduled_test_api.py +++ b/thousandeyes-sdk-endpoint-instant-tests/test/test_agent_to_server_endpoint_instant_scheduled_tests_api.py @@ -5,7 +5,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.endpoint_instant_tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.endpoint_instant_tests.api.agent_to_server_instant_scheduled_test_api import AgentToServerInstantScheduledTestApi +from thousandeyes_sdk.endpoint_instant_tests.api.agent_to_server_endpoint_instant_scheduled_tests_api import AgentToServerEndpointInstantScheduledTestsApi -class TestAgentToServerInstantScheduledTestApi(unittest.TestCase): - """AgentToServerInstantScheduledTestApi unit test stubs""" +class TestAgentToServerEndpointInstantScheduledTestsApi(unittest.TestCase): + """AgentToServerEndpointInstantScheduledTestsApi unit test stubs""" def setUp(self) -> None: - self.api = AgentToServerInstantScheduledTestApi() + self.api = AgentToServerEndpointInstantScheduledTestsApi() def tearDown(self) -> None: pass @@ -33,11 +32,9 @@ class TestAgentToServerInstantScheduledTestApi(unittest.TestCase): """Test case for create_agent_to_server_scheduled_instant_test request and response models""" request_body_json = """ { - "hasPing" : true, - "port" : 80, + "port" : 443, "agentSelectorType" : "all-agents", - "hasTraceroute" : true, - "maxMachines" : 10, + "maxMachines" : 25, "serverName" : "www.example.com", "endpointAgentLabels" : [ "567", "214" ], "agents" : [ "0a3b9998-dc3a-4ff2-b50d-ac4a7cd986e1", "66eec0f1-72b4-4755-aa83-3aed61d17f3c" ], @@ -69,33 +66,6 @@ class TestAgentToServerInstantScheduledTestApi(unittest.TestCase): "title" : "title" } }, - "alertRules" : [ { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - }, { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - } ], "networkMeasurements" : true, "type" : "agent-to-server", "tcpProbeMode" : "auto", @@ -110,15 +80,15 @@ class TestAgentToServerInstantScheduledTestApi(unittest.TestCase): } ], "protocol" : "icmp", "createdDate" : "2022-07-17T22:00:54Z", - "port" : 80, + "port" : 443, "isEnabled" : true, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "aid" : "1234", "agentSelectorConfig" : { "agentSelectorType" : "all-agents", - "maxMachines" : 10 + "maxMachines" : 25 }, "hasPathTraceInSession" : true, "testName" : "Test name" diff --git a/thousandeyes-sdk-endpoint-instant-tests/test/test_http_server_instant_scheduled_test_api.py b/thousandeyes-sdk-endpoint-instant-tests/test/test_http_server_endpoint_instant_scheduled_tests_api.py similarity index 71% rename from thousandeyes-sdk-endpoint-instant-tests/test/test_http_server_instant_scheduled_test_api.py rename to thousandeyes-sdk-endpoint-instant-tests/test/test_http_server_endpoint_instant_scheduled_tests_api.py index d7cb57f6..f92f915a 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/test/test_http_server_instant_scheduled_test_api.py +++ b/thousandeyes-sdk-endpoint-instant-tests/test/test_http_server_endpoint_instant_scheduled_tests_api.py @@ -5,7 +5,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.endpoint_instant_tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.endpoint_instant_tests.api.http_server_instant_scheduled_test_api import HttpServerInstantScheduledTestApi +from thousandeyes_sdk.endpoint_instant_tests.api.http_server_endpoint_instant_scheduled_tests_api import HTTPServerEndpointInstantScheduledTestsApi -class TestHttpServerInstantScheduledTestApi(unittest.TestCase): - """HttpServerInstantScheduledTestApi unit test stubs""" +class TestHTTPServerEndpointInstantScheduledTestsApi(unittest.TestCase): + """HTTPServerEndpointInstantScheduledTestsApi unit test stubs""" def setUp(self) -> None: - self.api = HttpServerInstantScheduledTestApi() + self.api = HTTPServerEndpointInstantScheduledTestsApi() def tearDown(self) -> None: pass @@ -33,18 +32,18 @@ class TestHttpServerInstantScheduledTestApi(unittest.TestCase): """Test case for create_http_server_scheduled_instant_test request and response models""" request_body_json = """ { + "verifyCertificate" : true, "hasPing" : true, - "verifyCertificate" : false, "agentSelectorType" : "all-agents", - "maxMachines" : 10, + "maxMachines" : 25, "httpTimeLimit" : 5000, + "networkMeasurements" : true, "endpointAgentLabels" : [ "567", "214" ], - "url" : "www.example.com", "tcpProbeMode" : "auto", + "url" : "https://example.com:443", "agents" : [ "0a3b9998-dc3a-4ff2-b50d-ac4a7cd986e1", "66eec0f1-72b4-4755-aa83-3aed61d17f3c" ], "protocol" : "icmp", "password" : "password", - "port" : 80, "hasTraceroute" : true, "targetResponseTime" : 1000, "authType" : "none", @@ -81,46 +80,17 @@ class TestHttpServerInstantScheduledTestApi(unittest.TestCase): "title" : "title" } }, - "alertRules" : [ { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - }, { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - } ], "httpTimeLimit" : 5000, "type" : "http-server", "protocol" : "icmp", "httpVersion" : 2, "followRedirects" : true, - "contentRegex" : "(regex)+", "authType" : "none", "testName" : "Test name", - "verifyCertificate" : false, - "userAgent" : "curl", + "verifyCertificate" : true, "networkMeasurements" : true, "tcpProbeMode" : "auto", - "url" : "www.example.com", + "url" : "https://example.com:443", "labels" : [ { "labelId" : "961", "name" : "Artem label", @@ -131,16 +101,15 @@ class TestHttpServerInstantScheduledTestApi(unittest.TestCase): "isBuiltin" : false } ], "createdDate" : "2022-07-17T22:00:54Z", - "postBody" : "body", - "port" : 80, + "port" : 443, "isEnabled" : true, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "aid" : "1234", "agentSelectorConfig" : { "agentSelectorType" : "all-agents", - "maxMachines" : 10 + "maxMachines" : 25 }, "hasPathTraceInSession" : true, "httpTargetTime" : 100, diff --git a/thousandeyes-sdk-endpoint-instant-tests/test/test_run_existing_test_api.py b/thousandeyes-sdk-endpoint-instant-tests/test/test_run_endpoint_instant_scheduled_tests_api.py similarity index 82% rename from thousandeyes-sdk-endpoint-instant-tests/test/test_run_existing_test_api.py rename to thousandeyes-sdk-endpoint-instant-tests/test/test_run_endpoint_instant_scheduled_tests_api.py index 375174e0..273a5f8e 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/test/test_run_existing_test_api.py +++ b/thousandeyes-sdk-endpoint-instant-tests/test/test_run_endpoint_instant_scheduled_tests_api.py @@ -5,7 +5,6 @@ You can create and execute a new endpoint instant scheduled test within ThousandEyes using this API. The test parameters are specified in the `POST` data. The following applies to the Endpoint Instant Scheduled Tests API: * To initiate the creation and execution of an instant scheduled test, the user must possess the `Edit endpoint tests` permission. * Upon successful creation of an instant scheduled test, the API responds with an HTTP/201 CREATED status code and return the test definition. * It's important to note that the response does not include the results of the instant scheduled test. To retrieve test results, users can utilize the Endpoint Test Data endpoints. The URLs for these API test data endpoints are provided within the test definition output when an instant scheduled test is created. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.endpoint_instant_tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.endpoint_instant_tests.api.run_existing_test_api import RunExistingTestApi +from thousandeyes_sdk.endpoint_instant_tests.api.run_endpoint_instant_scheduled_tests_api import RunEndpointInstantScheduledTestsApi -class TestRunExistingTestApi(unittest.TestCase): - """RunExistingTestApi unit test stubs""" +class TestRunEndpointInstantScheduledTestsApi(unittest.TestCase): + """RunEndpointInstantScheduledTestsApi unit test stubs""" def setUp(self) -> None: - self.api = RunExistingTestApi() + self.api = RunEndpointInstantScheduledTestsApi() def tearDown(self) -> None: pass diff --git a/thousandeyes-sdk-endpoint-labels/.openapi-generator/FILES b/thousandeyes-sdk-endpoint-labels/.openapi-generator/FILES index a8fd25e8..f52a61d0 100644 --- a/thousandeyes-sdk-endpoint-labels/.openapi-generator/FILES +++ b/thousandeyes-sdk-endpoint-labels/.openapi-generator/FILES @@ -1,8 +1,9 @@ .openapi-generator-ignore MANIFEST.in README.md +docs/EndpointAgentLabelsApi.md docs/Error.md -docs/Expand.md +docs/ExpandLabelOptions.md docs/Filter.md docs/FilterType.md docs/Label.md @@ -11,7 +12,6 @@ docs/LabelRequest.md docs/LabelResponse.md docs/Labels.md docs/Link.md -docs/ManageLabelsApi.md docs/MatchType.md docs/PaginationNextAndSelfLink.md docs/SelfLinks.md @@ -22,10 +22,10 @@ pyproject.toml setup.cfg src/thousandeyes_sdk/endpoint_labels/__init__.py src/thousandeyes_sdk/endpoint_labels/api/__init__.py -src/thousandeyes_sdk/endpoint_labels/api/manage_labels_api.py +src/thousandeyes_sdk/endpoint_labels/api/endpoint_agent_labels_api.py src/thousandeyes_sdk/endpoint_labels/models/__init__.py src/thousandeyes_sdk/endpoint_labels/models/error.py -src/thousandeyes_sdk/endpoint_labels/models/expand.py +src/thousandeyes_sdk/endpoint_labels/models/expand_label_options.py src/thousandeyes_sdk/endpoint_labels/models/filter.py src/thousandeyes_sdk/endpoint_labels/models/filter_type.py src/thousandeyes_sdk/endpoint_labels/models/label.py @@ -42,5 +42,5 @@ src/thousandeyes_sdk/endpoint_labels/models/validation_error.py src/thousandeyes_sdk/endpoint_labels/models/validation_error_item.py src/thousandeyes_sdk/endpoint_labels/py.typed test/__init__.py -test/test_manage_labels_api.py +test/test_endpoint_agent_labels_api.py test/test_utils.py diff --git a/thousandeyes-sdk-endpoint-labels/README.md b/thousandeyes-sdk-endpoint-labels/README.md index 7a31b5cd..f28e63f9 100644 --- a/thousandeyes-sdk-endpoint-labels/README.md +++ b/thousandeyes-sdk-endpoint-labels/README.md @@ -4,7 +4,7 @@ Manage labels applied to endpoint agents using this API. This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 7.0.8 +- API version: 7.0.20 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator @@ -56,10 +56,10 @@ import thousandeyes_sdk.endpoint_labels from thousandeyes_sdk.core.exceptions import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -76,37 +76,37 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.core.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_labels.ManageLabelsApi(api_client) + api_instance = thousandeyes_sdk.endpoint_labels.EndpointAgentLabelsApi(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) label_request = thousandeyes_sdk.endpoint_labels.LabelRequest() # LabelRequest | Label settings (optional) try: # Create label api_response = api_instance.create_endpoint_label(aid=aid, label_request=label_request) - print("The response of ManageLabelsApi->create_endpoint_label:\n") + print("The response of EndpointAgentLabelsApi->create_endpoint_label:\n") pprint(api_response) except ApiException as e: - print("Exception when calling ManageLabelsApi->create_endpoint_label: %s\n" % e) + print("Exception when calling EndpointAgentLabelsApi->create_endpoint_label: %s\n" % e) ``` ## Documentation for API Endpoints -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- -*ManageLabelsApi* | [**create_endpoint_label**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-labels/docs/ManageLabelsApi.md#create_endpoint_label) | **POST** /v7/endpoint/labels | Create label -*ManageLabelsApi* | [**delete_endpoint_label**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-labels/docs/ManageLabelsApi.md#delete_endpoint_label) | **DELETE** /v7/endpoint/labels/{id} | Delete label -*ManageLabelsApi* | [**get_endpoint_label**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-labels/docs/ManageLabelsApi.md#get_endpoint_label) | **GET** /v7/endpoint/labels/{id} | Retrieve label -*ManageLabelsApi* | [**get_endpoint_labels**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-labels/docs/ManageLabelsApi.md#get_endpoint_labels) | **GET** /v7/endpoint/labels | List labels -*ManageLabelsApi* | [**update_endpoint_label**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-labels/docs/ManageLabelsApi.md#update_endpoint_label) | **PATCH** /v7/endpoint/labels/{id} | Update label +*EndpointAgentLabelsApi* | [**create_endpoint_label**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-labels/docs/EndpointAgentLabelsApi.md#create_endpoint_label) | **POST** /endpoint/labels | Create label +*EndpointAgentLabelsApi* | [**delete_endpoint_label**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-labels/docs/EndpointAgentLabelsApi.md#delete_endpoint_label) | **DELETE** /endpoint/labels/{id} | Delete label +*EndpointAgentLabelsApi* | [**get_endpoint_label**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-labels/docs/EndpointAgentLabelsApi.md#get_endpoint_label) | **GET** /endpoint/labels/{id} | Retrieve label +*EndpointAgentLabelsApi* | [**get_endpoint_labels**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-labels/docs/EndpointAgentLabelsApi.md#get_endpoint_labels) | **GET** /endpoint/labels | List labels +*EndpointAgentLabelsApi* | [**update_endpoint_label**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-labels/docs/EndpointAgentLabelsApi.md#update_endpoint_label) | **PATCH** /endpoint/labels/{id} | Update label ## Documentation For Models - [Error](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-labels/docs/Error.md) - - [Expand](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-labels/docs/Expand.md) + - [ExpandLabelOptions](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-labels/docs/ExpandLabelOptions.md) - [Filter](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-labels/docs/Filter.md) - [FilterType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-labels/docs/FilterType.md) - [Label](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-labels/docs/Label.md) diff --git a/thousandeyes-sdk-endpoint-labels/docs/ManageLabelsApi.md b/thousandeyes-sdk-endpoint-labels/docs/EndpointAgentLabelsApi.md similarity index 81% rename from thousandeyes-sdk-endpoint-labels/docs/ManageLabelsApi.md rename to thousandeyes-sdk-endpoint-labels/docs/EndpointAgentLabelsApi.md index 5fac97b1..518f943e 100644 --- a/thousandeyes-sdk-endpoint-labels/docs/ManageLabelsApi.md +++ b/thousandeyes-sdk-endpoint-labels/docs/EndpointAgentLabelsApi.md @@ -1,14 +1,14 @@ -# thousandeyes_sdk.endpoint_labels.ManageLabelsApi +# thousandeyes_sdk.endpoint_labels.EndpointAgentLabelsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_endpoint_label**](ManageLabelsApi.md#create_endpoint_label) | **POST** /v7/endpoint/labels | Create label -[**delete_endpoint_label**](ManageLabelsApi.md#delete_endpoint_label) | **DELETE** /v7/endpoint/labels/{id} | Delete label -[**get_endpoint_label**](ManageLabelsApi.md#get_endpoint_label) | **GET** /v7/endpoint/labels/{id} | Retrieve label -[**get_endpoint_labels**](ManageLabelsApi.md#get_endpoint_labels) | **GET** /v7/endpoint/labels | List labels -[**update_endpoint_label**](ManageLabelsApi.md#update_endpoint_label) | **PATCH** /v7/endpoint/labels/{id} | Update label +[**create_endpoint_label**](EndpointAgentLabelsApi.md#create_endpoint_label) | **POST** /endpoint/labels | Create label +[**delete_endpoint_label**](EndpointAgentLabelsApi.md#delete_endpoint_label) | **DELETE** /endpoint/labels/{id} | Delete label +[**get_endpoint_label**](EndpointAgentLabelsApi.md#get_endpoint_label) | **GET** /endpoint/labels/{id} | Retrieve label +[**get_endpoint_labels**](EndpointAgentLabelsApi.md#get_endpoint_labels) | **GET** /endpoint/labels | List labels +[**update_endpoint_label**](EndpointAgentLabelsApi.md#update_endpoint_label) | **PATCH** /endpoint/labels/{id} | Update label # **create_endpoint_label** @@ -29,10 +29,10 @@ from thousandeyes_sdk.endpoint_labels.models.label_response import LabelResponse from thousandeyes_sdk.endpoint_labels.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -48,17 +48,17 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_labels.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_labels.ManageLabelsApi(api_client) + api_instance = thousandeyes_sdk.endpoint_labels.EndpointAgentLabelsApi(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) label_request = thousandeyes_sdk.endpoint_labels.LabelRequest() # LabelRequest | Label settings (optional) try: # Create label api_response = api_instance.create_endpoint_label(aid=aid, label_request=label_request) - print("The response of ManageLabelsApi->create_endpoint_label:\n") + print("The response of EndpointAgentLabelsApi->create_endpoint_label:\n") pprint(api_response) except Exception as e: - print("Exception when calling ManageLabelsApi->create_endpoint_label: %s\n" % e) + print("Exception when calling EndpointAgentLabelsApi->create_endpoint_label: %s\n" % e) ``` @@ -112,10 +112,10 @@ import thousandeyes_sdk.endpoint_labels from thousandeyes_sdk.endpoint_labels.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -131,7 +131,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_labels.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_labels.ManageLabelsApi(api_client) + api_instance = thousandeyes_sdk.endpoint_labels.EndpointAgentLabelsApi(api_client) id = 'id_example' # str | The unique identifier of the label 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) @@ -139,7 +139,7 @@ with thousandeyes_sdk.endpoint_labels.ApiClient(configuration) as api_client: # Delete label api_instance.delete_endpoint_label(id, aid=aid) except Exception as e: - print("Exception when calling ManageLabelsApi->delete_endpoint_label: %s\n" % e) + print("Exception when calling EndpointAgentLabelsApi->delete_endpoint_label: %s\n" % e) ``` @@ -190,15 +190,15 @@ Returns a single label using its ID. ```python import thousandeyes_sdk.endpoint_labels -from thousandeyes_sdk.endpoint_labels.models.expand import Expand +from thousandeyes_sdk.endpoint_labels.models.expand_label_options import ExpandLabelOptions from thousandeyes_sdk.endpoint_labels.models.label_response import LabelResponse from thousandeyes_sdk.endpoint_labels.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -214,18 +214,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_labels.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_labels.ManageLabelsApi(api_client) + api_instance = thousandeyes_sdk.endpoint_labels.EndpointAgentLabelsApi(api_client) id = 'id_example' # str | The unique identifier of the label to operate on. - expand = [thousandeyes_sdk.endpoint_labels.Expand()] # List[Expand] | This parameter is optional and determines whether to include additional details in the response. To specify multiple expansions, you can either separate the values with commas or specify the parameter multiple times. (optional) + expand = [thousandeyes_sdk.endpoint_labels.ExpandLabelOptions()] # List[ExpandLabelOptions] | This parameter is optional and determines whether to include additional details in the response. To specify multiple expansions, you can either separate the values with commas or specify the parameter multiple times. (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: # Retrieve label api_response = api_instance.get_endpoint_label(id, expand=expand, aid=aid) - print("The response of ManageLabelsApi->get_endpoint_label:\n") + print("The response of EndpointAgentLabelsApi->get_endpoint_label:\n") pprint(api_response) except Exception as e: - print("Exception when calling ManageLabelsApi->get_endpoint_label: %s\n" % e) + print("Exception when calling EndpointAgentLabelsApi->get_endpoint_label: %s\n" % e) ``` @@ -236,7 +236,7 @@ with thousandeyes_sdk.endpoint_labels.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **id** | **str**| The unique identifier of the label to operate on. | - **expand** | [**List[Expand]**](Expand.md)| This parameter is optional and determines whether to include additional details in the response. To specify multiple expansions, you can either separate the values with commas or specify the parameter multiple times. | [optional] + **expand** | [**List[ExpandLabelOptions]**](ExpandLabelOptions.md)| This parameter is optional and determines whether to include additional details in the response. To specify multiple expansions, you can either separate the values with commas or specify the parameter multiple times. | [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] ### Return type @@ -277,15 +277,15 @@ Returns a list of labels. ```python import thousandeyes_sdk.endpoint_labels -from thousandeyes_sdk.endpoint_labels.models.expand import Expand +from thousandeyes_sdk.endpoint_labels.models.expand_label_options import ExpandLabelOptions from thousandeyes_sdk.endpoint_labels.models.labels import Labels from thousandeyes_sdk.endpoint_labels.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -301,19 +301,19 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_labels.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_labels.ManageLabelsApi(api_client) + api_instance = thousandeyes_sdk.endpoint_labels.EndpointAgentLabelsApi(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) - expand = [thousandeyes_sdk.endpoint_labels.Expand()] # List[Expand] | This parameter is optional and determines whether to include additional details in the response. To specify multiple expansions, you can either separate the values with commas or specify the parameter multiple times. (optional) + expand = [thousandeyes_sdk.endpoint_labels.ExpandLabelOptions()] # List[ExpandLabelOptions] | This parameter is optional and determines whether to include additional details in the response. To specify multiple expansions, you can either separate the values with commas or specify the parameter multiple times. (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: # List labels api_response = api_instance.get_endpoint_labels(max=max, cursor=cursor, expand=expand, aid=aid) - print("The response of ManageLabelsApi->get_endpoint_labels:\n") + print("The response of EndpointAgentLabelsApi->get_endpoint_labels:\n") pprint(api_response) except Exception as e: - print("Exception when calling ManageLabelsApi->get_endpoint_labels: %s\n" % e) + print("Exception when calling EndpointAgentLabelsApi->get_endpoint_labels: %s\n" % e) ``` @@ -325,7 +325,7 @@ 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 `next` value from `_links` instead of this parameter. | [optional] - **expand** | [**List[Expand]**](Expand.md)| This parameter is optional and determines whether to include additional details in the response. To specify multiple expansions, you can either separate the values with commas or specify the parameter multiple times. | [optional] + **expand** | [**List[ExpandLabelOptions]**](ExpandLabelOptions.md)| This parameter is optional and determines whether to include additional details in the response. To specify multiple expansions, you can either separate the values with commas or specify the parameter multiple times. | [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] ### Return type @@ -370,10 +370,10 @@ from thousandeyes_sdk.endpoint_labels.models.label_response import LabelResponse from thousandeyes_sdk.endpoint_labels.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -389,7 +389,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_labels.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_labels.ManageLabelsApi(api_client) + api_instance = thousandeyes_sdk.endpoint_labels.EndpointAgentLabelsApi(api_client) id = 'id_example' # str | The unique identifier of the label 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) label = thousandeyes_sdk.endpoint_labels.Label() # Label | Fields to change on the agent (optional) @@ -397,10 +397,10 @@ with thousandeyes_sdk.endpoint_labels.ApiClient(configuration) as api_client: try: # Update label api_response = api_instance.update_endpoint_label(id, aid=aid, label=label) - print("The response of ManageLabelsApi->update_endpoint_label:\n") + print("The response of EndpointAgentLabelsApi->update_endpoint_label:\n") pprint(api_response) except Exception as e: - print("Exception when calling ManageLabelsApi->update_endpoint_label: %s\n" % e) + print("Exception when calling EndpointAgentLabelsApi->update_endpoint_label: %s\n" % e) ``` diff --git a/thousandeyes-sdk-endpoint-labels/docs/Expand.md b/thousandeyes-sdk-endpoint-labels/docs/ExpandLabelOptions.md similarity index 92% rename from thousandeyes-sdk-endpoint-labels/docs/Expand.md rename to thousandeyes-sdk-endpoint-labels/docs/ExpandLabelOptions.md index f6553b30..e9e656df 100644 --- a/thousandeyes-sdk-endpoint-labels/docs/Expand.md +++ b/thousandeyes-sdk-endpoint-labels/docs/ExpandLabelOptions.md @@ -1,4 +1,4 @@ -# Expand +# ExpandLabelOptions ## Properties diff --git a/thousandeyes-sdk-endpoint-labels/pyproject.toml b/thousandeyes-sdk-endpoint-labels/pyproject.toml index e1156fd9..4ba71702 100644 --- a/thousandeyes-sdk-endpoint-labels/pyproject.toml +++ b/thousandeyes-sdk-endpoint-labels/pyproject.toml @@ -9,9 +9,9 @@ description = "ThousandEyes SDK Endpoint Agent Labels API" license = { file = "LICENSE" } requires-python = ">= 3.8" dependencies = [ - "urllib3 >= 1.25.3", + "urllib3 >= 2.0.0", "python-dateutil >=2.8.2", - "pydantic >=2", + "pydantic >=2.1.0", "typing-extensions >=4.7.1", "thousandeyes-sdk-core", ] diff --git a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/__init__.py b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/__init__.py index b1fa3de0..07822ce7 100644 --- a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/__init__.py +++ b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/__init__.py @@ -7,7 +7,6 @@ Manage labels applied to endpoint agents using this API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -15,12 +14,12 @@ # import apis into sdk package -from thousandeyes_sdk.endpoint_labels.api.manage_labels_api import ManageLabelsApi +from thousandeyes_sdk.endpoint_labels.api.endpoint_agent_labels_api import EndpointAgentLabelsApi # import models into sdk package from thousandeyes_sdk.endpoint_labels.models.error import Error -from thousandeyes_sdk.endpoint_labels.models.expand import Expand +from thousandeyes_sdk.endpoint_labels.models.expand_label_options import ExpandLabelOptions from thousandeyes_sdk.endpoint_labels.models.filter import Filter from thousandeyes_sdk.endpoint_labels.models.filter_type import FilterType from thousandeyes_sdk.endpoint_labels.models.label import Label diff --git a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/api/__init__.py b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/api/__init__.py index 2bea9711..3d4ad9cb 100644 --- a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/api/__init__.py +++ b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/api/__init__.py @@ -1,5 +1,5 @@ # flake8: noqa # import apis into api package -from thousandeyes_sdk.endpoint_labels.api.manage_labels_api import ManageLabelsApi +from thousandeyes_sdk.endpoint_labels.api.endpoint_agent_labels_api import EndpointAgentLabelsApi diff --git a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/api/manage_labels_api.py b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/api/endpoint_agent_labels_api.py similarity index 96% rename from thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/api/manage_labels_api.py rename to thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/api/endpoint_agent_labels_api.py index cbc8992e..9f081ad4 100644 --- a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/api/manage_labels_api.py +++ b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/api/endpoint_agent_labels_api.py @@ -5,7 +5,6 @@ Manage labels applied to endpoint agents using this API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,7 +21,7 @@ import thousandeyes_sdk.endpoint_labels.models from pydantic import Field, StrictInt, StrictStr from typing import List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.endpoint_labels.models.expand import Expand +from thousandeyes_sdk.endpoint_labels.models.expand_label_options import ExpandLabelOptions from thousandeyes_sdk.endpoint_labels.models.label import Label from thousandeyes_sdk.endpoint_labels.models.label_request import LabelRequest from thousandeyes_sdk.endpoint_labels.models.label_response import LabelResponse @@ -33,7 +32,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class ManageLabelsApi: +class EndpointAgentLabelsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -335,7 +334,7 @@ class ManageLabelsApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/endpoint/labels', + resource_path='/endpoint/labels', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -625,7 +624,7 @@ class ManageLabelsApi: return self.api_client.param_serialize( method='DELETE', - resource_path='/v7/endpoint/labels/{id}', + resource_path='/endpoint/labels/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -645,7 +644,7 @@ class ManageLabelsApi: def get_endpoint_label( self, id: Annotated[StrictStr, Field(description="The unique identifier of the label to operate on.")], - expand: Annotated[Optional[List[Expand]], Field(description="This parameter is optional and determines whether to include additional details in the response. To specify multiple expansions, you can either separate the values with commas or specify the parameter multiple times.")] = None, + expand: Annotated[Optional[List[ExpandLabelOptions]], Field(description="This parameter is optional and determines whether to include additional details in the response. To specify multiple expansions, you can either separate the values with commas or specify the parameter multiple times.")] = None, aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, _request_timeout: Union[ None, @@ -667,7 +666,7 @@ class ManageLabelsApi: :param id: The unique identifier of the label to operate on. (required) :type id: str :param expand: This parameter is optional and determines whether to include additional details in the response. To specify multiple expansions, you can either separate the values with commas or specify the parameter multiple times. - :type expand: List[Expand] + :type expand: List[ExpandLabelOptions] :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 @@ -725,7 +724,7 @@ class ManageLabelsApi: def get_endpoint_label_with_http_info( self, id: Annotated[StrictStr, Field(description="The unique identifier of the label to operate on.")], - expand: Annotated[Optional[List[Expand]], Field(description="This parameter is optional and determines whether to include additional details in the response. To specify multiple expansions, you can either separate the values with commas or specify the parameter multiple times.")] = None, + expand: Annotated[Optional[List[ExpandLabelOptions]], Field(description="This parameter is optional and determines whether to include additional details in the response. To specify multiple expansions, you can either separate the values with commas or specify the parameter multiple times.")] = None, aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, _request_timeout: Union[ None, @@ -747,7 +746,7 @@ class ManageLabelsApi: :param id: The unique identifier of the label to operate on. (required) :type id: str :param expand: This parameter is optional and determines whether to include additional details in the response. To specify multiple expansions, you can either separate the values with commas or specify the parameter multiple times. - :type expand: List[Expand] + :type expand: List[ExpandLabelOptions] :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 @@ -805,7 +804,7 @@ class ManageLabelsApi: def get_endpoint_label_without_preload_content( self, id: Annotated[StrictStr, Field(description="The unique identifier of the label to operate on.")], - expand: Annotated[Optional[List[Expand]], Field(description="This parameter is optional and determines whether to include additional details in the response. To specify multiple expansions, you can either separate the values with commas or specify the parameter multiple times.")] = None, + expand: Annotated[Optional[List[ExpandLabelOptions]], Field(description="This parameter is optional and determines whether to include additional details in the response. To specify multiple expansions, you can either separate the values with commas or specify the parameter multiple times.")] = None, aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, _request_timeout: Union[ None, @@ -827,7 +826,7 @@ class ManageLabelsApi: :param id: The unique identifier of the label to operate on. (required) :type id: str :param expand: This parameter is optional and determines whether to include additional details in the response. To specify multiple expansions, you can either separate the values with commas or specify the parameter multiple times. - :type expand: List[Expand] + :type expand: List[ExpandLabelOptions] :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 @@ -934,7 +933,7 @@ class ManageLabelsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/endpoint/labels/{id}', + resource_path='/endpoint/labels/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -955,7 +954,7 @@ class ManageLabelsApi: self, max: Annotated[Optional[StrictInt], Field(description="(Optional) Maximum number of objects to return.")] = None, cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None, - expand: Annotated[Optional[List[Expand]], Field(description="This parameter is optional and determines whether to include additional details in the response. To specify multiple expansions, you can either separate the values with commas or specify the parameter multiple times.")] = None, + expand: Annotated[Optional[List[ExpandLabelOptions]], Field(description="This parameter is optional and determines whether to include additional details in the response. To specify multiple expansions, you can either separate the values with commas or specify the parameter multiple times.")] = None, aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, _request_timeout: Union[ None, @@ -979,7 +978,7 @@ class ManageLabelsApi: :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. :type cursor: str :param expand: This parameter is optional and determines whether to include additional details in the response. To specify multiple expansions, you can either separate the values with commas or specify the parameter multiple times. - :type expand: List[Expand] + :type expand: List[ExpandLabelOptions] :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 @@ -1038,7 +1037,7 @@ class ManageLabelsApi: self, max: Annotated[Optional[StrictInt], Field(description="(Optional) Maximum number of objects to return.")] = None, cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None, - expand: Annotated[Optional[List[Expand]], Field(description="This parameter is optional and determines whether to include additional details in the response. To specify multiple expansions, you can either separate the values with commas or specify the parameter multiple times.")] = None, + expand: Annotated[Optional[List[ExpandLabelOptions]], Field(description="This parameter is optional and determines whether to include additional details in the response. To specify multiple expansions, you can either separate the values with commas or specify the parameter multiple times.")] = None, aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, _request_timeout: Union[ None, @@ -1062,7 +1061,7 @@ class ManageLabelsApi: :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. :type cursor: str :param expand: This parameter is optional and determines whether to include additional details in the response. To specify multiple expansions, you can either separate the values with commas or specify the parameter multiple times. - :type expand: List[Expand] + :type expand: List[ExpandLabelOptions] :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 @@ -1121,7 +1120,7 @@ class ManageLabelsApi: self, max: Annotated[Optional[StrictInt], Field(description="(Optional) Maximum number of objects to return.")] = None, cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None, - expand: Annotated[Optional[List[Expand]], Field(description="This parameter is optional and determines whether to include additional details in the response. To specify multiple expansions, you can either separate the values with commas or specify the parameter multiple times.")] = None, + expand: Annotated[Optional[List[ExpandLabelOptions]], Field(description="This parameter is optional and determines whether to include additional details in the response. To specify multiple expansions, you can either separate the values with commas or specify the parameter multiple times.")] = None, aid: Annotated[Optional[StrictStr], Field(description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response.")] = None, _request_timeout: Union[ None, @@ -1145,7 +1144,7 @@ class ManageLabelsApi: :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. :type cursor: str :param expand: This parameter is optional and determines whether to include additional details in the response. To specify multiple expansions, you can either separate the values with commas or specify the parameter multiple times. - :type expand: List[Expand] + :type expand: List[ExpandLabelOptions] :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 @@ -1259,7 +1258,7 @@ class ManageLabelsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/endpoint/labels', + resource_path='/endpoint/labels', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1581,7 +1580,7 @@ class ManageLabelsApi: return self.api_client.param_serialize( method='PATCH', - resource_path='/v7/endpoint/labels/{id}', + resource_path='/endpoint/labels/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/__init__.py b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/__init__.py index eebeaa0a..0aca5afd 100644 --- a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/__init__.py +++ b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/__init__.py @@ -6,7 +6,6 @@ Manage labels applied to endpoint agents using this API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -15,7 +14,7 @@ # import models into model package from thousandeyes_sdk.endpoint_labels.models.error import Error -from thousandeyes_sdk.endpoint_labels.models.expand import Expand +from thousandeyes_sdk.endpoint_labels.models.expand_label_options import ExpandLabelOptions from thousandeyes_sdk.endpoint_labels.models.filter import Filter from thousandeyes_sdk.endpoint_labels.models.filter_type import FilterType from thousandeyes_sdk.endpoint_labels.models.label import Label diff --git a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/error.py b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/error.py index 111d888c..c67b5554 100644 --- a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/error.py +++ b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/error.py @@ -5,7 +5,6 @@ Manage labels applied to endpoint agents using this API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/expand.py b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/expand_label_options.py similarity index 66% rename from thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/expand.py rename to thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/expand_label_options.py index 01108029..34c280c2 100644 --- a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/expand.py +++ b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/expand_label_options.py @@ -5,7 +5,6 @@ Manage labels applied to endpoint agents using this API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -18,19 +17,24 @@ from enum import Enum from typing_extensions import Self -class Expand(str, Enum): +class ExpandLabelOptions(str, Enum): """ - Expand + ExpandLabelOptions """ """ allowed enum values """ FILTERS = 'filters' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: - """Create an instance of Expand from a JSON string""" + """Create an instance of ExpandLabelOptions from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/filter.py b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/filter.py index 0c38615d..3b24861f 100644 --- a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/filter.py +++ b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/filter.py @@ -5,7 +5,6 @@ Manage labels applied to endpoint agents using this API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/filter_type.py b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/filter_type.py index 8d293d86..55430031 100644 --- a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/filter_type.py +++ b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/filter_type.py @@ -5,7 +5,6 @@ Manage labels applied to endpoint agents using this API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -43,10 +42,15 @@ class FilterType(str, Enum): HOSTNAME = 'hostname' USERNAME = 'username' ASN = 'asn' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of FilterType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/label.py b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/label.py index b9b0a345..41a7f249 100644 --- a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/label.py +++ b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/label.py @@ -5,7 +5,6 @@ Manage labels applied to endpoint agents using this API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/label_filter_mode.py b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/label_filter_mode.py index 933b1034..1942030f 100644 --- a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/label_filter_mode.py +++ b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/label_filter_mode.py @@ -5,7 +5,6 @@ Manage labels applied to endpoint agents using this API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class LabelFilterMode(str, Enum): """ IN = 'in' NOT_MINUS_IN = 'not-in' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of LabelFilterMode from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/label_request.py b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/label_request.py index 841f316d..852aa828 100644 --- a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/label_request.py +++ b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/label_request.py @@ -5,7 +5,6 @@ Manage labels applied to endpoint agents using this API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/label_response.py b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/label_response.py index d42a5fbb..d73d9068 100644 --- a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/label_response.py +++ b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/label_response.py @@ -5,7 +5,6 @@ Manage labels applied to endpoint agents using this API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/labels.py b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/labels.py index 416e301a..d747f1b9 100644 --- a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/labels.py +++ b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/labels.py @@ -5,7 +5,6 @@ Manage labels applied to endpoint agents using this API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/link.py b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/link.py index 045c5ece..87f0c6f1 100644 --- a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/link.py +++ b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/link.py @@ -5,7 +5,6 @@ Manage labels applied to endpoint agents using this API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/match_type.py b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/match_type.py index c1356afa..e679dabe 100644 --- a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/match_type.py +++ b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/match_type.py @@ -5,7 +5,6 @@ Manage labels applied to endpoint agents using this API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class MatchType(str, Enum): """ AND = 'and' OR = 'or' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of MatchType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/pagination_next_and_self_link.py b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/pagination_next_and_self_link.py index bf58852e..ca22495a 100644 --- a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/pagination_next_and_self_link.py +++ b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/pagination_next_and_self_link.py @@ -5,7 +5,6 @@ Manage labels applied to endpoint agents using this API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/self_links.py b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/self_links.py index 18c9bab8..706d7764 100644 --- a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/self_links.py +++ b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/self_links.py @@ -5,7 +5,6 @@ Manage labels applied to endpoint agents using this API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/unauthorized_error.py b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/unauthorized_error.py index 9cdf17a7..370e51e2 100644 --- a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/unauthorized_error.py +++ b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/unauthorized_error.py @@ -5,7 +5,6 @@ Manage labels applied to endpoint agents using this API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/validation_error.py b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/validation_error.py index ca502f5c..d07336ec 100644 --- a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/validation_error.py +++ b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/validation_error.py @@ -5,7 +5,6 @@ Manage labels applied to endpoint agents using this API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/validation_error_item.py b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/validation_error_item.py index 1f313ec0..aaa64ea1 100644 --- a/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/validation_error_item.py +++ b/thousandeyes-sdk-endpoint-labels/src/thousandeyes_sdk/endpoint_labels/models/validation_error_item.py @@ -5,7 +5,6 @@ Manage labels applied to endpoint agents using this API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-labels/test/test_manage_labels_api.py b/thousandeyes-sdk-endpoint-labels/test/test_endpoint_agent_labels_api.py similarity index 97% rename from thousandeyes-sdk-endpoint-labels/test/test_manage_labels_api.py rename to thousandeyes-sdk-endpoint-labels/test/test_endpoint_agent_labels_api.py index bb144c22..adef3773 100644 --- a/thousandeyes-sdk-endpoint-labels/test/test_manage_labels_api.py +++ b/thousandeyes-sdk-endpoint-labels/test/test_endpoint_agent_labels_api.py @@ -5,7 +5,6 @@ Manage labels applied to endpoint agents using this API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.endpoint_labels.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.endpoint_labels.api.manage_labels_api import ManageLabelsApi +from thousandeyes_sdk.endpoint_labels.api.endpoint_agent_labels_api import EndpointAgentLabelsApi -class TestManageLabelsApi(unittest.TestCase): - """ManageLabelsApi unit test stubs""" +class TestEndpointAgentLabelsApi(unittest.TestCase): + """EndpointAgentLabelsApi unit test stubs""" def setUp(self) -> None: - self.api = ManageLabelsApi() + self.api = EndpointAgentLabelsApi() def tearDown(self) -> None: pass diff --git a/thousandeyes-sdk-endpoint-test-results/.openapi-generator/FILES b/thousandeyes-sdk-endpoint-test-results/.openapi-generator/FILES index bb6afa4b..31fcb051 100644 --- a/thousandeyes-sdk-endpoint-test-results/.openapi-generator/FILES +++ b/thousandeyes-sdk-endpoint-test-results/.openapi-generator/FILES @@ -1,21 +1,17 @@ .openapi-generator-ignore MANIFEST.in README.md -docs/AlertDirection.md -docs/AlertRoundsViolationMode.md -docs/AlertRule.md -docs/AlertType.md docs/ApplicationScoreQuality.md docs/AsnDetails.md docs/ConditionalOperator.md docs/CpuUtilization.md -docs/DynamicBaseTestResult.md +docs/DynamicBaseEndpointTestResult.md +docs/DynamicEndpointTestWebex.md +docs/DynamicEndpointTestsDataRoundSearch.md +docs/DynamicEndpointTestsDataSearchFilter.md docs/DynamicTest.md docs/DynamicTestLinks.md docs/DynamicTestSelfLink.md -docs/DynamicTestWebex.md -docs/DynamicTestsDataRoundSearch.md -docs/DynamicTestsDataSearchFilter.md docs/EndpointAgentLabelsSelectorConfig.md docs/EndpointAgentSelectorConfig.md docs/EndpointAgentToServerTest.md @@ -26,109 +22,120 @@ docs/EndpointHttpServerBaseTest.md docs/EndpointHttpServerTest.md docs/EndpointNetworkTopologyResultRequest.md docs/EndpointNetworkTopologyResultRequestFilter.md +docs/EndpointPathTrace.md +docs/EndpointPathVisHop.md +docs/EndpointPathVisRoute.md docs/EndpointPingDataPointScore.md -docs/EndpointRealUserTest.md -docs/EndpointRealUserTestBase.md -docs/EndpointRealUserTestDetail.md -docs/EndpointRealUserTestDetailResults.md -docs/EndpointRealUserTestResultRequestFilter.md -docs/EndpointRealUserTestResults.md -docs/EndpointRealUserTestResultsRequest.md docs/EndpointResultRequestFilter.md docs/EndpointScheduledTest.md docs/EndpointScheduledTestType.md docs/EndpointSpecificAgentsSelectorConfig.md docs/EndpointTest.md docs/EndpointTestAuthType.md +docs/EndpointTestEthernetProfile.md docs/EndpointTestLinks.md docs/EndpointTestProtocol.md +docs/EndpointTestResult.md +docs/EndpointTestResultProtocol.md docs/EndpointTestSelfLink.md +docs/EndpointTestsDataRoundsSearch.md +docs/EndpointTestsDataSearchFilter.md +docs/EndpointTestsDataSearchSort.md +docs/EndpointTestsDataSearchSortKey.md +docs/EndpointTestsDataThresholdFilter.md +docs/EndpointTestsDataThresholdFilters.md docs/Error.md -docs/EthernetProfile.md -docs/Expand.md +docs/ExpandEndpointHttpServerOptions.md docs/GatewayNetworkPing.md +docs/HTTPServerEndpointScheduledTestResultsApi.md docs/Hop.md +docs/HttpEndpointTestResult.md +docs/HttpEndpointTestResultHeaders.md +docs/HttpEndpointTestResults.md +docs/HttpEndpointTestsDataRoundsSearch.md +docs/HttpEndpointTestsDataSearchFilter.md +docs/HttpEndpointTestsDataSearchSort.md +docs/HttpEndpointTestsDataSearchSortKey.md +docs/HttpEndpointTestsDataThresholdFilter.md +docs/HttpEndpointTestsDataThresholdFilters.md docs/HttpErrorType.md -docs/HttpTestResult.md -docs/HttpTestResultHeaders.md -docs/HttpTestResults.md +docs/HttpMultiEndpointTestResults.md +docs/HttpThresholdFilterName.md docs/InterfaceHardwareType.md docs/Link.md +docs/LocalNetworkEndpointTestResultsApi.md docs/LocalNetworkResult.md docs/LocalNetworkResults.md -docs/LocalNetworkTestsResultsApi.md docs/LocalNetworkTopologyDetailResults.md docs/LocalNetworkTopologyResult.md docs/LocalNetworkTopologyResultBase.md docs/LocalNetworkTopologyResults.md -docs/MultiTestIdNetworkTestResults.md -docs/MultiTestIdTestsDataRoundsSearch.md -docs/MultiTestIdTestsDataSearchFilter.md -docs/NetworkDynamicTestResult.md -docs/NetworkDynamicTestResults.md -docs/NetworkDynamicTestsResultsApi.md +docs/MultiTestIdEndpointTestsDataRoundsSearch.md +docs/MultiTestIdEndpointTestsDataSearchFilter.md +docs/MultiTestIdNetworkEndpointTestResults.md +docs/NetworkDynamicEndpointTestResult.md +docs/NetworkDynamicEndpointTestResults.md +docs/NetworkDynamicEndpointTestResultsApi.md +docs/NetworkEndpointScheduledTestResultsApi.md +docs/NetworkEndpointTestResult.md +docs/NetworkEndpointTestResults.md docs/NetworkInterface.md docs/NetworkMetrics.md docs/NetworkPing.md docs/NetworkProfile.md docs/NetworkProxy.md docs/NetworkProxyProfile.md -docs/NetworkScheduledTestsResultsApi.md -docs/NetworkTestResult.md -docs/NetworkTestResults.md docs/NetworkTopologyType.md docs/NetworkWirelessProfile.md docs/PaginationNextAndSelfLink.md docs/PaginationNextLink.md -docs/PathVisBaseTestResult.md -docs/PathVisDetailDynamicTestResult.md -docs/PathVisDetailDynamicTestResults.md -docs/PathVisDetailTestResult.md -docs/PathVisDetailTestResults.md -docs/PathVisDynamicTestResult.md -docs/PathVisDynamicTestResults.md -docs/PathVisEndpoint.md -docs/PathVisHop.md -docs/PathVisRoute.md -docs/PathVisTestResult.md -docs/PathVisTestResults.md +docs/PathVisBaseEndpointTestResult.md +docs/PathVisDetailDynamicEndpointTestResult.md +docs/PathVisDetailDynamicEndpointTestResults.md +docs/PathVisDetailEndpointTestResult.md +docs/PathVisDetailEndpointTestResults.md +docs/PathVisDynamicEndpointTestResult.md +docs/PathVisDynamicEndpointTestResults.md +docs/PathVisEndpointTestResult.md +docs/PathVisEndpointTestResults.md docs/PhysicalMemoryUsedBytes.md docs/Platform.md -docs/RealUserTestCoordinates.md -docs/RealUserTestNetwork.md -docs/RealUserTestNetworkResult.md -docs/RealUserTestNetworkResults.md -docs/RealUserTestPage.md -docs/RealUserTestPageDetailResult.md -docs/RealUserTestPageResult.md -docs/RealUserTestPageResults.md -docs/RealUserTestPageTimings.md -docs/RealUserTestsResultsApi.md +docs/RealUserEndpointTest.md +docs/RealUserEndpointTestBase.md +docs/RealUserEndpointTestCoordinates.md +docs/RealUserEndpointTestDetail.md +docs/RealUserEndpointTestDetailResults.md +docs/RealUserEndpointTestNetwork.md +docs/RealUserEndpointTestNetworkResult.md +docs/RealUserEndpointTestNetworkResults.md +docs/RealUserEndpointTestPage.md +docs/RealUserEndpointTestPageDetailResult.md +docs/RealUserEndpointTestPageResult.md +docs/RealUserEndpointTestPageResults.md +docs/RealUserEndpointTestPageTimings.md +docs/RealUserEndpointTestResultRequestFilter.md +docs/RealUserEndpointTestResults.md +docs/RealUserEndpointTestResultsApi.md +docs/RealUserEndpointTestResultsRequest.md docs/SelfLinks.md -docs/Severity.md docs/SortOrder.md docs/SystemMetrics.md docs/TargetNetworkPing.md docs/TargetProfile.md docs/TargetTraceroute.md docs/TcpConnect.md +docs/TcpPathTraceModeResponse.md docs/TestInterval.md docs/TestLabel.md docs/TestProbeModeResponse.md docs/TestProtocol.md -docs/TestResult.md docs/TestSslVersionId.md -docs/TestsDataRoundsSearch.md -docs/TestsDataSearchFilter.md -docs/TestsDataSearchSort.md -docs/TestsDataSearchSortKey.md -docs/TestsDataThresholdFilter.md -docs/TestsDataThresholdFilters.md docs/ThresholdFilterName.md docs/ThresholdFilterOperator.md docs/Traceroute.md docs/TracerouteHop.md docs/Trigger.md +docs/UdpPathTraceModeResponse.md docs/UdpProbeModeResponse.md docs/UnauthorizedError.md docs/ValidationError.md @@ -137,32 +144,27 @@ docs/VpnNetworkPing.md docs/VpnProfile.md docs/VpnTraceroute.md docs/VpnType.md -docs/WebHTTPServerScheduledTestResultsApi.md pyproject.toml setup.cfg src/thousandeyes_sdk/endpoint_test_results/__init__.py src/thousandeyes_sdk/endpoint_test_results/api/__init__.py -src/thousandeyes_sdk/endpoint_test_results/api/local_network_tests_results_api.py -src/thousandeyes_sdk/endpoint_test_results/api/network_dynamic_tests_results_api.py -src/thousandeyes_sdk/endpoint_test_results/api/network_scheduled_tests_results_api.py -src/thousandeyes_sdk/endpoint_test_results/api/real_user_tests_results_api.py -src/thousandeyes_sdk/endpoint_test_results/api/web_http_server_scheduled_test_results_api.py +src/thousandeyes_sdk/endpoint_test_results/api/http_server_endpoint_scheduled_test_results_api.py +src/thousandeyes_sdk/endpoint_test_results/api/local_network_endpoint_test_results_api.py +src/thousandeyes_sdk/endpoint_test_results/api/network_dynamic_endpoint_test_results_api.py +src/thousandeyes_sdk/endpoint_test_results/api/network_endpoint_scheduled_test_results_api.py +src/thousandeyes_sdk/endpoint_test_results/api/real_user_endpoint_test_results_api.py src/thousandeyes_sdk/endpoint_test_results/models/__init__.py -src/thousandeyes_sdk/endpoint_test_results/models/alert_direction.py -src/thousandeyes_sdk/endpoint_test_results/models/alert_rounds_violation_mode.py -src/thousandeyes_sdk/endpoint_test_results/models/alert_rule.py -src/thousandeyes_sdk/endpoint_test_results/models/alert_type.py src/thousandeyes_sdk/endpoint_test_results/models/application_score_quality.py src/thousandeyes_sdk/endpoint_test_results/models/asn_details.py src/thousandeyes_sdk/endpoint_test_results/models/conditional_operator.py src/thousandeyes_sdk/endpoint_test_results/models/cpu_utilization.py -src/thousandeyes_sdk/endpoint_test_results/models/dynamic_base_test_result.py +src/thousandeyes_sdk/endpoint_test_results/models/dynamic_base_endpoint_test_result.py +src/thousandeyes_sdk/endpoint_test_results/models/dynamic_endpoint_test_webex.py +src/thousandeyes_sdk/endpoint_test_results/models/dynamic_endpoint_tests_data_round_search.py +src/thousandeyes_sdk/endpoint_test_results/models/dynamic_endpoint_tests_data_search_filter.py src/thousandeyes_sdk/endpoint_test_results/models/dynamic_test.py src/thousandeyes_sdk/endpoint_test_results/models/dynamic_test_links.py src/thousandeyes_sdk/endpoint_test_results/models/dynamic_test_self_link.py -src/thousandeyes_sdk/endpoint_test_results/models/dynamic_test_webex.py -src/thousandeyes_sdk/endpoint_test_results/models/dynamic_tests_data_round_search.py -src/thousandeyes_sdk/endpoint_test_results/models/dynamic_tests_data_search_filter.py src/thousandeyes_sdk/endpoint_test_results/models/endpoint_agent_labels_selector_config.py src/thousandeyes_sdk/endpoint_test_results/models/endpoint_agent_selector_config.py src/thousandeyes_sdk/endpoint_test_results/models/endpoint_agent_to_server_test.py @@ -173,32 +175,44 @@ src/thousandeyes_sdk/endpoint_test_results/models/endpoint_http_server_base_test src/thousandeyes_sdk/endpoint_test_results/models/endpoint_http_server_test.py src/thousandeyes_sdk/endpoint_test_results/models/endpoint_network_topology_result_request.py src/thousandeyes_sdk/endpoint_test_results/models/endpoint_network_topology_result_request_filter.py +src/thousandeyes_sdk/endpoint_test_results/models/endpoint_path_trace.py +src/thousandeyes_sdk/endpoint_test_results/models/endpoint_path_vis_hop.py +src/thousandeyes_sdk/endpoint_test_results/models/endpoint_path_vis_route.py src/thousandeyes_sdk/endpoint_test_results/models/endpoint_ping_data_point_score.py -src/thousandeyes_sdk/endpoint_test_results/models/endpoint_real_user_test.py -src/thousandeyes_sdk/endpoint_test_results/models/endpoint_real_user_test_base.py -src/thousandeyes_sdk/endpoint_test_results/models/endpoint_real_user_test_detail.py -src/thousandeyes_sdk/endpoint_test_results/models/endpoint_real_user_test_detail_results.py -src/thousandeyes_sdk/endpoint_test_results/models/endpoint_real_user_test_result_request_filter.py -src/thousandeyes_sdk/endpoint_test_results/models/endpoint_real_user_test_results.py -src/thousandeyes_sdk/endpoint_test_results/models/endpoint_real_user_test_results_request.py src/thousandeyes_sdk/endpoint_test_results/models/endpoint_result_request_filter.py src/thousandeyes_sdk/endpoint_test_results/models/endpoint_scheduled_test.py src/thousandeyes_sdk/endpoint_test_results/models/endpoint_scheduled_test_type.py src/thousandeyes_sdk/endpoint_test_results/models/endpoint_specific_agents_selector_config.py src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test.py src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test_auth_type.py +src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test_ethernet_profile.py src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test_links.py src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test_protocol.py +src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test_result.py +src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test_result_protocol.py src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test_self_link.py +src/thousandeyes_sdk/endpoint_test_results/models/endpoint_tests_data_rounds_search.py +src/thousandeyes_sdk/endpoint_test_results/models/endpoint_tests_data_search_filter.py +src/thousandeyes_sdk/endpoint_test_results/models/endpoint_tests_data_search_sort.py +src/thousandeyes_sdk/endpoint_test_results/models/endpoint_tests_data_search_sort_key.py +src/thousandeyes_sdk/endpoint_test_results/models/endpoint_tests_data_threshold_filter.py +src/thousandeyes_sdk/endpoint_test_results/models/endpoint_tests_data_threshold_filters.py src/thousandeyes_sdk/endpoint_test_results/models/error.py -src/thousandeyes_sdk/endpoint_test_results/models/ethernet_profile.py -src/thousandeyes_sdk/endpoint_test_results/models/expand.py +src/thousandeyes_sdk/endpoint_test_results/models/expand_endpoint_http_server_options.py src/thousandeyes_sdk/endpoint_test_results/models/gateway_network_ping.py src/thousandeyes_sdk/endpoint_test_results/models/hop.py +src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_test_result.py +src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_test_result_headers.py +src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_test_results.py +src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_tests_data_rounds_search.py +src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_tests_data_search_filter.py +src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_tests_data_search_sort.py +src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_tests_data_search_sort_key.py +src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_tests_data_threshold_filter.py +src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_tests_data_threshold_filters.py src/thousandeyes_sdk/endpoint_test_results/models/http_error_type.py -src/thousandeyes_sdk/endpoint_test_results/models/http_test_result.py -src/thousandeyes_sdk/endpoint_test_results/models/http_test_result_headers.py -src/thousandeyes_sdk/endpoint_test_results/models/http_test_results.py +src/thousandeyes_sdk/endpoint_test_results/models/http_multi_endpoint_test_results.py +src/thousandeyes_sdk/endpoint_test_results/models/http_threshold_filter_name.py src/thousandeyes_sdk/endpoint_test_results/models/interface_hardware_type.py src/thousandeyes_sdk/endpoint_test_results/models/link.py src/thousandeyes_sdk/endpoint_test_results/models/local_network_result.py @@ -207,71 +221,69 @@ src/thousandeyes_sdk/endpoint_test_results/models/local_network_topology_detail_ src/thousandeyes_sdk/endpoint_test_results/models/local_network_topology_result.py src/thousandeyes_sdk/endpoint_test_results/models/local_network_topology_result_base.py src/thousandeyes_sdk/endpoint_test_results/models/local_network_topology_results.py -src/thousandeyes_sdk/endpoint_test_results/models/multi_test_id_network_test_results.py -src/thousandeyes_sdk/endpoint_test_results/models/multi_test_id_tests_data_rounds_search.py -src/thousandeyes_sdk/endpoint_test_results/models/multi_test_id_tests_data_search_filter.py -src/thousandeyes_sdk/endpoint_test_results/models/network_dynamic_test_result.py -src/thousandeyes_sdk/endpoint_test_results/models/network_dynamic_test_results.py +src/thousandeyes_sdk/endpoint_test_results/models/multi_test_id_endpoint_tests_data_rounds_search.py +src/thousandeyes_sdk/endpoint_test_results/models/multi_test_id_endpoint_tests_data_search_filter.py +src/thousandeyes_sdk/endpoint_test_results/models/multi_test_id_network_endpoint_test_results.py +src/thousandeyes_sdk/endpoint_test_results/models/network_dynamic_endpoint_test_result.py +src/thousandeyes_sdk/endpoint_test_results/models/network_dynamic_endpoint_test_results.py +src/thousandeyes_sdk/endpoint_test_results/models/network_endpoint_test_result.py +src/thousandeyes_sdk/endpoint_test_results/models/network_endpoint_test_results.py src/thousandeyes_sdk/endpoint_test_results/models/network_interface.py src/thousandeyes_sdk/endpoint_test_results/models/network_metrics.py src/thousandeyes_sdk/endpoint_test_results/models/network_ping.py src/thousandeyes_sdk/endpoint_test_results/models/network_profile.py src/thousandeyes_sdk/endpoint_test_results/models/network_proxy.py src/thousandeyes_sdk/endpoint_test_results/models/network_proxy_profile.py -src/thousandeyes_sdk/endpoint_test_results/models/network_test_result.py -src/thousandeyes_sdk/endpoint_test_results/models/network_test_results.py src/thousandeyes_sdk/endpoint_test_results/models/network_topology_type.py src/thousandeyes_sdk/endpoint_test_results/models/network_wireless_profile.py src/thousandeyes_sdk/endpoint_test_results/models/pagination_next_and_self_link.py src/thousandeyes_sdk/endpoint_test_results/models/pagination_next_link.py -src/thousandeyes_sdk/endpoint_test_results/models/path_vis_base_test_result.py -src/thousandeyes_sdk/endpoint_test_results/models/path_vis_detail_dynamic_test_result.py -src/thousandeyes_sdk/endpoint_test_results/models/path_vis_detail_dynamic_test_results.py -src/thousandeyes_sdk/endpoint_test_results/models/path_vis_detail_test_result.py -src/thousandeyes_sdk/endpoint_test_results/models/path_vis_detail_test_results.py -src/thousandeyes_sdk/endpoint_test_results/models/path_vis_dynamic_test_result.py -src/thousandeyes_sdk/endpoint_test_results/models/path_vis_dynamic_test_results.py -src/thousandeyes_sdk/endpoint_test_results/models/path_vis_endpoint.py -src/thousandeyes_sdk/endpoint_test_results/models/path_vis_hop.py -src/thousandeyes_sdk/endpoint_test_results/models/path_vis_route.py -src/thousandeyes_sdk/endpoint_test_results/models/path_vis_test_result.py -src/thousandeyes_sdk/endpoint_test_results/models/path_vis_test_results.py +src/thousandeyes_sdk/endpoint_test_results/models/path_vis_base_endpoint_test_result.py +src/thousandeyes_sdk/endpoint_test_results/models/path_vis_detail_dynamic_endpoint_test_result.py +src/thousandeyes_sdk/endpoint_test_results/models/path_vis_detail_dynamic_endpoint_test_results.py +src/thousandeyes_sdk/endpoint_test_results/models/path_vis_detail_endpoint_test_result.py +src/thousandeyes_sdk/endpoint_test_results/models/path_vis_detail_endpoint_test_results.py +src/thousandeyes_sdk/endpoint_test_results/models/path_vis_dynamic_endpoint_test_result.py +src/thousandeyes_sdk/endpoint_test_results/models/path_vis_dynamic_endpoint_test_results.py +src/thousandeyes_sdk/endpoint_test_results/models/path_vis_endpoint_test_result.py +src/thousandeyes_sdk/endpoint_test_results/models/path_vis_endpoint_test_results.py src/thousandeyes_sdk/endpoint_test_results/models/physical_memory_used_bytes.py src/thousandeyes_sdk/endpoint_test_results/models/platform.py -src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_coordinates.py -src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_network.py -src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_network_result.py -src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_network_results.py -src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_page.py -src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_page_detail_result.py -src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_page_result.py -src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_page_results.py -src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_page_timings.py +src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test.py +src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_base.py +src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_coordinates.py +src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_detail.py +src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_detail_results.py +src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_network.py +src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_network_result.py +src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_network_results.py +src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_page.py +src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_page_detail_result.py +src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_page_result.py +src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_page_results.py +src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_page_timings.py +src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_result_request_filter.py +src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_results.py +src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_results_request.py src/thousandeyes_sdk/endpoint_test_results/models/self_links.py -src/thousandeyes_sdk/endpoint_test_results/models/severity.py src/thousandeyes_sdk/endpoint_test_results/models/sort_order.py src/thousandeyes_sdk/endpoint_test_results/models/system_metrics.py src/thousandeyes_sdk/endpoint_test_results/models/target_network_ping.py src/thousandeyes_sdk/endpoint_test_results/models/target_profile.py src/thousandeyes_sdk/endpoint_test_results/models/target_traceroute.py src/thousandeyes_sdk/endpoint_test_results/models/tcp_connect.py +src/thousandeyes_sdk/endpoint_test_results/models/tcp_path_trace_mode_response.py src/thousandeyes_sdk/endpoint_test_results/models/test_interval.py src/thousandeyes_sdk/endpoint_test_results/models/test_label.py src/thousandeyes_sdk/endpoint_test_results/models/test_probe_mode_response.py src/thousandeyes_sdk/endpoint_test_results/models/test_protocol.py -src/thousandeyes_sdk/endpoint_test_results/models/test_result.py src/thousandeyes_sdk/endpoint_test_results/models/test_ssl_version_id.py -src/thousandeyes_sdk/endpoint_test_results/models/tests_data_rounds_search.py -src/thousandeyes_sdk/endpoint_test_results/models/tests_data_search_filter.py -src/thousandeyes_sdk/endpoint_test_results/models/tests_data_search_sort.py -src/thousandeyes_sdk/endpoint_test_results/models/tests_data_search_sort_key.py -src/thousandeyes_sdk/endpoint_test_results/models/tests_data_threshold_filter.py -src/thousandeyes_sdk/endpoint_test_results/models/tests_data_threshold_filters.py src/thousandeyes_sdk/endpoint_test_results/models/threshold_filter_name.py src/thousandeyes_sdk/endpoint_test_results/models/threshold_filter_operator.py src/thousandeyes_sdk/endpoint_test_results/models/traceroute.py src/thousandeyes_sdk/endpoint_test_results/models/traceroute_hop.py src/thousandeyes_sdk/endpoint_test_results/models/trigger.py +src/thousandeyes_sdk/endpoint_test_results/models/udp_path_trace_mode_response.py src/thousandeyes_sdk/endpoint_test_results/models/udp_probe_mode_response.py src/thousandeyes_sdk/endpoint_test_results/models/unauthorized_error.py src/thousandeyes_sdk/endpoint_test_results/models/validation_error.py @@ -282,9 +294,9 @@ src/thousandeyes_sdk/endpoint_test_results/models/vpn_traceroute.py src/thousandeyes_sdk/endpoint_test_results/models/vpn_type.py src/thousandeyes_sdk/endpoint_test_results/py.typed test/__init__.py -test/test_local_network_tests_results_api.py -test/test_network_dynamic_tests_results_api.py -test/test_network_scheduled_tests_results_api.py -test/test_real_user_tests_results_api.py +test/test_http_server_endpoint_scheduled_test_results_api.py +test/test_local_network_endpoint_test_results_api.py +test/test_network_dynamic_endpoint_test_results_api.py +test/test_network_endpoint_scheduled_test_results_api.py +test/test_real_user_endpoint_test_results_api.py test/test_utils.py -test/test_web_http_server_scheduled_test_results_api.py diff --git a/thousandeyes-sdk-endpoint-test-results/README.md b/thousandeyes-sdk-endpoint-test-results/README.md index c568e871..6ddcf6b5 100644 --- a/thousandeyes-sdk-endpoint-test-results/README.md +++ b/thousandeyes-sdk-endpoint-test-results/README.md @@ -3,7 +3,7 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 7.0.8 +- API version: 7.0.20 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator @@ -55,10 +55,10 @@ import thousandeyes_sdk.endpoint_test_results from thousandeyes_sdk.core.exceptions import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -75,65 +75,63 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.core.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_test_results.LocalNetworkTestsResultsApi(api_client) + api_instance = thousandeyes_sdk.endpoint_test_results.HTTPServerEndpointScheduledTestResultsApi(api_client) + test_id = '202701' # str | Test 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) window = '12h' # str | A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. (optional) start_date = '2022-07-17T22:00:54Z' # datetime | Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. (optional) end_date = '2022-07-18T22:00:54Z' # datetime | Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. (optional) cursor = 'cursor_example' # str | (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. (optional) - endpoint_network_topology_result_request = thousandeyes_sdk.endpoint_test_results.EndpointNetworkTopologyResultRequest() # EndpointNetworkTopologyResultRequest | (optional) + expand = [thousandeyes_sdk.endpoint_test_results.ExpandEndpointHttpServerOptions()] # List[ExpandEndpointHttpServerOptions] | This parameter is optional and determines whether to expand resources related to test results. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as \"header,\" append `?expand=header` to the query. (optional) try: - # List endpoint network topologies probes - api_response = api_instance.filter_local_networks_test_results_topologies(aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, endpoint_network_topology_result_request=endpoint_network_topology_result_request) - print("The response of LocalNetworkTestsResultsApi->filter_local_networks_test_results_topologies:\n") + # Retrieve HTTP server scheduled test results + api_response = api_instance.get_http_server_scheduled_test_results(test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, expand=expand) + print("The response of HTTPServerEndpointScheduledTestResultsApi->get_http_server_scheduled_test_results:\n") pprint(api_response) except ApiException as e: - print("Exception when calling LocalNetworkTestsResultsApi->filter_local_networks_test_results_topologies: %s\n" % e) + print("Exception when calling HTTPServerEndpointScheduledTestResultsApi->get_http_server_scheduled_test_results: %s\n" % e) ``` ## Documentation for API Endpoints -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- -*LocalNetworkTestsResultsApi* | [**filter_local_networks_test_results_topologies**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/LocalNetworkTestsResultsApi.md#filter_local_networks_test_results_topologies) | **POST** /v7/endpoint/test-results/local-networks/topologies/filter | List endpoint network topologies probes -*LocalNetworkTestsResultsApi* | [**get_local_networks_test_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/LocalNetworkTestsResultsApi.md#get_local_networks_test_results) | **GET** /v7/endpoint/test-results/local-networks | List local networks -*LocalNetworkTestsResultsApi* | [**get_local_networks_test_results_topology**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/LocalNetworkTestsResultsApi.md#get_local_networks_test_results_topology) | **GET** /v7/endpoint/test-results/local-networks/topologies/{networkTopologyId} | Retrieve endpoint local network topology -*NetworkDynamicTestsResultsApi* | [**filter_dynamic_test_network_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/NetworkDynamicTestsResultsApi.md#filter_dynamic_test_network_results) | **POST** /v7/endpoint/test-results/dynamic-tests/{testId}/network/filter | Retrieve network dynamic test results -*NetworkDynamicTestsResultsApi* | [**get_dynamic_test_path_vis_agent_round_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/NetworkDynamicTestsResultsApi.md#get_dynamic_test_path_vis_agent_round_results) | **GET** /v7/endpoint/test-results/dynamic-tests/{testId}/path-vis/agent/{agentId}/round/{roundId} | Retrieve path visualization network dynamic test results details -*NetworkDynamicTestsResultsApi* | [**get_dynamic_test_path_vis_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/NetworkDynamicTestsResultsApi.md#get_dynamic_test_path_vis_results) | **GET** /v7/endpoint/test-results/dynamic-tests/{testId}/path-vis | Retrieve path visualization network dynamic test results -*NetworkScheduledTestsResultsApi* | [**filter_scheduled_test_network_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/NetworkScheduledTestsResultsApi.md#filter_scheduled_test_network_results) | **POST** /v7/endpoint/test-results/scheduled-tests/{testId}/network/filter | Retrieve network scheduled test results -*NetworkScheduledTestsResultsApi* | [**filter_scheduled_tests_network_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/NetworkScheduledTestsResultsApi.md#filter_scheduled_tests_network_results) | **POST** /v7/endpoint/test-results/scheduled-tests/network/filter | Retrieve network scheduled test results from multiple tests -*NetworkScheduledTestsResultsApi* | [**get_scheduled_test_path_vis_agent_round_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/NetworkScheduledTestsResultsApi.md#get_scheduled_test_path_vis_agent_round_results) | **GET** /v7/endpoint/test-results/scheduled-tests/{testId}/path-vis/agent/{agentId}/round/{roundId} | Retrieve path visualization network scheduled test results details -*NetworkScheduledTestsResultsApi* | [**get_scheduled_test_path_vis_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/NetworkScheduledTestsResultsApi.md#get_scheduled_test_path_vis_results) | **GET** /v7/endpoint/test-results/scheduled-tests/{testId}/path-vis | Retrieve path visualization network scheduled test results -*RealUserTestsResultsApi* | [**filter_real_user_tests_network_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestsResultsApi.md#filter_real_user_tests_network_results) | **POST** /v7/endpoint/test-results/real-user-tests/networks/filter | List endpoint real user tests -*RealUserTestsResultsApi* | [**filter_real_user_tests_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestsResultsApi.md#filter_real_user_tests_results) | **POST** /v7/endpoint/test-results/real-user-tests/filter | List endpoint real user tests -*RealUserTestsResultsApi* | [**filter_real_user_tests_visited_pages_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestsResultsApi.md#filter_real_user_tests_visited_pages_results) | **POST** /v7/endpoint/test-results/real-user-tests/pages/filter | List endpoint real user tests visited pages -*RealUserTestsResultsApi* | [**get_real_user_test_page_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestsResultsApi.md#get_real_user_test_page_results) | **GET** /v7/endpoint/test-results/real-user-tests/{id}/pages/{pageId} | Retrieve endpoint real user test page -*RealUserTestsResultsApi* | [**get_real_user_test_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestsResultsApi.md#get_real_user_test_results) | **GET** /v7/endpoint/test-results/real-user-tests/{id} | Retrieve endpoint real user test -*WebHTTPServerScheduledTestResultsApi* | [**get_http_server_scheduled_test_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/WebHTTPServerScheduledTestResultsApi.md#get_http_server_scheduled_test_results) | **GET** /v7/endpoint/test-results/scheduled-tests/{testId}/http-server | Retrieve HTTP server scheduled test results +*HTTPServerEndpointScheduledTestResultsApi* | [**get_http_server_scheduled_test_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/HTTPServerEndpointScheduledTestResultsApi.md#get_http_server_scheduled_test_results) | **GET** /endpoint/test-results/scheduled-tests/{testId}/http-server | Retrieve HTTP server scheduled test results +*HTTPServerEndpointScheduledTestResultsApi* | [**get_multi_test_filtered_http_server_scheduled_test_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/HTTPServerEndpointScheduledTestResultsApi.md#get_multi_test_filtered_http_server_scheduled_test_results) | **POST** /endpoint/test-results/scheduled-tests/http-server/filter | Filter HTTP server scheduled test results +*LocalNetworkEndpointTestResultsApi* | [**filter_local_networks_test_results_topologies**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/LocalNetworkEndpointTestResultsApi.md#filter_local_networks_test_results_topologies) | **POST** /endpoint/test-results/local-networks/topologies/filter | List endpoint network topologies probes +*LocalNetworkEndpointTestResultsApi* | [**get_local_networks_test_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/LocalNetworkEndpointTestResultsApi.md#get_local_networks_test_results) | **GET** /endpoint/test-results/local-networks | List local networks +*LocalNetworkEndpointTestResultsApi* | [**get_local_networks_test_results_topology**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/LocalNetworkEndpointTestResultsApi.md#get_local_networks_test_results_topology) | **GET** /endpoint/test-results/local-networks/topologies/{networkTopologyId} | Retrieve endpoint local network topology +*NetworkDynamicEndpointTestResultsApi* | [**filter_dynamic_test_network_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/NetworkDynamicEndpointTestResultsApi.md#filter_dynamic_test_network_results) | **POST** /endpoint/test-results/dynamic-tests/{testId}/network/filter | Retrieve network dynamic test results +*NetworkDynamicEndpointTestResultsApi* | [**get_dynamic_test_path_vis_agent_round_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/NetworkDynamicEndpointTestResultsApi.md#get_dynamic_test_path_vis_agent_round_results) | **GET** /endpoint/test-results/dynamic-tests/{testId}/path-vis/agent/{agentId}/round/{roundId} | Retrieve path visualization network dynamic test results details +*NetworkDynamicEndpointTestResultsApi* | [**get_dynamic_test_path_vis_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/NetworkDynamicEndpointTestResultsApi.md#get_dynamic_test_path_vis_results) | **GET** /endpoint/test-results/dynamic-tests/{testId}/path-vis | Retrieve path visualization network dynamic test results +*NetworkEndpointScheduledTestResultsApi* | [**filter_scheduled_test_network_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/NetworkEndpointScheduledTestResultsApi.md#filter_scheduled_test_network_results) | **POST** /endpoint/test-results/scheduled-tests/{testId}/network/filter | Retrieve network scheduled test results +*NetworkEndpointScheduledTestResultsApi* | [**filter_scheduled_tests_network_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/NetworkEndpointScheduledTestResultsApi.md#filter_scheduled_tests_network_results) | **POST** /endpoint/test-results/scheduled-tests/network/filter | Retrieve network scheduled test results from multiple tests +*NetworkEndpointScheduledTestResultsApi* | [**get_scheduled_test_path_vis_agent_round_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/NetworkEndpointScheduledTestResultsApi.md#get_scheduled_test_path_vis_agent_round_results) | **GET** /endpoint/test-results/scheduled-tests/{testId}/path-vis/agent/{agentId}/round/{roundId} | Retrieve path visualization network scheduled test results details +*NetworkEndpointScheduledTestResultsApi* | [**get_scheduled_test_path_vis_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/NetworkEndpointScheduledTestResultsApi.md#get_scheduled_test_path_vis_results) | **GET** /endpoint/test-results/scheduled-tests/{testId}/path-vis | Retrieve path visualization network scheduled test results +*RealUserEndpointTestResultsApi* | [**filter_real_user_tests_network_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestResultsApi.md#filter_real_user_tests_network_results) | **POST** /endpoint/test-results/real-user-tests/networks/filter | List endpoint real user tests +*RealUserEndpointTestResultsApi* | [**filter_real_user_tests_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestResultsApi.md#filter_real_user_tests_results) | **POST** /endpoint/test-results/real-user-tests/filter | List endpoint real user tests +*RealUserEndpointTestResultsApi* | [**filter_real_user_tests_visited_pages_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestResultsApi.md#filter_real_user_tests_visited_pages_results) | **POST** /endpoint/test-results/real-user-tests/pages/filter | List endpoint real user tests visited pages +*RealUserEndpointTestResultsApi* | [**get_real_user_test_page_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestResultsApi.md#get_real_user_test_page_results) | **GET** /endpoint/test-results/real-user-tests/{id}/pages/{pageId} | Retrieve endpoint real user test page +*RealUserEndpointTestResultsApi* | [**get_real_user_test_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestResultsApi.md#get_real_user_test_results) | **GET** /endpoint/test-results/real-user-tests/{id} | Retrieve endpoint real user test ## Documentation For Models - - [AlertDirection](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/AlertDirection.md) - - [AlertRoundsViolationMode](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/AlertRoundsViolationMode.md) - - [AlertRule](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/AlertRule.md) - - [AlertType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/AlertType.md) - [ApplicationScoreQuality](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/ApplicationScoreQuality.md) - [AsnDetails](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/AsnDetails.md) - [ConditionalOperator](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/ConditionalOperator.md) - [CpuUtilization](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/CpuUtilization.md) - - [DynamicBaseTestResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/DynamicBaseTestResult.md) + - [DynamicBaseEndpointTestResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/DynamicBaseEndpointTestResult.md) + - [DynamicEndpointTestWebex](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/DynamicEndpointTestWebex.md) + - [DynamicEndpointTestsDataRoundSearch](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/DynamicEndpointTestsDataRoundSearch.md) + - [DynamicEndpointTestsDataSearchFilter](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/DynamicEndpointTestsDataSearchFilter.md) - [DynamicTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/DynamicTest.md) - [DynamicTestLinks](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/DynamicTestLinks.md) - [DynamicTestSelfLink](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/DynamicTestSelfLink.md) - - [DynamicTestWebex](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/DynamicTestWebex.md) - - [DynamicTestsDataRoundSearch](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/DynamicTestsDataRoundSearch.md) - - [DynamicTestsDataSearchFilter](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/DynamicTestsDataSearchFilter.md) - [EndpointAgentLabelsSelectorConfig](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointAgentLabelsSelectorConfig.md) - [EndpointAgentSelectorConfig](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointAgentSelectorConfig.md) - [EndpointAgentToServerTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointAgentToServerTest.md) @@ -144,32 +142,44 @@ Class | Method | HTTP request | Description - [EndpointHttpServerTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointHttpServerTest.md) - [EndpointNetworkTopologyResultRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointNetworkTopologyResultRequest.md) - [EndpointNetworkTopologyResultRequestFilter](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointNetworkTopologyResultRequestFilter.md) + - [EndpointPathTrace](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointPathTrace.md) + - [EndpointPathVisHop](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointPathVisHop.md) + - [EndpointPathVisRoute](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointPathVisRoute.md) - [EndpointPingDataPointScore](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointPingDataPointScore.md) - - [EndpointRealUserTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointRealUserTest.md) - - [EndpointRealUserTestBase](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointRealUserTestBase.md) - - [EndpointRealUserTestDetail](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointRealUserTestDetail.md) - - [EndpointRealUserTestDetailResults](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointRealUserTestDetailResults.md) - - [EndpointRealUserTestResultRequestFilter](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointRealUserTestResultRequestFilter.md) - - [EndpointRealUserTestResults](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointRealUserTestResults.md) - - [EndpointRealUserTestResultsRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointRealUserTestResultsRequest.md) - [EndpointResultRequestFilter](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointResultRequestFilter.md) - [EndpointScheduledTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointScheduledTest.md) - [EndpointScheduledTestType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointScheduledTestType.md) - [EndpointSpecificAgentsSelectorConfig](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointSpecificAgentsSelectorConfig.md) - [EndpointTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointTest.md) - [EndpointTestAuthType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestAuthType.md) + - [EndpointTestEthernetProfile](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestEthernetProfile.md) - [EndpointTestLinks](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestLinks.md) - [EndpointTestProtocol](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestProtocol.md) + - [EndpointTestResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestResult.md) + - [EndpointTestResultProtocol](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestResultProtocol.md) - [EndpointTestSelfLink](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestSelfLink.md) + - [EndpointTestsDataRoundsSearch](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestsDataRoundsSearch.md) + - [EndpointTestsDataSearchFilter](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestsDataSearchFilter.md) + - [EndpointTestsDataSearchSort](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestsDataSearchSort.md) + - [EndpointTestsDataSearchSortKey](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestsDataSearchSortKey.md) + - [EndpointTestsDataThresholdFilter](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestsDataThresholdFilter.md) + - [EndpointTestsDataThresholdFilters](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestsDataThresholdFilters.md) - [Error](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/Error.md) - - [EthernetProfile](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/EthernetProfile.md) - - [Expand](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/Expand.md) + - [ExpandEndpointHttpServerOptions](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/ExpandEndpointHttpServerOptions.md) - [GatewayNetworkPing](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/GatewayNetworkPing.md) - [Hop](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/Hop.md) + - [HttpEndpointTestResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestResult.md) + - [HttpEndpointTestResultHeaders](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestResultHeaders.md) + - [HttpEndpointTestResults](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestResults.md) + - [HttpEndpointTestsDataRoundsSearch](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestsDataRoundsSearch.md) + - [HttpEndpointTestsDataSearchFilter](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestsDataSearchFilter.md) + - [HttpEndpointTestsDataSearchSort](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestsDataSearchSort.md) + - [HttpEndpointTestsDataSearchSortKey](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestsDataSearchSortKey.md) + - [HttpEndpointTestsDataThresholdFilter](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestsDataThresholdFilter.md) + - [HttpEndpointTestsDataThresholdFilters](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestsDataThresholdFilters.md) - [HttpErrorType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/HttpErrorType.md) - - [HttpTestResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/HttpTestResult.md) - - [HttpTestResultHeaders](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/HttpTestResultHeaders.md) - - [HttpTestResults](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/HttpTestResults.md) + - [HttpMultiEndpointTestResults](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/HttpMultiEndpointTestResults.md) + - [HttpThresholdFilterName](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/HttpThresholdFilterName.md) - [InterfaceHardwareType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/InterfaceHardwareType.md) - [Link](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/Link.md) - [LocalNetworkResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/LocalNetworkResult.md) @@ -178,71 +188,69 @@ Class | Method | HTTP request | Description - [LocalNetworkTopologyResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/LocalNetworkTopologyResult.md) - [LocalNetworkTopologyResultBase](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/LocalNetworkTopologyResultBase.md) - [LocalNetworkTopologyResults](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/LocalNetworkTopologyResults.md) - - [MultiTestIdNetworkTestResults](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/MultiTestIdNetworkTestResults.md) - - [MultiTestIdTestsDataRoundsSearch](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/MultiTestIdTestsDataRoundsSearch.md) - - [MultiTestIdTestsDataSearchFilter](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/MultiTestIdTestsDataSearchFilter.md) - - [NetworkDynamicTestResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/NetworkDynamicTestResult.md) - - [NetworkDynamicTestResults](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/NetworkDynamicTestResults.md) + - [MultiTestIdEndpointTestsDataRoundsSearch](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/MultiTestIdEndpointTestsDataRoundsSearch.md) + - [MultiTestIdEndpointTestsDataSearchFilter](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/MultiTestIdEndpointTestsDataSearchFilter.md) + - [MultiTestIdNetworkEndpointTestResults](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/MultiTestIdNetworkEndpointTestResults.md) + - [NetworkDynamicEndpointTestResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/NetworkDynamicEndpointTestResult.md) + - [NetworkDynamicEndpointTestResults](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/NetworkDynamicEndpointTestResults.md) + - [NetworkEndpointTestResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/NetworkEndpointTestResult.md) + - [NetworkEndpointTestResults](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/NetworkEndpointTestResults.md) - [NetworkInterface](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/NetworkInterface.md) - [NetworkMetrics](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/NetworkMetrics.md) - [NetworkPing](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/NetworkPing.md) - [NetworkProfile](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/NetworkProfile.md) - [NetworkProxy](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/NetworkProxy.md) - [NetworkProxyProfile](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/NetworkProxyProfile.md) - - [NetworkTestResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/NetworkTestResult.md) - - [NetworkTestResults](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/NetworkTestResults.md) - [NetworkTopologyType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/NetworkTopologyType.md) - [NetworkWirelessProfile](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/NetworkWirelessProfile.md) - [PaginationNextAndSelfLink](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/PaginationNextAndSelfLink.md) - [PaginationNextLink](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/PaginationNextLink.md) - - [PathVisBaseTestResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/PathVisBaseTestResult.md) - - [PathVisDetailDynamicTestResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/PathVisDetailDynamicTestResult.md) - - [PathVisDetailDynamicTestResults](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/PathVisDetailDynamicTestResults.md) - - [PathVisDetailTestResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/PathVisDetailTestResult.md) - - [PathVisDetailTestResults](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/PathVisDetailTestResults.md) - - [PathVisDynamicTestResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/PathVisDynamicTestResult.md) - - [PathVisDynamicTestResults](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/PathVisDynamicTestResults.md) - - [PathVisEndpoint](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/PathVisEndpoint.md) - - [PathVisHop](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/PathVisHop.md) - - [PathVisRoute](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/PathVisRoute.md) - - [PathVisTestResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/PathVisTestResult.md) - - [PathVisTestResults](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/PathVisTestResults.md) + - [PathVisBaseEndpointTestResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/PathVisBaseEndpointTestResult.md) + - [PathVisDetailDynamicEndpointTestResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/PathVisDetailDynamicEndpointTestResult.md) + - [PathVisDetailDynamicEndpointTestResults](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/PathVisDetailDynamicEndpointTestResults.md) + - [PathVisDetailEndpointTestResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/PathVisDetailEndpointTestResult.md) + - [PathVisDetailEndpointTestResults](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/PathVisDetailEndpointTestResults.md) + - [PathVisDynamicEndpointTestResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/PathVisDynamicEndpointTestResult.md) + - [PathVisDynamicEndpointTestResults](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/PathVisDynamicEndpointTestResults.md) + - [PathVisEndpointTestResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/PathVisEndpointTestResult.md) + - [PathVisEndpointTestResults](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/PathVisEndpointTestResults.md) - [PhysicalMemoryUsedBytes](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/PhysicalMemoryUsedBytes.md) - [Platform](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/Platform.md) - - [RealUserTestCoordinates](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestCoordinates.md) - - [RealUserTestNetwork](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestNetwork.md) - - [RealUserTestNetworkResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestNetworkResult.md) - - [RealUserTestNetworkResults](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestNetworkResults.md) - - [RealUserTestPage](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestPage.md) - - [RealUserTestPageDetailResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestPageDetailResult.md) - - [RealUserTestPageResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestPageResult.md) - - [RealUserTestPageResults](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestPageResults.md) - - [RealUserTestPageTimings](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestPageTimings.md) + - [RealUserEndpointTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTest.md) + - [RealUserEndpointTestBase](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestBase.md) + - [RealUserEndpointTestCoordinates](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestCoordinates.md) + - [RealUserEndpointTestDetail](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestDetail.md) + - [RealUserEndpointTestDetailResults](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestDetailResults.md) + - [RealUserEndpointTestNetwork](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestNetwork.md) + - [RealUserEndpointTestNetworkResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestNetworkResult.md) + - [RealUserEndpointTestNetworkResults](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestNetworkResults.md) + - [RealUserEndpointTestPage](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestPage.md) + - [RealUserEndpointTestPageDetailResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestPageDetailResult.md) + - [RealUserEndpointTestPageResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestPageResult.md) + - [RealUserEndpointTestPageResults](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestPageResults.md) + - [RealUserEndpointTestPageTimings](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestPageTimings.md) + - [RealUserEndpointTestResultRequestFilter](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestResultRequestFilter.md) + - [RealUserEndpointTestResults](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestResults.md) + - [RealUserEndpointTestResultsRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestResultsRequest.md) - [SelfLinks](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/SelfLinks.md) - - [Severity](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/Severity.md) - [SortOrder](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/SortOrder.md) - [SystemMetrics](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/SystemMetrics.md) - [TargetNetworkPing](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/TargetNetworkPing.md) - [TargetProfile](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/TargetProfile.md) - [TargetTraceroute](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/TargetTraceroute.md) - [TcpConnect](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/TcpConnect.md) + - [TcpPathTraceModeResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/TcpPathTraceModeResponse.md) - [TestInterval](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/TestInterval.md) - [TestLabel](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/TestLabel.md) - [TestProbeModeResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/TestProbeModeResponse.md) - [TestProtocol](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/TestProtocol.md) - - [TestResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/TestResult.md) - [TestSslVersionId](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/TestSslVersionId.md) - - [TestsDataRoundsSearch](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/TestsDataRoundsSearch.md) - - [TestsDataSearchFilter](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/TestsDataSearchFilter.md) - - [TestsDataSearchSort](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/TestsDataSearchSort.md) - - [TestsDataSearchSortKey](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/TestsDataSearchSortKey.md) - - [TestsDataThresholdFilter](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/TestsDataThresholdFilter.md) - - [TestsDataThresholdFilters](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/TestsDataThresholdFilters.md) - [ThresholdFilterName](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/ThresholdFilterName.md) - [ThresholdFilterOperator](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/ThresholdFilterOperator.md) - [Traceroute](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/Traceroute.md) - [TracerouteHop](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/TracerouteHop.md) - [Trigger](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/Trigger.md) + - [UdpPathTraceModeResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/UdpPathTraceModeResponse.md) - [UdpProbeModeResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/UdpProbeModeResponse.md) - [UnauthorizedError](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/UnauthorizedError.md) - [ValidationError](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/ValidationError.md) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/AlertDirection.md b/thousandeyes-sdk-endpoint-test-results/docs/AlertDirection.md deleted file mode 100644 index 8902e9bf..00000000 --- a/thousandeyes-sdk-endpoint-test-results/docs/AlertDirection.md +++ /dev/null @@ -1,12 +0,0 @@ -# AlertDirection - -Direction for applicable alert types (eg. path trace, End-to-End (Agent) etc.) - -## 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) - - diff --git a/thousandeyes-sdk-endpoint-test-results/docs/AlertRoundsViolationMode.md b/thousandeyes-sdk-endpoint-test-results/docs/AlertRoundsViolationMode.md deleted file mode 100644 index efe78921..00000000 --- a/thousandeyes-sdk-endpoint-test-results/docs/AlertRoundsViolationMode.md +++ /dev/null @@ -1,12 +0,0 @@ -# AlertRoundsViolationMode - -`exact` requires that the same agent(s) meet the threshold in consecutive rounds; default is `any` - -## 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) - - diff --git a/thousandeyes-sdk-endpoint-test-results/docs/AlertRule.md b/thousandeyes-sdk-endpoint-test-results/docs/AlertRule.md deleted file mode 100644 index 3221e6ec..00000000 --- a/thousandeyes-sdk-endpoint-test-results/docs/AlertRule.md +++ /dev/null @@ -1,40 +0,0 @@ -# AlertRule - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**rule_id** | **str** | Unique ID of the rule | [optional] [readonly] -**rule_name** | **str** | Name of the alert rule | [optional] [readonly] -**expression** | **str** | String expression of alert rule | [optional] [readonly] -**direction** | [**AlertDirection**](AlertDirection.md) | | [optional] -**is_default** | **bool** | Alert rules allow up to 1 alert rule to be selected as a default for each type. By checking the default option, this alert rule will be automatically included on subsequently created tests that test a metric used in alerting here | [optional] [readonly] -**alert_type** | [**AlertType**](AlertType.md) | | [optional] -**minimum_sources** | **int** | The minimum number of agents or monitors that must meet the specified criteria in order to trigger the alert | [optional] [readonly] -**minimum_sources_pct** | **int** | the minimum percentage of all assigned agents or monitors that must meet the specified criteria in order to trigger the alert | [optional] [readonly] -**rounds_violating_mode** | [**AlertRoundsViolationMode**](AlertRoundsViolationMode.md) | | [optional] -**rounds_violating_out_of** | **int** | Specifies the divisor (y value) for the “X of Y times” condition. | [optional] [readonly] -**rounds_violating_required** | **int** | Specifies the numerator (x value) for the “X of Y times” condition | [optional] [readonly] -**severity** | [**Severity**](Severity.md) | | [optional] - -## Example - -```python -from thousandeyes_sdk.endpoint_test_results.models.alert_rule import AlertRule - -# TODO update the JSON string below -json = "{}" -# create an instance of AlertRule from a JSON string -alert_rule_instance = AlertRule.from_json(json) -# print the JSON string representation of the object -print(AlertRule.to_json()) - -# convert the object into a dict -alert_rule_dict = alert_rule_instance.to_dict() -# create an instance of AlertRule from a dict -alert_rule_from_dict = AlertRule.from_dict(alert_rule_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) - - diff --git a/thousandeyes-sdk-endpoint-test-results/docs/AlertType.md b/thousandeyes-sdk-endpoint-test-results/docs/AlertType.md deleted file mode 100644 index 484f18d4..00000000 --- a/thousandeyes-sdk-endpoint-test-results/docs/AlertType.md +++ /dev/null @@ -1,12 +0,0 @@ -# AlertType - -Type of alert being triggered. In multi-layered tests, this value represents the layer the alert relates to. See [Alert Details](https://developer.cisco.com/docs/thousandeyes/retrieve-alert-details/) documentation for a list of possible values - -## 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) - - diff --git a/thousandeyes-sdk-endpoint-test-results/docs/DynamicBaseTestResult.md b/thousandeyes-sdk-endpoint-test-results/docs/DynamicBaseEndpointTestResult.md similarity index 52% rename from thousandeyes-sdk-endpoint-test-results/docs/DynamicBaseTestResult.md rename to thousandeyes-sdk-endpoint-test-results/docs/DynamicBaseEndpointTestResult.md index 19a4e9a8..97262172 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/DynamicBaseTestResult.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/DynamicBaseEndpointTestResult.md @@ -1,4 +1,4 @@ -# DynamicBaseTestResult +# DynamicBaseEndpointTestResult ## Properties @@ -6,27 +6,27 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **application** | **str** | Which supported application to monitor, can be one of `webex`, `zoom`, `microsoft-teams`. | [optional] -**protocol** | [**EndpointTestProtocol**](EndpointTestProtocol.md) | | [optional] +**protocol** | [**EndpointTestResultProtocol**](EndpointTestResultProtocol.md) | | [optional] **tcp_probe_mode** | [**TestProbeModeResponse**](TestProbeModeResponse.md) | | [optional] **udp_probe_mode** | [**UdpProbeModeResponse**](UdpProbeModeResponse.md) | | [optional] -**webex** | [**DynamicTestWebex**](DynamicTestWebex.md) | | [optional] +**webex** | [**DynamicEndpointTestWebex**](DynamicEndpointTestWebex.md) | | [optional] ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.dynamic_base_test_result import DynamicBaseTestResult +from thousandeyes_sdk.endpoint_test_results.models.dynamic_base_endpoint_test_result import DynamicBaseEndpointTestResult # TODO update the JSON string below json = "{}" -# create an instance of DynamicBaseTestResult from a JSON string -dynamic_base_test_result_instance = DynamicBaseTestResult.from_json(json) +# create an instance of DynamicBaseEndpointTestResult from a JSON string +dynamic_base_endpoint_test_result_instance = DynamicBaseEndpointTestResult.from_json(json) # print the JSON string representation of the object -print(DynamicBaseTestResult.to_json()) +print(DynamicBaseEndpointTestResult.to_json()) # convert the object into a dict -dynamic_base_test_result_dict = dynamic_base_test_result_instance.to_dict() -# create an instance of DynamicBaseTestResult from a dict -dynamic_base_test_result_from_dict = DynamicBaseTestResult.from_dict(dynamic_base_test_result_dict) +dynamic_base_endpoint_test_result_dict = dynamic_base_endpoint_test_result_instance.to_dict() +# create an instance of DynamicBaseEndpointTestResult from a dict +dynamic_base_endpoint_test_result_from_dict = DynamicBaseEndpointTestResult.from_dict(dynamic_base_endpoint_test_result_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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/DynamicTestWebex.md b/thousandeyes-sdk-endpoint-test-results/docs/DynamicEndpointTestWebex.md similarity index 60% rename from thousandeyes-sdk-endpoint-test-results/docs/DynamicTestWebex.md rename to thousandeyes-sdk-endpoint-test-results/docs/DynamicEndpointTestWebex.md index ba2957c5..1db540c4 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/DynamicTestWebex.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/DynamicEndpointTestWebex.md @@ -1,4 +1,4 @@ -# DynamicTestWebex +# DynamicEndpointTestWebex Contains object with webex information. Only returned for webex applications. @@ -14,19 +14,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.dynamic_test_webex import DynamicTestWebex +from thousandeyes_sdk.endpoint_test_results.models.dynamic_endpoint_test_webex import DynamicEndpointTestWebex # TODO update the JSON string below json = "{}" -# create an instance of DynamicTestWebex from a JSON string -dynamic_test_webex_instance = DynamicTestWebex.from_json(json) +# create an instance of DynamicEndpointTestWebex from a JSON string +dynamic_endpoint_test_webex_instance = DynamicEndpointTestWebex.from_json(json) # print the JSON string representation of the object -print(DynamicTestWebex.to_json()) +print(DynamicEndpointTestWebex.to_json()) # convert the object into a dict -dynamic_test_webex_dict = dynamic_test_webex_instance.to_dict() -# create an instance of DynamicTestWebex from a dict -dynamic_test_webex_from_dict = DynamicTestWebex.from_dict(dynamic_test_webex_dict) +dynamic_endpoint_test_webex_dict = dynamic_endpoint_test_webex_instance.to_dict() +# create an instance of DynamicEndpointTestWebex from a dict +dynamic_endpoint_test_webex_from_dict = DynamicEndpointTestWebex.from_dict(dynamic_endpoint_test_webex_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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/DynamicEndpointTestsDataRoundSearch.md b/thousandeyes-sdk-endpoint-test-results/docs/DynamicEndpointTestsDataRoundSearch.md new file mode 100644 index 00000000..812b31d8 --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/DynamicEndpointTestsDataRoundSearch.md @@ -0,0 +1,31 @@ +# DynamicEndpointTestsDataRoundSearch + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**search_sort** | [**List[EndpointTestsDataSearchSort]**](EndpointTestsDataSearchSort.md) | | [optional] +**threshold_filter** | [**EndpointTestsDataThresholdFilters**](EndpointTestsDataThresholdFilters.md) | | [optional] +**search_filters** | [**DynamicEndpointTestsDataSearchFilter**](DynamicEndpointTestsDataSearchFilter.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.endpoint_test_results.models.dynamic_endpoint_tests_data_round_search import DynamicEndpointTestsDataRoundSearch + +# TODO update the JSON string below +json = "{}" +# create an instance of DynamicEndpointTestsDataRoundSearch from a JSON string +dynamic_endpoint_tests_data_round_search_instance = DynamicEndpointTestsDataRoundSearch.from_json(json) +# print the JSON string representation of the object +print(DynamicEndpointTestsDataRoundSearch.to_json()) + +# convert the object into a dict +dynamic_endpoint_tests_data_round_search_dict = dynamic_endpoint_tests_data_round_search_instance.to_dict() +# create an instance of DynamicEndpointTestsDataRoundSearch from a dict +dynamic_endpoint_tests_data_round_search_from_dict = DynamicEndpointTestsDataRoundSearch.from_dict(dynamic_endpoint_tests_data_round_search_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) + + diff --git a/thousandeyes-sdk-endpoint-test-results/docs/DynamicEndpointTestsDataSearchFilter.md b/thousandeyes-sdk-endpoint-test-results/docs/DynamicEndpointTestsDataSearchFilter.md new file mode 100644 index 00000000..150c9942 --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/DynamicEndpointTestsDataSearchFilter.md @@ -0,0 +1,30 @@ +# DynamicEndpointTestsDataSearchFilter + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**agent_id** | **List[str]** | Filter using the `agent-id`. | [optional] +**webex_conference_id** | **List[str]** | Filter using the `conference-id` of the webex call. | [optional] + +## Example + +```python +from thousandeyes_sdk.endpoint_test_results.models.dynamic_endpoint_tests_data_search_filter import DynamicEndpointTestsDataSearchFilter + +# TODO update the JSON string below +json = "{}" +# create an instance of DynamicEndpointTestsDataSearchFilter from a JSON string +dynamic_endpoint_tests_data_search_filter_instance = DynamicEndpointTestsDataSearchFilter.from_json(json) +# print the JSON string representation of the object +print(DynamicEndpointTestsDataSearchFilter.to_json()) + +# convert the object into a dict +dynamic_endpoint_tests_data_search_filter_dict = dynamic_endpoint_tests_data_search_filter_instance.to_dict() +# create an instance of DynamicEndpointTestsDataSearchFilter from a dict +dynamic_endpoint_tests_data_search_filter_from_dict = DynamicEndpointTestsDataSearchFilter.from_dict(dynamic_endpoint_tests_data_search_filter_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) + + diff --git a/thousandeyes-sdk-endpoint-test-results/docs/DynamicTestsDataRoundSearch.md b/thousandeyes-sdk-endpoint-test-results/docs/DynamicTestsDataRoundSearch.md deleted file mode 100644 index ab22a9d3..00000000 --- a/thousandeyes-sdk-endpoint-test-results/docs/DynamicTestsDataRoundSearch.md +++ /dev/null @@ -1,31 +0,0 @@ -# DynamicTestsDataRoundSearch - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**search_sort** | [**List[TestsDataSearchSort]**](TestsDataSearchSort.md) | | [optional] -**threshold_filter** | [**TestsDataThresholdFilters**](TestsDataThresholdFilters.md) | | [optional] -**search_filters** | [**DynamicTestsDataSearchFilter**](DynamicTestsDataSearchFilter.md) | | [optional] - -## Example - -```python -from thousandeyes_sdk.endpoint_test_results.models.dynamic_tests_data_round_search import DynamicTestsDataRoundSearch - -# TODO update the JSON string below -json = "{}" -# create an instance of DynamicTestsDataRoundSearch from a JSON string -dynamic_tests_data_round_search_instance = DynamicTestsDataRoundSearch.from_json(json) -# print the JSON string representation of the object -print(DynamicTestsDataRoundSearch.to_json()) - -# convert the object into a dict -dynamic_tests_data_round_search_dict = dynamic_tests_data_round_search_instance.to_dict() -# create an instance of DynamicTestsDataRoundSearch from a dict -dynamic_tests_data_round_search_from_dict = DynamicTestsDataRoundSearch.from_dict(dynamic_tests_data_round_search_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) - - diff --git a/thousandeyes-sdk-endpoint-test-results/docs/DynamicTestsDataSearchFilter.md b/thousandeyes-sdk-endpoint-test-results/docs/DynamicTestsDataSearchFilter.md deleted file mode 100644 index 9b8fbf68..00000000 --- a/thousandeyes-sdk-endpoint-test-results/docs/DynamicTestsDataSearchFilter.md +++ /dev/null @@ -1,30 +0,0 @@ -# DynamicTestsDataSearchFilter - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**agent_id** | **List[str]** | Filter using the `agent-id`. | [optional] -**webex_conference_id** | **List[str]** | Filter using the `conference-id` of the webex call. | [optional] - -## Example - -```python -from thousandeyes_sdk.endpoint_test_results.models.dynamic_tests_data_search_filter import DynamicTestsDataSearchFilter - -# TODO update the JSON string below -json = "{}" -# create an instance of DynamicTestsDataSearchFilter from a JSON string -dynamic_tests_data_search_filter_instance = DynamicTestsDataSearchFilter.from_json(json) -# print the JSON string representation of the object -print(DynamicTestsDataSearchFilter.to_json()) - -# convert the object into a dict -dynamic_tests_data_search_filter_dict = dynamic_tests_data_search_filter_instance.to_dict() -# create an instance of DynamicTestsDataSearchFilter from a dict -dynamic_tests_data_search_filter_from_dict = DynamicTestsDataSearchFilter.from_dict(dynamic_tests_data_search_filter_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) - - diff --git a/thousandeyes-sdk-endpoint-test-results/docs/EndpointAgentLabelsSelectorConfig.md b/thousandeyes-sdk-endpoint-test-results/docs/EndpointAgentLabelsSelectorConfig.md index e2be7747..5a771cd4 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/EndpointAgentLabelsSelectorConfig.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/EndpointAgentLabelsSelectorConfig.md @@ -7,7 +7,7 @@ Agent labels selection object. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **agent_selector_type** | **str** | | -**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] +**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] [default to 25] **endpoint_agent_labels** | **List[str]** | List of endpoint agent label IDs (obtained from `/endpoint/labels` endpoint), required when `agentSelectorType` is set to `agent-labels`. | [optional] ## Example diff --git a/thousandeyes-sdk-endpoint-test-results/docs/EndpointAgentSelectorConfig.md b/thousandeyes-sdk-endpoint-test-results/docs/EndpointAgentSelectorConfig.md index ca93df4d..c3ec2874 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/EndpointAgentSelectorConfig.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/EndpointAgentSelectorConfig.md @@ -7,7 +7,7 @@ Agents selection object based on agentSelectorType. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **agent_selector_type** | **str** | | -**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] +**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] [default to 25] **endpoint_agent_labels** | **List[str]** | List of endpoint agent label IDs (obtained from `/endpoint/labels` endpoint), required when `agentSelectorType` is set to `agent-labels`. | [optional] **agents** | **List[str]** | List of endpoint agent IDs (obtained from `/endpoint/agents` endpoint). Required when `agentSelectorType` is set to `specific-agent`. | [optional] diff --git a/thousandeyes-sdk-endpoint-test-results/docs/EndpointAgentToServerTest.md b/thousandeyes-sdk-endpoint-test-results/docs/EndpointAgentToServerTest.md index b6797e6e..aa743dd2 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/EndpointAgentToServerTest.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/EndpointAgentToServerTest.md @@ -15,14 +15,13 @@ Name | Type | Description | Notes **has_path_trace_in_session** | **bool** | Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session. | [optional] **modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] -**port** | **int** | Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443). | [optional] **protocol** | [**EndpointTestProtocol**](EndpointTestProtocol.md) | | [optional] **server** | **str** | Target domain name or IP address. | [optional] **test_id** | **str** | Each test is assigned a unique ID to access test data from other endpoints. | [optional] [readonly] **test_name** | **str** | Name of the test. | [optional] **type** | **str** | Type of test being queried. | [readonly] **tcp_probe_mode** | [**TestProbeModeResponse**](TestProbeModeResponse.md) | | [optional] -**alert_rules** | [**List[AlertRule]**](AlertRule.md) | Contains list of enabled alert rule objects. | [optional] +**port** | **int** | Port number. | [optional] [default to 443] **labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-endpoint-test-results/docs/EndpointAllAgentsSelectorConfig.md b/thousandeyes-sdk-endpoint-test-results/docs/EndpointAllAgentsSelectorConfig.md index 3c5b964d..e5f4d55e 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/EndpointAllAgentsSelectorConfig.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/EndpointAllAgentsSelectorConfig.md @@ -7,7 +7,7 @@ Any agent selection object. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **agent_selector_type** | **str** | | -**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] +**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] [default to 25] ## Example diff --git a/thousandeyes-sdk-endpoint-test-results/docs/EndpointHttpServerBaseTest.md b/thousandeyes-sdk-endpoint-test-results/docs/EndpointHttpServerBaseTest.md index c29b570b..b0263c0e 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/EndpointHttpServerBaseTest.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/EndpointHttpServerBaseTest.md @@ -7,13 +7,13 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **auth_type** | [**EndpointTestAuthType**](EndpointTestAuthType.md) | | [optional] **has_path_trace_in_session** | **bool** | Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session. | [optional] -**http_time_limit** | **int** | Maximum amount of time in milliseconds the agents wait before a request times out. | [optional] +**http_time_limit** | **int** | Maximum amount of time in milliseconds the agents wait before a request times out. | [optional] [default to 5000] **protocol** | [**EndpointTestProtocol**](EndpointTestProtocol.md) | | [optional] -**url** | **str** | Test target URL. Optionally, you can specify a protocol (http or https). If no protocol is provided, the default `https` protocol is used. | [optional] **username** | **str** | Username for Basic/NTLM authentication. | [optional] **ssl_version_id** | [**TestSslVersionId**](TestSslVersionId.md) | | [optional] **tcp_probe_mode** | [**TestProbeModeResponse**](TestProbeModeResponse.md) | | [optional] -**verify_certificate** | **bool** | Flag indicating if a certificate should be verified. | [optional] +**verify_certificate** | **bool** | Flag indicating if a certificate should be verified. | [optional] [default to True] +**url** | **str** | The test target URL. | [optional] ## Example diff --git a/thousandeyes-sdk-endpoint-test-results/docs/EndpointHttpServerTest.md b/thousandeyes-sdk-endpoint-test-results/docs/EndpointHttpServerTest.md index ab04d912..d4344548 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/EndpointHttpServerTest.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/EndpointHttpServerTest.md @@ -15,28 +15,24 @@ Name | Type | Description | Notes **has_path_trace_in_session** | **bool** | Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session. | [optional] **modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] -**port** | **int** | Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443). | [optional] **protocol** | [**EndpointTestProtocol**](EndpointTestProtocol.md) | | [optional] **server** | **str** | Target domain name or IP address. | [optional] **test_id** | **str** | Each test is assigned a unique ID to access test data from other endpoints. | [optional] [readonly] **test_name** | **str** | Name of the test. | [optional] **type** | **str** | Type of test being queried. | [readonly] **tcp_probe_mode** | [**TestProbeModeResponse**](TestProbeModeResponse.md) | | [optional] -**alert_rules** | [**List[AlertRule]**](AlertRule.md) | Contains list of enabled alert rule objects. | [optional] +**port** | **int** | Port number. | [optional] [default to 443] **auth_type** | [**EndpointTestAuthType**](EndpointTestAuthType.md) | | [optional] -**http_time_limit** | **int** | Maximum amount of time in milliseconds the agents wait before a request times out. | [optional] -**url** | **str** | Test target URL. Optionally, you can specify a protocol (http or https). If no protocol is provided, the default `https` protocol is used. | [optional] +**http_time_limit** | **int** | Maximum amount of time in milliseconds the agents wait before a request times out. | [optional] [default to 5000] **username** | **str** | Username for Basic/NTLM authentication. | [optional] **ssl_version_id** | [**TestSslVersionId**](TestSslVersionId.md) | | [optional] -**verify_certificate** | **bool** | Flag indicating if a certificate should be verified. | [optional] -**content_regex** | **str** | Content regex, this field does not require escaping. | [optional] +**verify_certificate** | **bool** | Flag indicating if a certificate should be verified. | [optional] [default to True] +**url** | **str** | The test target URL. | [optional] **follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] **http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] **http_version** | **int** | HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1. | [optional] [default to 2] -**post_body** | **str** | Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST. | [optional] **ssl_version** | **str** | Reflects the verbose SSL protocol version used by a test. | [optional] [readonly] **use_ntlm** | **bool** | Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set. | [optional] -**user_agent** | **str** | User-agent string to be provided during the test. | [optional] **labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-endpoint-test-results/docs/PathVisEndpoint.md b/thousandeyes-sdk-endpoint-test-results/docs/EndpointPathTrace.md similarity index 50% rename from thousandeyes-sdk-endpoint-test-results/docs/PathVisEndpoint.md rename to thousandeyes-sdk-endpoint-test-results/docs/EndpointPathTrace.md index e12ae899..bd647bdf 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/PathVisEndpoint.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/EndpointPathTrace.md @@ -1,4 +1,4 @@ -# PathVisEndpoint +# EndpointPathTrace ## Properties @@ -7,25 +7,28 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **ip_address** | **str** | IP address of the hop destination. | [optional] [readonly] **number_of_hops** | **int** | Number of hops for path trace to destination. | [optional] [readonly] +**protocol** | [**EndpointTestResultProtocol**](EndpointTestResultProtocol.md) | | [optional] +**tcp_path_trace_mode** | [**TcpPathTraceModeResponse**](TcpPathTraceModeResponse.md) | | [optional] +**udp_path_trace_mode** | [**UdpPathTraceModeResponse**](UdpPathTraceModeResponse.md) | | [optional] **path_id** | **str** | Unique ID of path trace. | [optional] [readonly] **response_time** | **int** | RTT of the path trace to the destination in milliseconds. | [optional] [readonly] ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.path_vis_endpoint import PathVisEndpoint +from thousandeyes_sdk.endpoint_test_results.models.endpoint_path_trace import EndpointPathTrace # TODO update the JSON string below json = "{}" -# create an instance of PathVisEndpoint from a JSON string -path_vis_endpoint_instance = PathVisEndpoint.from_json(json) +# create an instance of EndpointPathTrace from a JSON string +endpoint_path_trace_instance = EndpointPathTrace.from_json(json) # print the JSON string representation of the object -print(PathVisEndpoint.to_json()) +print(EndpointPathTrace.to_json()) # convert the object into a dict -path_vis_endpoint_dict = path_vis_endpoint_instance.to_dict() -# create an instance of PathVisEndpoint from a dict -path_vis_endpoint_from_dict = PathVisEndpoint.from_dict(path_vis_endpoint_dict) +endpoint_path_trace_dict = endpoint_path_trace_instance.to_dict() +# create an instance of EndpointPathTrace from a dict +endpoint_path_trace_from_dict = EndpointPathTrace.from_dict(endpoint_path_trace_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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/PathVisHop.md b/thousandeyes-sdk-endpoint-test-results/docs/EndpointPathVisHop.md similarity index 66% rename from thousandeyes-sdk-endpoint-test-results/docs/PathVisHop.md rename to thousandeyes-sdk-endpoint-test-results/docs/EndpointPathVisHop.md index c7e2ea18..497e4fb6 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/PathVisHop.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/EndpointPathVisHop.md @@ -1,4 +1,4 @@ -# PathVisHop +# EndpointPathVisHop ## Properties @@ -16,19 +16,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.path_vis_hop import PathVisHop +from thousandeyes_sdk.endpoint_test_results.models.endpoint_path_vis_hop import EndpointPathVisHop # TODO update the JSON string below json = "{}" -# create an instance of PathVisHop from a JSON string -path_vis_hop_instance = PathVisHop.from_json(json) +# create an instance of EndpointPathVisHop from a JSON string +endpoint_path_vis_hop_instance = EndpointPathVisHop.from_json(json) # print the JSON string representation of the object -print(PathVisHop.to_json()) +print(EndpointPathVisHop.to_json()) # convert the object into a dict -path_vis_hop_dict = path_vis_hop_instance.to_dict() -# create an instance of PathVisHop from a dict -path_vis_hop_from_dict = PathVisHop.from_dict(path_vis_hop_dict) +endpoint_path_vis_hop_dict = endpoint_path_vis_hop_instance.to_dict() +# create an instance of EndpointPathVisHop from a dict +endpoint_path_vis_hop_from_dict = EndpointPathVisHop.from_dict(endpoint_path_vis_hop_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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/EndpointPathVisRoute.md b/thousandeyes-sdk-endpoint-test-results/docs/EndpointPathVisRoute.md new file mode 100644 index 00000000..b787dbea --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/EndpointPathVisRoute.md @@ -0,0 +1,33 @@ +# EndpointPathVisRoute + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**path_id** | **str** | Unique ID of path trace. | [optional] [readonly] +**protocol** | [**EndpointTestResultProtocol**](EndpointTestResultProtocol.md) | | [optional] +**tcp_path_trace_mode** | [**TcpPathTraceModeResponse**](TcpPathTraceModeResponse.md) | | [optional] +**udp_path_trace_mode** | [**UdpPathTraceModeResponse**](UdpPathTraceModeResponse.md) | | [optional] +**hops** | [**List[EndpointPathVisHop]**](EndpointPathVisHop.md) | Array of hop objects indicating each step in the traceroute. | [optional] + +## Example + +```python +from thousandeyes_sdk.endpoint_test_results.models.endpoint_path_vis_route import EndpointPathVisRoute + +# TODO update the JSON string below +json = "{}" +# create an instance of EndpointPathVisRoute from a JSON string +endpoint_path_vis_route_instance = EndpointPathVisRoute.from_json(json) +# print the JSON string representation of the object +print(EndpointPathVisRoute.to_json()) + +# convert the object into a dict +endpoint_path_vis_route_dict = endpoint_path_vis_route_instance.to_dict() +# create an instance of EndpointPathVisRoute from a dict +endpoint_path_vis_route_from_dict = EndpointPathVisRoute.from_dict(endpoint_path_vis_route_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) + + diff --git a/thousandeyes-sdk-endpoint-test-results/docs/EndpointRealUserTestDetailResults.md b/thousandeyes-sdk-endpoint-test-results/docs/EndpointRealUserTestDetailResults.md deleted file mode 100644 index 28c473cb..00000000 --- a/thousandeyes-sdk-endpoint-test-results/docs/EndpointRealUserTestDetailResults.md +++ /dev/null @@ -1,30 +0,0 @@ -# EndpointRealUserTestDetailResults - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**results** | [**List[EndpointRealUserTestDetail]**](EndpointRealUserTestDetail.md) | | [optional] -**links** | [**SelfLinks**](SelfLinks.md) | | [optional] - -## Example - -```python -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test_detail_results import EndpointRealUserTestDetailResults - -# TODO update the JSON string below -json = "{}" -# create an instance of EndpointRealUserTestDetailResults from a JSON string -endpoint_real_user_test_detail_results_instance = EndpointRealUserTestDetailResults.from_json(json) -# print the JSON string representation of the object -print(EndpointRealUserTestDetailResults.to_json()) - -# convert the object into a dict -endpoint_real_user_test_detail_results_dict = endpoint_real_user_test_detail_results_instance.to_dict() -# create an instance of EndpointRealUserTestDetailResults from a dict -endpoint_real_user_test_detail_results_from_dict = EndpointRealUserTestDetailResults.from_dict(endpoint_real_user_test_detail_results_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) - - diff --git a/thousandeyes-sdk-endpoint-test-results/docs/EndpointRealUserTestResultsRequest.md b/thousandeyes-sdk-endpoint-test-results/docs/EndpointRealUserTestResultsRequest.md deleted file mode 100644 index d45d9c81..00000000 --- a/thousandeyes-sdk-endpoint-test-results/docs/EndpointRealUserTestResultsRequest.md +++ /dev/null @@ -1,29 +0,0 @@ -# EndpointRealUserTestResultsRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**search_filters** | [**EndpointRealUserTestResultRequestFilter**](EndpointRealUserTestResultRequestFilter.md) | | [optional] - -## Example - -```python -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test_results_request import EndpointRealUserTestResultsRequest - -# TODO update the JSON string below -json = "{}" -# create an instance of EndpointRealUserTestResultsRequest from a JSON string -endpoint_real_user_test_results_request_instance = EndpointRealUserTestResultsRequest.from_json(json) -# print the JSON string representation of the object -print(EndpointRealUserTestResultsRequest.to_json()) - -# convert the object into a dict -endpoint_real_user_test_results_request_dict = endpoint_real_user_test_results_request_instance.to_dict() -# create an instance of EndpointRealUserTestResultsRequest from a dict -endpoint_real_user_test_results_request_from_dict = EndpointRealUserTestResultsRequest.from_dict(endpoint_real_user_test_results_request_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) - - diff --git a/thousandeyes-sdk-endpoint-test-results/docs/EndpointScheduledTest.md b/thousandeyes-sdk-endpoint-test-results/docs/EndpointScheduledTest.md index 06573c4e..fc5816bb 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/EndpointScheduledTest.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/EndpointScheduledTest.md @@ -15,29 +15,25 @@ Name | Type | Description | Notes **has_path_trace_in_session** | **bool** | Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session. | [optional] **modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] -**port** | **int** | Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443). | [optional] **protocol** | [**EndpointTestProtocol**](EndpointTestProtocol.md) | | [optional] **server** | **str** | Target domain name or IP address. | [optional] **test_id** | **str** | Each test is assigned a unique ID to access test data from other endpoints. | [optional] [readonly] **test_name** | **str** | Name of the test. | [optional] **type** | **str** | Type of test being queried. | [readonly] **tcp_probe_mode** | [**TestProbeModeResponse**](TestProbeModeResponse.md) | | [optional] -**alert_rules** | [**List[AlertRule]**](AlertRule.md) | Contains list of enabled alert rule objects. | [optional] +**port** | **int** | Port number. | [optional] [default to 443] **labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] **auth_type** | [**EndpointTestAuthType**](EndpointTestAuthType.md) | | [optional] -**http_time_limit** | **int** | Maximum amount of time in milliseconds the agents wait before a request times out. | [optional] -**url** | **str** | Test target URL. Optionally, you can specify a protocol (http or https). If no protocol is provided, the default `https` protocol is used. | [optional] +**http_time_limit** | **int** | Maximum amount of time in milliseconds the agents wait before a request times out. | [optional] [default to 5000] **username** | **str** | Username for Basic/NTLM authentication. | [optional] **ssl_version_id** | [**TestSslVersionId**](TestSslVersionId.md) | | [optional] -**verify_certificate** | **bool** | Flag indicating if a certificate should be verified. | [optional] -**content_regex** | **str** | Content regex, this field does not require escaping. | [optional] +**verify_certificate** | **bool** | Flag indicating if a certificate should be verified. | [optional] [default to True] +**url** | **str** | The test target URL. | [optional] **follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] **http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] **http_version** | **int** | HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1. | [optional] [default to 2] -**post_body** | **str** | Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST. | [optional] **ssl_version** | **str** | Reflects the verbose SSL protocol version used by a test. | [optional] [readonly] **use_ntlm** | **bool** | Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set. | [optional] -**user_agent** | **str** | User-agent string to be provided during the test. | [optional] ## Example diff --git a/thousandeyes-sdk-endpoint-test-results/docs/EndpointSpecificAgentsSelectorConfig.md b/thousandeyes-sdk-endpoint-test-results/docs/EndpointSpecificAgentsSelectorConfig.md index f0729aeb..6658e632 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/EndpointSpecificAgentsSelectorConfig.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/EndpointSpecificAgentsSelectorConfig.md @@ -7,7 +7,7 @@ Specific agents selection object. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **agent_selector_type** | **str** | | -**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] +**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] [default to 25] **agents** | **List[str]** | List of endpoint agent IDs (obtained from `/endpoint/agents` endpoint). Required when `agentSelectorType` is set to `specific-agent`. | [optional] ## Example diff --git a/thousandeyes-sdk-endpoint-test-results/docs/EndpointTest.md b/thousandeyes-sdk-endpoint-test-results/docs/EndpointTest.md index 36cefed1..f75b3475 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/EndpointTest.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/EndpointTest.md @@ -15,14 +15,13 @@ Name | Type | Description | Notes **has_path_trace_in_session** | **bool** | Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session. | [optional] **modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] -**port** | **int** | Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443). | [optional] **protocol** | [**EndpointTestProtocol**](EndpointTestProtocol.md) | | [optional] **server** | **str** | Target domain name or IP address. | [optional] **test_id** | **str** | Each test is assigned a unique ID to access test data from other endpoints. | [optional] [readonly] **test_name** | **str** | Name of the test. | [optional] **type** | [**EndpointScheduledTestType**](EndpointScheduledTestType.md) | | **tcp_probe_mode** | [**TestProbeModeResponse**](TestProbeModeResponse.md) | | [optional] -**alert_rules** | [**List[AlertRule]**](AlertRule.md) | Contains list of enabled alert rule objects. | [optional] +**port** | **int** | Port number. | [optional] [default to 443] ## Example diff --git a/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestEthernetProfile.md b/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestEthernetProfile.md new file mode 100644 index 00000000..9c63045c --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestEthernetProfile.md @@ -0,0 +1,29 @@ +# EndpointTestEthernetProfile + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**link_speed** | **int** | Ethernet profile link speed | [optional] [readonly] + +## Example + +```python +from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_ethernet_profile import EndpointTestEthernetProfile + +# TODO update the JSON string below +json = "{}" +# create an instance of EndpointTestEthernetProfile from a JSON string +endpoint_test_ethernet_profile_instance = EndpointTestEthernetProfile.from_json(json) +# print the JSON string representation of the object +print(EndpointTestEthernetProfile.to_json()) + +# convert the object into a dict +endpoint_test_ethernet_profile_dict = endpoint_test_ethernet_profile_instance.to_dict() +# create an instance of EndpointTestEthernetProfile from a dict +endpoint_test_ethernet_profile_from_dict = EndpointTestEthernetProfile.from_dict(endpoint_test_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) + + diff --git a/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestProtocol.md b/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestProtocol.md index 8459ae85..f6a1eb9e 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestProtocol.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestProtocol.md @@ -1,6 +1,6 @@ # EndpointTestProtocol -Protocol used to perform the test. +Protocol requested for the test. ## Properties diff --git a/thousandeyes-sdk-endpoint-test-results/docs/TestResult.md b/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestResult.md similarity index 68% rename from thousandeyes-sdk-endpoint-test-results/docs/TestResult.md rename to thousandeyes-sdk-endpoint-test-results/docs/EndpointTestResult.md index 6f78fbdd..f82b98fc 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/TestResult.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestResult.md @@ -1,4 +1,4 @@ -# TestResult +# EndpointTestResult ## Properties @@ -6,6 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **aid** | **str** | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. | [optional] +**test_id** | **str** | Unique ID of endpoint test. | [optional] [readonly] **agent_id** | **str** | Unique ID of endpoint agent, from `/endpoint/agents` endpoint. | [optional] [readonly] **round_id** | **int** | Epoch time (seconds) indicating the start time of the round. | [optional] [readonly] **server_ip** | **str** | IP address of target server. | [optional] [readonly] @@ -17,19 +18,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.test_result import TestResult +from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_result import EndpointTestResult # TODO update the JSON string below json = "{}" -# create an instance of TestResult from a JSON string -test_result_instance = TestResult.from_json(json) +# create an instance of EndpointTestResult from a JSON string +endpoint_test_result_instance = EndpointTestResult.from_json(json) # print the JSON string representation of the object -print(TestResult.to_json()) +print(EndpointTestResult.to_json()) # convert the object into a dict -test_result_dict = test_result_instance.to_dict() -# create an instance of TestResult from a dict -test_result_from_dict = TestResult.from_dict(test_result_dict) +endpoint_test_result_dict = endpoint_test_result_instance.to_dict() +# create an instance of EndpointTestResult from a dict +endpoint_test_result_from_dict = EndpointTestResult.from_dict(endpoint_test_result_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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestResultProtocol.md b/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestResultProtocol.md new file mode 100644 index 00000000..bec4253e --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestResultProtocol.md @@ -0,0 +1,12 @@ +# EndpointTestResultProtocol + +Protocol used to perform the test. + +## 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) + + diff --git a/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestsDataRoundsSearch.md b/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestsDataRoundsSearch.md new file mode 100644 index 00000000..bf3580f8 --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestsDataRoundsSearch.md @@ -0,0 +1,31 @@ +# EndpointTestsDataRoundsSearch + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**search_sort** | [**List[EndpointTestsDataSearchSort]**](EndpointTestsDataSearchSort.md) | | [optional] +**threshold_filter** | [**EndpointTestsDataThresholdFilters**](EndpointTestsDataThresholdFilters.md) | | [optional] +**search_filters** | [**EndpointTestsDataSearchFilter**](EndpointTestsDataSearchFilter.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.endpoint_test_results.models.endpoint_tests_data_rounds_search import EndpointTestsDataRoundsSearch + +# TODO update the JSON string below +json = "{}" +# create an instance of EndpointTestsDataRoundsSearch from a JSON string +endpoint_tests_data_rounds_search_instance = EndpointTestsDataRoundsSearch.from_json(json) +# print the JSON string representation of the object +print(EndpointTestsDataRoundsSearch.to_json()) + +# convert the object into a dict +endpoint_tests_data_rounds_search_dict = endpoint_tests_data_rounds_search_instance.to_dict() +# create an instance of EndpointTestsDataRoundsSearch from a dict +endpoint_tests_data_rounds_search_from_dict = EndpointTestsDataRoundsSearch.from_dict(endpoint_tests_data_rounds_search_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) + + diff --git a/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestsDataSearchFilter.md b/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestsDataSearchFilter.md new file mode 100644 index 00000000..cc05b633 --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestsDataSearchFilter.md @@ -0,0 +1,29 @@ +# EndpointTestsDataSearchFilter + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**agent_id** | **List[str]** | Filter using the `agent-id`. | [optional] + +## Example + +```python +from thousandeyes_sdk.endpoint_test_results.models.endpoint_tests_data_search_filter import EndpointTestsDataSearchFilter + +# TODO update the JSON string below +json = "{}" +# create an instance of EndpointTestsDataSearchFilter from a JSON string +endpoint_tests_data_search_filter_instance = EndpointTestsDataSearchFilter.from_json(json) +# print the JSON string representation of the object +print(EndpointTestsDataSearchFilter.to_json()) + +# convert the object into a dict +endpoint_tests_data_search_filter_dict = endpoint_tests_data_search_filter_instance.to_dict() +# create an instance of EndpointTestsDataSearchFilter from a dict +endpoint_tests_data_search_filter_from_dict = EndpointTestsDataSearchFilter.from_dict(endpoint_tests_data_search_filter_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) + + diff --git a/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestsDataSearchSort.md b/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestsDataSearchSort.md new file mode 100644 index 00000000..e181e00c --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestsDataSearchSort.md @@ -0,0 +1,30 @@ +# EndpointTestsDataSearchSort + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**sort** | [**EndpointTestsDataSearchSortKey**](EndpointTestsDataSearchSortKey.md) | | [optional] +**order** | [**SortOrder**](SortOrder.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.endpoint_test_results.models.endpoint_tests_data_search_sort import EndpointTestsDataSearchSort + +# TODO update the JSON string below +json = "{}" +# create an instance of EndpointTestsDataSearchSort from a JSON string +endpoint_tests_data_search_sort_instance = EndpointTestsDataSearchSort.from_json(json) +# print the JSON string representation of the object +print(EndpointTestsDataSearchSort.to_json()) + +# convert the object into a dict +endpoint_tests_data_search_sort_dict = endpoint_tests_data_search_sort_instance.to_dict() +# create an instance of EndpointTestsDataSearchSort from a dict +endpoint_tests_data_search_sort_from_dict = EndpointTestsDataSearchSort.from_dict(endpoint_tests_data_search_sort_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) + + diff --git a/thousandeyes-sdk-dashboards/docs/ApiDurationUnit.md b/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestsDataSearchSortKey.md similarity index 89% rename from thousandeyes-sdk-dashboards/docs/ApiDurationUnit.md rename to thousandeyes-sdk-endpoint-test-results/docs/EndpointTestsDataSearchSortKey.md index 27792c65..e824ef8e 100644 --- a/thousandeyes-sdk-dashboards/docs/ApiDurationUnit.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestsDataSearchSortKey.md @@ -1,6 +1,5 @@ -# ApiDurationUnit +# EndpointTestsDataSearchSortKey -Timespan unit. ## Properties diff --git a/thousandeyes-sdk-endpoint-test-results/docs/TestsDataThresholdFilter.md b/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestsDataThresholdFilter.md similarity index 51% rename from thousandeyes-sdk-endpoint-test-results/docs/TestsDataThresholdFilter.md rename to thousandeyes-sdk-endpoint-test-results/docs/EndpointTestsDataThresholdFilter.md index ff9e0c7e..2347098b 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/TestsDataThresholdFilter.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestsDataThresholdFilter.md @@ -1,4 +1,4 @@ -# TestsDataThresholdFilter +# EndpointTestsDataThresholdFilter The metric is filtered based on the threshold value and operator provided. @@ -13,19 +13,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.tests_data_threshold_filter import TestsDataThresholdFilter +from thousandeyes_sdk.endpoint_test_results.models.endpoint_tests_data_threshold_filter import EndpointTestsDataThresholdFilter # TODO update the JSON string below json = "{}" -# create an instance of TestsDataThresholdFilter from a JSON string -tests_data_threshold_filter_instance = TestsDataThresholdFilter.from_json(json) +# create an instance of EndpointTestsDataThresholdFilter from a JSON string +endpoint_tests_data_threshold_filter_instance = EndpointTestsDataThresholdFilter.from_json(json) # print the JSON string representation of the object -print(TestsDataThresholdFilter.to_json()) +print(EndpointTestsDataThresholdFilter.to_json()) # convert the object into a dict -tests_data_threshold_filter_dict = tests_data_threshold_filter_instance.to_dict() -# create an instance of TestsDataThresholdFilter from a dict -tests_data_threshold_filter_from_dict = TestsDataThresholdFilter.from_dict(tests_data_threshold_filter_dict) +endpoint_tests_data_threshold_filter_dict = endpoint_tests_data_threshold_filter_instance.to_dict() +# create an instance of EndpointTestsDataThresholdFilter from a dict +endpoint_tests_data_threshold_filter_from_dict = EndpointTestsDataThresholdFilter.from_dict(endpoint_tests_data_threshold_filter_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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestsDataThresholdFilters.md b/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestsDataThresholdFilters.md new file mode 100644 index 00000000..4a0b59a2 --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/EndpointTestsDataThresholdFilters.md @@ -0,0 +1,31 @@ +# EndpointTestsDataThresholdFilters + +All filters are applied based on the conditional operator (and/or). + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**filters** | [**List[EndpointTestsDataThresholdFilter]**](EndpointTestsDataThresholdFilter.md) | | [optional] +**conditional_operator** | [**ConditionalOperator**](ConditionalOperator.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.endpoint_test_results.models.endpoint_tests_data_threshold_filters import EndpointTestsDataThresholdFilters + +# TODO update the JSON string below +json = "{}" +# create an instance of EndpointTestsDataThresholdFilters from a JSON string +endpoint_tests_data_threshold_filters_instance = EndpointTestsDataThresholdFilters.from_json(json) +# print the JSON string representation of the object +print(EndpointTestsDataThresholdFilters.to_json()) + +# convert the object into a dict +endpoint_tests_data_threshold_filters_dict = endpoint_tests_data_threshold_filters_instance.to_dict() +# create an instance of EndpointTestsDataThresholdFilters from a dict +endpoint_tests_data_threshold_filters_from_dict = EndpointTestsDataThresholdFilters.from_dict(endpoint_tests_data_threshold_filters_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) + + diff --git a/thousandeyes-sdk-endpoint-test-results/docs/EthernetProfile.md b/thousandeyes-sdk-endpoint-test-results/docs/EthernetProfile.md deleted file mode 100644 index 56a52785..00000000 --- a/thousandeyes-sdk-endpoint-test-results/docs/EthernetProfile.md +++ /dev/null @@ -1,29 +0,0 @@ -# EthernetProfile - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**link_speed** | **int** | Ethernet profile link speed | [optional] [readonly] - -## Example - -```python -from thousandeyes_sdk.endpoint_test_results.models.ethernet_profile import EthernetProfile - -# TODO update the JSON string below -json = "{}" -# create an instance of EthernetProfile from a JSON string -ethernet_profile_instance = EthernetProfile.from_json(json) -# print the JSON string representation of the object -print(EthernetProfile.to_json()) - -# convert the object into a dict -ethernet_profile_dict = ethernet_profile_instance.to_dict() -# create an instance of EthernetProfile from a dict -ethernet_profile_from_dict = EthernetProfile.from_dict(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) - - diff --git a/thousandeyes-sdk-endpoint-test-results/docs/Expand.md b/thousandeyes-sdk-endpoint-test-results/docs/Expand.md deleted file mode 100644 index f6553b30..00000000 --- a/thousandeyes-sdk-endpoint-test-results/docs/Expand.md +++ /dev/null @@ -1,11 +0,0 @@ -# Expand - - -## 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) - - diff --git a/thousandeyes-sdk-endpoint-test-results/docs/ExpandEndpointHttpServerOptions.md b/thousandeyes-sdk-endpoint-test-results/docs/ExpandEndpointHttpServerOptions.md new file mode 100644 index 00000000..b7735dc9 --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/ExpandEndpointHttpServerOptions.md @@ -0,0 +1,11 @@ +# ExpandEndpointHttpServerOptions + + +## 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) + + diff --git a/thousandeyes-sdk-endpoint-test-results/docs/HTTPServerEndpointScheduledTestResultsApi.md b/thousandeyes-sdk-endpoint-test-results/docs/HTTPServerEndpointScheduledTestResultsApi.md new file mode 100644 index 00000000..da149862 --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/HTTPServerEndpointScheduledTestResultsApi.md @@ -0,0 +1,206 @@ +# thousandeyes_sdk.endpoint_test_results.HTTPServerEndpointScheduledTestResultsApi + +All URIs are relative to *https://api.thousandeyes.com/v7* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_http_server_scheduled_test_results**](HTTPServerEndpointScheduledTestResultsApi.md#get_http_server_scheduled_test_results) | **GET** /endpoint/test-results/scheduled-tests/{testId}/http-server | Retrieve HTTP server scheduled test results +[**get_multi_test_filtered_http_server_scheduled_test_results**](HTTPServerEndpointScheduledTestResultsApi.md#get_multi_test_filtered_http_server_scheduled_test_results) | **POST** /endpoint/test-results/scheduled-tests/http-server/filter | Filter HTTP server scheduled test results + + +# **get_http_server_scheduled_test_results** +> HttpEndpointTestResults get_http_server_scheduled_test_results(test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, expand=expand) + +Retrieve HTTP server scheduled test results + +Returns component-level (DNS, Connect, Wait and Receive) timing for the load of an object over HTTP. + +### Example + +* Bearer Authentication (BearerAuth): + +```python +import thousandeyes_sdk.endpoint_test_results +from thousandeyes_sdk.endpoint_test_results.models.expand_endpoint_http_server_options import ExpandEndpointHttpServerOptions +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_test_results import HttpEndpointTestResults +from thousandeyes_sdk.endpoint_test_results.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_test_results.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = thousandeyes_sdk.endpoint_test_results.HTTPServerEndpointScheduledTestResultsApi(api_client) + test_id = '202701' # str | Test 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) + window = '12h' # str | A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. (optional) + start_date = '2022-07-17T22:00:54Z' # datetime | Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. (optional) + end_date = '2022-07-18T22:00:54Z' # datetime | Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. (optional) + cursor = 'cursor_example' # str | (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. (optional) + expand = [thousandeyes_sdk.endpoint_test_results.ExpandEndpointHttpServerOptions()] # List[ExpandEndpointHttpServerOptions] | This parameter is optional and determines whether to expand resources related to test results. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as \"header,\" append `?expand=header` to the query. (optional) + + try: + # Retrieve HTTP server scheduled test results + api_response = api_instance.get_http_server_scheduled_test_results(test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, expand=expand) + print("The response of HTTPServerEndpointScheduledTestResultsApi->get_http_server_scheduled_test_results:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling HTTPServerEndpointScheduledTestResultsApi->get_http_server_scheduled_test_results: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **test_id** | **str**| Test 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] + **window** | **str**| A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. | [optional] + **start_date** | **datetime**| Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. | [optional] + **end_date** | **datetime**| Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. | [optional] + **cursor** | **str**| (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. | [optional] + **expand** | [**List[ExpandEndpointHttpServerOptions]**](ExpandEndpointHttpServerOptions.md)| This parameter is optional and determines whether to expand resources related to test results. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as \"header,\" append `?expand=header` to the query. | [optional] + +### Return type + +[**HttpEndpointTestResults**](HttpEndpointTestResults.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 | - | + +[[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_multi_test_filtered_http_server_scheduled_test_results** +> HttpMultiEndpointTestResults get_multi_test_filtered_http_server_scheduled_test_results(aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, expand=expand, http_endpoint_tests_data_rounds_search=http_endpoint_tests_data_rounds_search) + +Filter HTTP server scheduled test results + +Returns component-level (DNS, Connect, Wait and Receive) timing for the load of an object over HTTP. + +### Example + +* Bearer Authentication (BearerAuth): + +```python +import thousandeyes_sdk.endpoint_test_results +from thousandeyes_sdk.endpoint_test_results.models.expand_endpoint_http_server_options import ExpandEndpointHttpServerOptions +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_tests_data_rounds_search import HttpEndpointTestsDataRoundsSearch +from thousandeyes_sdk.endpoint_test_results.models.http_multi_endpoint_test_results import HttpMultiEndpointTestResults +from thousandeyes_sdk.endpoint_test_results.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_test_results.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = thousandeyes_sdk.endpoint_test_results.HTTPServerEndpointScheduledTestResultsApi(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) + window = '12h' # str | A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. (optional) + start_date = '2022-07-17T22:00:54Z' # datetime | Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. (optional) + end_date = '2022-07-18T22:00:54Z' # datetime | Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. (optional) + cursor = 'cursor_example' # str | (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. (optional) + expand = [thousandeyes_sdk.endpoint_test_results.ExpandEndpointHttpServerOptions()] # List[ExpandEndpointHttpServerOptions] | This parameter is optional and determines whether to expand resources related to test results. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as \"header,\" append `?expand=header` to the query. (optional) + http_endpoint_tests_data_rounds_search = thousandeyes_sdk.endpoint_test_results.HttpEndpointTestsDataRoundsSearch() # HttpEndpointTestsDataRoundsSearch | Test data search filters. (optional) + + try: + # Filter HTTP server scheduled test results + api_response = api_instance.get_multi_test_filtered_http_server_scheduled_test_results(aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, expand=expand, http_endpoint_tests_data_rounds_search=http_endpoint_tests_data_rounds_search) + print("The response of HTTPServerEndpointScheduledTestResultsApi->get_multi_test_filtered_http_server_scheduled_test_results:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling HTTPServerEndpointScheduledTestResultsApi->get_multi_test_filtered_http_server_scheduled_test_results: %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] + **window** | **str**| A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. | [optional] + **start_date** | **datetime**| Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. | [optional] + **end_date** | **datetime**| Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. | [optional] + **cursor** | **str**| (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. | [optional] + **expand** | [**List[ExpandEndpointHttpServerOptions]**](ExpandEndpointHttpServerOptions.md)| This parameter is optional and determines whether to expand resources related to test results. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as \"header,\" append `?expand=header` to the query. | [optional] + **http_endpoint_tests_data_rounds_search** | [**HttpEndpointTestsDataRoundsSearch**](HttpEndpointTestsDataRoundsSearch.md)| Test data search filters. | [optional] + +### Return type + +[**HttpMultiEndpointTestResults**](HttpMultiEndpointTestResults.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 | - | +**404** | Not found | - | +**429** | Exhausted rate limit for the organization | - | +**500** | Internal server error | - | +**502** | Bad Gateway | - | + +[[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) + diff --git a/thousandeyes-sdk-endpoint-test-results/docs/HttpTestResult.md b/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestResult.md similarity index 77% rename from thousandeyes-sdk-endpoint-test-results/docs/HttpTestResult.md rename to thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestResult.md index 7c082d40..d9d74134 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/HttpTestResult.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestResult.md @@ -1,4 +1,4 @@ -# HttpTestResult +# HttpEndpointTestResult ## Properties @@ -6,6 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **aid** | **str** | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. | [optional] +**test_id** | **str** | Unique ID of endpoint test. | [optional] [readonly] **agent_id** | **str** | Unique ID of endpoint agent, from `/endpoint/agents` endpoint. | [optional] [readonly] **round_id** | **int** | Epoch time (seconds) indicating the start time of the round. | [optional] [readonly] **server_ip** | **str** | IP address of destination server. | [optional] [readonly] @@ -17,7 +18,7 @@ Name | Type | Description | Notes **dns_time** | **int** | Time required to resolve DNS in milliseconds. | [optional] [readonly] **error_type** | [**HttpErrorType**](HttpErrorType.md) | | [optional] **error_details** | **str** | Error details, if an error were encountered. | [optional] [readonly] -**headers** | [**HttpTestResultHeaders**](HttpTestResultHeaders.md) | | [optional] +**headers** | [**HttpEndpointTestResultHeaders**](HttpEndpointTestResultHeaders.md) | | [optional] **num_redirects** | **int** | Number of redirects. | [optional] [readonly] **receive_time** | **int** | Elapsed time between first and last byte of response in milliseconds. | [optional] [readonly] **redirect_time** | **int** | Cumulative redirect timing in milliseconds. | [optional] [readonly] @@ -31,19 +32,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.http_test_result import HttpTestResult +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_test_result import HttpEndpointTestResult # TODO update the JSON string below json = "{}" -# create an instance of HttpTestResult from a JSON string -http_test_result_instance = HttpTestResult.from_json(json) +# create an instance of HttpEndpointTestResult from a JSON string +http_endpoint_test_result_instance = HttpEndpointTestResult.from_json(json) # print the JSON string representation of the object -print(HttpTestResult.to_json()) +print(HttpEndpointTestResult.to_json()) # convert the object into a dict -http_test_result_dict = http_test_result_instance.to_dict() -# create an instance of HttpTestResult from a dict -http_test_result_from_dict = HttpTestResult.from_dict(http_test_result_dict) +http_endpoint_test_result_dict = http_endpoint_test_result_instance.to_dict() +# create an instance of HttpEndpointTestResult from a dict +http_endpoint_test_result_from_dict = HttpEndpointTestResult.from_dict(http_endpoint_test_result_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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/HttpTestResultHeaders.md b/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestResultHeaders.md similarity index 54% rename from thousandeyes-sdk-endpoint-test-results/docs/HttpTestResultHeaders.md rename to thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestResultHeaders.md index d55794ba..65199637 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/HttpTestResultHeaders.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestResultHeaders.md @@ -1,4 +1,4 @@ -# HttpTestResultHeaders +# HttpEndpointTestResultHeaders Expandable object containing both request and response headers. @@ -12,19 +12,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.http_test_result_headers import HttpTestResultHeaders +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_test_result_headers import HttpEndpointTestResultHeaders # TODO update the JSON string below json = "{}" -# create an instance of HttpTestResultHeaders from a JSON string -http_test_result_headers_instance = HttpTestResultHeaders.from_json(json) +# create an instance of HttpEndpointTestResultHeaders from a JSON string +http_endpoint_test_result_headers_instance = HttpEndpointTestResultHeaders.from_json(json) # print the JSON string representation of the object -print(HttpTestResultHeaders.to_json()) +print(HttpEndpointTestResultHeaders.to_json()) # convert the object into a dict -http_test_result_headers_dict = http_test_result_headers_instance.to_dict() -# create an instance of HttpTestResultHeaders from a dict -http_test_result_headers_from_dict = HttpTestResultHeaders.from_dict(http_test_result_headers_dict) +http_endpoint_test_result_headers_dict = http_endpoint_test_result_headers_instance.to_dict() +# create an instance of HttpEndpointTestResultHeaders from a dict +http_endpoint_test_result_headers_from_dict = HttpEndpointTestResultHeaders.from_dict(http_endpoint_test_result_headers_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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/HttpTestResults.md b/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestResults.md similarity index 64% rename from thousandeyes-sdk-endpoint-test-results/docs/HttpTestResults.md rename to thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestResults.md index 4173d2d6..20075a99 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/HttpTestResults.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestResults.md @@ -1,11 +1,11 @@ -# HttpTestResults +# HttpEndpointTestResults ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**results** | [**List[HttpTestResult]**](HttpTestResult.md) | | [optional] +**results** | [**List[HttpEndpointTestResult]**](HttpEndpointTestResult.md) | | [optional] **test** | [**EndpointHttpServerTest**](EndpointHttpServerTest.md) | | [optional] **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** | (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] @@ -14,19 +14,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.http_test_results import HttpTestResults +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_test_results import HttpEndpointTestResults # TODO update the JSON string below json = "{}" -# create an instance of HttpTestResults from a JSON string -http_test_results_instance = HttpTestResults.from_json(json) +# create an instance of HttpEndpointTestResults from a JSON string +http_endpoint_test_results_instance = HttpEndpointTestResults.from_json(json) # print the JSON string representation of the object -print(HttpTestResults.to_json()) +print(HttpEndpointTestResults.to_json()) # convert the object into a dict -http_test_results_dict = http_test_results_instance.to_dict() -# create an instance of HttpTestResults from a dict -http_test_results_from_dict = HttpTestResults.from_dict(http_test_results_dict) +http_endpoint_test_results_dict = http_endpoint_test_results_instance.to_dict() +# create an instance of HttpEndpointTestResults from a dict +http_endpoint_test_results_from_dict = HttpEndpointTestResults.from_dict(http_endpoint_test_results_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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestsDataRoundsSearch.md b/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestsDataRoundsSearch.md new file mode 100644 index 00000000..0c82d3dc --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestsDataRoundsSearch.md @@ -0,0 +1,31 @@ +# HttpEndpointTestsDataRoundsSearch + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**search_sort** | [**List[HttpEndpointTestsDataSearchSort]**](HttpEndpointTestsDataSearchSort.md) | | [optional] +**threshold_filter** | [**HttpEndpointTestsDataThresholdFilters**](HttpEndpointTestsDataThresholdFilters.md) | | [optional] +**search_filters** | [**HttpEndpointTestsDataSearchFilter**](HttpEndpointTestsDataSearchFilter.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_tests_data_rounds_search import HttpEndpointTestsDataRoundsSearch + +# TODO update the JSON string below +json = "{}" +# create an instance of HttpEndpointTestsDataRoundsSearch from a JSON string +http_endpoint_tests_data_rounds_search_instance = HttpEndpointTestsDataRoundsSearch.from_json(json) +# print the JSON string representation of the object +print(HttpEndpointTestsDataRoundsSearch.to_json()) + +# convert the object into a dict +http_endpoint_tests_data_rounds_search_dict = http_endpoint_tests_data_rounds_search_instance.to_dict() +# create an instance of HttpEndpointTestsDataRoundsSearch from a dict +http_endpoint_tests_data_rounds_search_from_dict = HttpEndpointTestsDataRoundsSearch.from_dict(http_endpoint_tests_data_rounds_search_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) + + diff --git a/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestsDataSearchFilter.md b/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestsDataSearchFilter.md new file mode 100644 index 00000000..832b04fe --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestsDataSearchFilter.md @@ -0,0 +1,30 @@ +# HttpEndpointTestsDataSearchFilter + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**test_id** | **List[str]** | Filter by test | [optional] +**agent_id** | **List[str]** | Filter using the `agent-id`. | [optional] + +## Example + +```python +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_tests_data_search_filter import HttpEndpointTestsDataSearchFilter + +# TODO update the JSON string below +json = "{}" +# create an instance of HttpEndpointTestsDataSearchFilter from a JSON string +http_endpoint_tests_data_search_filter_instance = HttpEndpointTestsDataSearchFilter.from_json(json) +# print the JSON string representation of the object +print(HttpEndpointTestsDataSearchFilter.to_json()) + +# convert the object into a dict +http_endpoint_tests_data_search_filter_dict = http_endpoint_tests_data_search_filter_instance.to_dict() +# create an instance of HttpEndpointTestsDataSearchFilter from a dict +http_endpoint_tests_data_search_filter_from_dict = HttpEndpointTestsDataSearchFilter.from_dict(http_endpoint_tests_data_search_filter_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) + + diff --git a/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestsDataSearchSort.md b/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestsDataSearchSort.md new file mode 100644 index 00000000..2a6d17e2 --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestsDataSearchSort.md @@ -0,0 +1,30 @@ +# HttpEndpointTestsDataSearchSort + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**sort** | [**HttpEndpointTestsDataSearchSortKey**](HttpEndpointTestsDataSearchSortKey.md) | | [optional] +**order** | [**SortOrder**](SortOrder.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_tests_data_search_sort import HttpEndpointTestsDataSearchSort + +# TODO update the JSON string below +json = "{}" +# create an instance of HttpEndpointTestsDataSearchSort from a JSON string +http_endpoint_tests_data_search_sort_instance = HttpEndpointTestsDataSearchSort.from_json(json) +# print the JSON string representation of the object +print(HttpEndpointTestsDataSearchSort.to_json()) + +# convert the object into a dict +http_endpoint_tests_data_search_sort_dict = http_endpoint_tests_data_search_sort_instance.to_dict() +# create an instance of HttpEndpointTestsDataSearchSort from a dict +http_endpoint_tests_data_search_sort_from_dict = HttpEndpointTestsDataSearchSort.from_dict(http_endpoint_tests_data_search_sort_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) + + diff --git a/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestsDataSearchSortKey.md b/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestsDataSearchSortKey.md new file mode 100644 index 00000000..a9bd7419 --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestsDataSearchSortKey.md @@ -0,0 +1,11 @@ +# HttpEndpointTestsDataSearchSortKey + + +## 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) + + diff --git a/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestsDataThresholdFilter.md b/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestsDataThresholdFilter.md new file mode 100644 index 00000000..0d6c2215 --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestsDataThresholdFilter.md @@ -0,0 +1,32 @@ +# HttpEndpointTestsDataThresholdFilter + +The metric is filtered based on the threshold value and operator provided. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | [**HttpThresholdFilterName**](HttpThresholdFilterName.md) | | [optional] +**value** | **float** | The threshold value. | [optional] +**operator** | [**ThresholdFilterOperator**](ThresholdFilterOperator.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_tests_data_threshold_filter import HttpEndpointTestsDataThresholdFilter + +# TODO update the JSON string below +json = "{}" +# create an instance of HttpEndpointTestsDataThresholdFilter from a JSON string +http_endpoint_tests_data_threshold_filter_instance = HttpEndpointTestsDataThresholdFilter.from_json(json) +# print the JSON string representation of the object +print(HttpEndpointTestsDataThresholdFilter.to_json()) + +# convert the object into a dict +http_endpoint_tests_data_threshold_filter_dict = http_endpoint_tests_data_threshold_filter_instance.to_dict() +# create an instance of HttpEndpointTestsDataThresholdFilter from a dict +http_endpoint_tests_data_threshold_filter_from_dict = HttpEndpointTestsDataThresholdFilter.from_dict(http_endpoint_tests_data_threshold_filter_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) + + diff --git a/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestsDataThresholdFilters.md b/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestsDataThresholdFilters.md new file mode 100644 index 00000000..43c7354c --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/HttpEndpointTestsDataThresholdFilters.md @@ -0,0 +1,31 @@ +# HttpEndpointTestsDataThresholdFilters + +All filters are applied based on the conditional operator (and/or). + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**filters** | [**List[HttpEndpointTestsDataThresholdFilter]**](HttpEndpointTestsDataThresholdFilter.md) | | [optional] +**conditional_operator** | [**ConditionalOperator**](ConditionalOperator.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_tests_data_threshold_filters import HttpEndpointTestsDataThresholdFilters + +# TODO update the JSON string below +json = "{}" +# create an instance of HttpEndpointTestsDataThresholdFilters from a JSON string +http_endpoint_tests_data_threshold_filters_instance = HttpEndpointTestsDataThresholdFilters.from_json(json) +# print the JSON string representation of the object +print(HttpEndpointTestsDataThresholdFilters.to_json()) + +# convert the object into a dict +http_endpoint_tests_data_threshold_filters_dict = http_endpoint_tests_data_threshold_filters_instance.to_dict() +# create an instance of HttpEndpointTestsDataThresholdFilters from a dict +http_endpoint_tests_data_threshold_filters_from_dict = HttpEndpointTestsDataThresholdFilters.from_dict(http_endpoint_tests_data_threshold_filters_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) + + diff --git a/thousandeyes-sdk-endpoint-test-results/docs/HttpMultiEndpointTestResults.md b/thousandeyes-sdk-endpoint-test-results/docs/HttpMultiEndpointTestResults.md new file mode 100644 index 00000000..5a059d97 --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/HttpMultiEndpointTestResults.md @@ -0,0 +1,33 @@ +# HttpMultiEndpointTestResults + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**results** | [**List[HttpEndpointTestResult]**](HttpEndpointTestResult.md) | | [optional] +**total_hits** | **int** | Total number of measurements that match the search criteria | [optional] +**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** | (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] +**links** | [**PaginationNextAndSelfLink**](PaginationNextAndSelfLink.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.endpoint_test_results.models.http_multi_endpoint_test_results import HttpMultiEndpointTestResults + +# TODO update the JSON string below +json = "{}" +# create an instance of HttpMultiEndpointTestResults from a JSON string +http_multi_endpoint_test_results_instance = HttpMultiEndpointTestResults.from_json(json) +# print the JSON string representation of the object +print(HttpMultiEndpointTestResults.to_json()) + +# convert the object into a dict +http_multi_endpoint_test_results_dict = http_multi_endpoint_test_results_instance.to_dict() +# create an instance of HttpMultiEndpointTestResults from a dict +http_multi_endpoint_test_results_from_dict = HttpMultiEndpointTestResults.from_dict(http_multi_endpoint_test_results_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) + + diff --git a/thousandeyes-sdk-endpoint-test-results/docs/HttpThresholdFilterName.md b/thousandeyes-sdk-endpoint-test-results/docs/HttpThresholdFilterName.md new file mode 100644 index 00000000..db4edc33 --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/HttpThresholdFilterName.md @@ -0,0 +1,12 @@ +# HttpThresholdFilterName + +Metric on which the threshold filter is applied. + +## 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) + + diff --git a/thousandeyes-sdk-endpoint-test-results/docs/LocalNetworkTestsResultsApi.md b/thousandeyes-sdk-endpoint-test-results/docs/LocalNetworkEndpointTestResultsApi.md similarity index 89% rename from thousandeyes-sdk-endpoint-test-results/docs/LocalNetworkTestsResultsApi.md rename to thousandeyes-sdk-endpoint-test-results/docs/LocalNetworkEndpointTestResultsApi.md index 65ac8ab6..1fde912f 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/LocalNetworkTestsResultsApi.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/LocalNetworkEndpointTestResultsApi.md @@ -1,12 +1,12 @@ -# thousandeyes_sdk.endpoint_test_results.LocalNetworkTestsResultsApi +# thousandeyes_sdk.endpoint_test_results.LocalNetworkEndpointTestResultsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**filter_local_networks_test_results_topologies**](LocalNetworkTestsResultsApi.md#filter_local_networks_test_results_topologies) | **POST** /v7/endpoint/test-results/local-networks/topologies/filter | List endpoint network topologies probes -[**get_local_networks_test_results**](LocalNetworkTestsResultsApi.md#get_local_networks_test_results) | **GET** /v7/endpoint/test-results/local-networks | List local networks -[**get_local_networks_test_results_topology**](LocalNetworkTestsResultsApi.md#get_local_networks_test_results_topology) | **GET** /v7/endpoint/test-results/local-networks/topologies/{networkTopologyId} | Retrieve endpoint local network topology +[**filter_local_networks_test_results_topologies**](LocalNetworkEndpointTestResultsApi.md#filter_local_networks_test_results_topologies) | **POST** /endpoint/test-results/local-networks/topologies/filter | List endpoint network topologies probes +[**get_local_networks_test_results**](LocalNetworkEndpointTestResultsApi.md#get_local_networks_test_results) | **GET** /endpoint/test-results/local-networks | List local networks +[**get_local_networks_test_results_topology**](LocalNetworkEndpointTestResultsApi.md#get_local_networks_test_results_topology) | **GET** /endpoint/test-results/local-networks/topologies/{networkTopologyId} | Retrieve endpoint local network topology # **filter_local_networks_test_results_topologies** @@ -27,10 +27,10 @@ from thousandeyes_sdk.endpoint_test_results.models.local_network_topology_result from thousandeyes_sdk.endpoint_test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -46,7 +46,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_test_results.LocalNetworkTestsResultsApi(api_client) + api_instance = thousandeyes_sdk.endpoint_test_results.LocalNetworkEndpointTestResultsApi(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) window = '12h' # str | A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. (optional) start_date = '2022-07-17T22:00:54Z' # datetime | Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. (optional) @@ -57,10 +57,10 @@ with thousandeyes_sdk.endpoint_test_results.ApiClient(configuration) as api_clie try: # List endpoint network topologies probes api_response = api_instance.filter_local_networks_test_results_topologies(aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, endpoint_network_topology_result_request=endpoint_network_topology_result_request) - print("The response of LocalNetworkTestsResultsApi->filter_local_networks_test_results_topologies:\n") + print("The response of LocalNetworkEndpointTestResultsApi->filter_local_networks_test_results_topologies:\n") pprint(api_response) except Exception as e: - print("Exception when calling LocalNetworkTestsResultsApi->filter_local_networks_test_results_topologies: %s\n" % e) + print("Exception when calling LocalNetworkEndpointTestResultsApi->filter_local_networks_test_results_topologies: %s\n" % e) ``` @@ -122,10 +122,10 @@ from thousandeyes_sdk.endpoint_test_results.models.local_network_results import from thousandeyes_sdk.endpoint_test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -141,16 +141,16 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_test_results.LocalNetworkTestsResultsApi(api_client) + api_instance = thousandeyes_sdk.endpoint_test_results.LocalNetworkEndpointTestResultsApi(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 local networks api_response = api_instance.get_local_networks_test_results(aid=aid) - print("The response of LocalNetworkTestsResultsApi->get_local_networks_test_results:\n") + print("The response of LocalNetworkEndpointTestResultsApi->get_local_networks_test_results:\n") pprint(api_response) except Exception as e: - print("Exception when calling LocalNetworkTestsResultsApi->get_local_networks_test_results: %s\n" % e) + print("Exception when calling LocalNetworkEndpointTestResultsApi->get_local_networks_test_results: %s\n" % e) ``` @@ -206,10 +206,10 @@ from thousandeyes_sdk.endpoint_test_results.models.local_network_topology_detail from thousandeyes_sdk.endpoint_test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -225,17 +225,17 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_test_results.LocalNetworkTestsResultsApi(api_client) + api_instance = thousandeyes_sdk.endpoint_test_results.LocalNetworkEndpointTestResultsApi(api_client) network_topology_id = '00160:39c518560de9:1491651900:236e6f18' # str | The network topology ID. aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) try: # Retrieve endpoint local network topology api_response = api_instance.get_local_networks_test_results_topology(network_topology_id, aid=aid) - print("The response of LocalNetworkTestsResultsApi->get_local_networks_test_results_topology:\n") + print("The response of LocalNetworkEndpointTestResultsApi->get_local_networks_test_results_topology:\n") pprint(api_response) except Exception as e: - print("Exception when calling LocalNetworkTestsResultsApi->get_local_networks_test_results_topology: %s\n" % e) + print("Exception when calling LocalNetworkEndpointTestResultsApi->get_local_networks_test_results_topology: %s\n" % e) ``` diff --git a/thousandeyes-sdk-endpoint-test-results/docs/LocalNetworkTopologyResult.md b/thousandeyes-sdk-endpoint-test-results/docs/LocalNetworkTopologyResult.md index 9f5265fe..344aaaf7 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/LocalNetworkTopologyResult.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/LocalNetworkTopologyResult.md @@ -16,7 +16,7 @@ Name | Type | Description | Notes **is_icmp_blocked** | **bool** | Set to `true` if network target is blocking ICMP echo (ping) queries. | [optional] [readonly] **tcp_connect** | [**TcpConnect**](TcpConnect.md) | | [optional] **system_metrics** | [**SystemMetrics**](SystemMetrics.md) | | [optional] -**coordinates** | [**RealUserTestCoordinates**](RealUserTestCoordinates.md) | | [optional] +**coordinates** | [**RealUserEndpointTestCoordinates**](RealUserEndpointTestCoordinates.md) | | [optional] **network_profile** | [**NetworkProfile**](NetworkProfile.md) | | [optional] **icmp_traceroute** | [**Traceroute**](Traceroute.md) | | [optional] **icmp_traceroutes** | [**List[Traceroute]**](Traceroute.md) | | [optional] diff --git a/thousandeyes-sdk-endpoint-test-results/docs/MultiTestIdEndpointTestsDataRoundsSearch.md b/thousandeyes-sdk-endpoint-test-results/docs/MultiTestIdEndpointTestsDataRoundsSearch.md new file mode 100644 index 00000000..8fe6e260 --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/MultiTestIdEndpointTestsDataRoundsSearch.md @@ -0,0 +1,31 @@ +# MultiTestIdEndpointTestsDataRoundsSearch + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**search_sort** | [**List[EndpointTestsDataSearchSort]**](EndpointTestsDataSearchSort.md) | | [optional] +**threshold_filter** | [**EndpointTestsDataThresholdFilters**](EndpointTestsDataThresholdFilters.md) | | [optional] +**search_filters** | [**MultiTestIdEndpointTestsDataSearchFilter**](MultiTestIdEndpointTestsDataSearchFilter.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.endpoint_test_results.models.multi_test_id_endpoint_tests_data_rounds_search import MultiTestIdEndpointTestsDataRoundsSearch + +# TODO update the JSON string below +json = "{}" +# create an instance of MultiTestIdEndpointTestsDataRoundsSearch from a JSON string +multi_test_id_endpoint_tests_data_rounds_search_instance = MultiTestIdEndpointTestsDataRoundsSearch.from_json(json) +# print the JSON string representation of the object +print(MultiTestIdEndpointTestsDataRoundsSearch.to_json()) + +# convert the object into a dict +multi_test_id_endpoint_tests_data_rounds_search_dict = multi_test_id_endpoint_tests_data_rounds_search_instance.to_dict() +# create an instance of MultiTestIdEndpointTestsDataRoundsSearch from a dict +multi_test_id_endpoint_tests_data_rounds_search_from_dict = MultiTestIdEndpointTestsDataRoundsSearch.from_dict(multi_test_id_endpoint_tests_data_rounds_search_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) + + diff --git a/thousandeyes-sdk-endpoint-test-results/docs/MultiTestIdEndpointTestsDataSearchFilter.md b/thousandeyes-sdk-endpoint-test-results/docs/MultiTestIdEndpointTestsDataSearchFilter.md new file mode 100644 index 00000000..30c45d27 --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/MultiTestIdEndpointTestsDataSearchFilter.md @@ -0,0 +1,30 @@ +# MultiTestIdEndpointTestsDataSearchFilter + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**agent_id** | **List[str]** | Filter using the `agent-id`. | [optional] +**test_id** | **List[str]** | | [optional] + +## Example + +```python +from thousandeyes_sdk.endpoint_test_results.models.multi_test_id_endpoint_tests_data_search_filter import MultiTestIdEndpointTestsDataSearchFilter + +# TODO update the JSON string below +json = "{}" +# create an instance of MultiTestIdEndpointTestsDataSearchFilter from a JSON string +multi_test_id_endpoint_tests_data_search_filter_instance = MultiTestIdEndpointTestsDataSearchFilter.from_json(json) +# print the JSON string representation of the object +print(MultiTestIdEndpointTestsDataSearchFilter.to_json()) + +# convert the object into a dict +multi_test_id_endpoint_tests_data_search_filter_dict = multi_test_id_endpoint_tests_data_search_filter_instance.to_dict() +# create an instance of MultiTestIdEndpointTestsDataSearchFilter from a dict +multi_test_id_endpoint_tests_data_search_filter_from_dict = MultiTestIdEndpointTestsDataSearchFilter.from_dict(multi_test_id_endpoint_tests_data_search_filter_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) + + diff --git a/thousandeyes-sdk-endpoint-test-results/docs/MultiTestIdNetworkTestResults.md b/thousandeyes-sdk-endpoint-test-results/docs/MultiTestIdNetworkEndpointTestResults.md similarity index 61% rename from thousandeyes-sdk-endpoint-test-results/docs/MultiTestIdNetworkTestResults.md rename to thousandeyes-sdk-endpoint-test-results/docs/MultiTestIdNetworkEndpointTestResults.md index 2776897c..81e4a649 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/MultiTestIdNetworkTestResults.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/MultiTestIdNetworkEndpointTestResults.md @@ -1,11 +1,11 @@ -# MultiTestIdNetworkTestResults +# MultiTestIdNetworkEndpointTestResults ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**results** | [**List[NetworkTestResult]**](NetworkTestResult.md) | | [optional] +**results** | [**List[NetworkEndpointTestResult]**](NetworkEndpointTestResult.md) | | [optional] **total_hits** | **int** | Total number of measurements that match the search criteria | [optional] **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** | (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] @@ -14,19 +14,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.multi_test_id_network_test_results import MultiTestIdNetworkTestResults +from thousandeyes_sdk.endpoint_test_results.models.multi_test_id_network_endpoint_test_results import MultiTestIdNetworkEndpointTestResults # TODO update the JSON string below json = "{}" -# create an instance of MultiTestIdNetworkTestResults from a JSON string -multi_test_id_network_test_results_instance = MultiTestIdNetworkTestResults.from_json(json) +# create an instance of MultiTestIdNetworkEndpointTestResults from a JSON string +multi_test_id_network_endpoint_test_results_instance = MultiTestIdNetworkEndpointTestResults.from_json(json) # print the JSON string representation of the object -print(MultiTestIdNetworkTestResults.to_json()) +print(MultiTestIdNetworkEndpointTestResults.to_json()) # convert the object into a dict -multi_test_id_network_test_results_dict = multi_test_id_network_test_results_instance.to_dict() -# create an instance of MultiTestIdNetworkTestResults from a dict -multi_test_id_network_test_results_from_dict = MultiTestIdNetworkTestResults.from_dict(multi_test_id_network_test_results_dict) +multi_test_id_network_endpoint_test_results_dict = multi_test_id_network_endpoint_test_results_instance.to_dict() +# create an instance of MultiTestIdNetworkEndpointTestResults from a dict +multi_test_id_network_endpoint_test_results_from_dict = MultiTestIdNetworkEndpointTestResults.from_dict(multi_test_id_network_endpoint_test_results_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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/MultiTestIdTestsDataRoundsSearch.md b/thousandeyes-sdk-endpoint-test-results/docs/MultiTestIdTestsDataRoundsSearch.md deleted file mode 100644 index 9219af3d..00000000 --- a/thousandeyes-sdk-endpoint-test-results/docs/MultiTestIdTestsDataRoundsSearch.md +++ /dev/null @@ -1,31 +0,0 @@ -# MultiTestIdTestsDataRoundsSearch - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**search_sort** | [**List[TestsDataSearchSort]**](TestsDataSearchSort.md) | | [optional] -**threshold_filter** | [**TestsDataThresholdFilters**](TestsDataThresholdFilters.md) | | [optional] -**search_filters** | [**MultiTestIdTestsDataSearchFilter**](MultiTestIdTestsDataSearchFilter.md) | | [optional] - -## Example - -```python -from thousandeyes_sdk.endpoint_test_results.models.multi_test_id_tests_data_rounds_search import MultiTestIdTestsDataRoundsSearch - -# TODO update the JSON string below -json = "{}" -# create an instance of MultiTestIdTestsDataRoundsSearch from a JSON string -multi_test_id_tests_data_rounds_search_instance = MultiTestIdTestsDataRoundsSearch.from_json(json) -# print the JSON string representation of the object -print(MultiTestIdTestsDataRoundsSearch.to_json()) - -# convert the object into a dict -multi_test_id_tests_data_rounds_search_dict = multi_test_id_tests_data_rounds_search_instance.to_dict() -# create an instance of MultiTestIdTestsDataRoundsSearch from a dict -multi_test_id_tests_data_rounds_search_from_dict = MultiTestIdTestsDataRoundsSearch.from_dict(multi_test_id_tests_data_rounds_search_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) - - diff --git a/thousandeyes-sdk-endpoint-test-results/docs/MultiTestIdTestsDataSearchFilter.md b/thousandeyes-sdk-endpoint-test-results/docs/MultiTestIdTestsDataSearchFilter.md deleted file mode 100644 index fa5feec6..00000000 --- a/thousandeyes-sdk-endpoint-test-results/docs/MultiTestIdTestsDataSearchFilter.md +++ /dev/null @@ -1,30 +0,0 @@ -# MultiTestIdTestsDataSearchFilter - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**agent_id** | **List[str]** | Filter using the `agent-id`. | [optional] -**test_id** | **List[str]** | | [optional] - -## Example - -```python -from thousandeyes_sdk.endpoint_test_results.models.multi_test_id_tests_data_search_filter import MultiTestIdTestsDataSearchFilter - -# TODO update the JSON string below -json = "{}" -# create an instance of MultiTestIdTestsDataSearchFilter from a JSON string -multi_test_id_tests_data_search_filter_instance = MultiTestIdTestsDataSearchFilter.from_json(json) -# print the JSON string representation of the object -print(MultiTestIdTestsDataSearchFilter.to_json()) - -# convert the object into a dict -multi_test_id_tests_data_search_filter_dict = multi_test_id_tests_data_search_filter_instance.to_dict() -# create an instance of MultiTestIdTestsDataSearchFilter from a dict -multi_test_id_tests_data_search_filter_from_dict = MultiTestIdTestsDataSearchFilter.from_dict(multi_test_id_tests_data_search_filter_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) - - diff --git a/thousandeyes-sdk-endpoint-test-results/docs/NetworkDynamicTestResult.md b/thousandeyes-sdk-endpoint-test-results/docs/NetworkDynamicEndpointTestResult.md similarity index 72% rename from thousandeyes-sdk-endpoint-test-results/docs/NetworkDynamicTestResult.md rename to thousandeyes-sdk-endpoint-test-results/docs/NetworkDynamicEndpointTestResult.md index 882874d3..df1ece9d 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/NetworkDynamicTestResult.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/NetworkDynamicEndpointTestResult.md @@ -1,4 +1,4 @@ -# NetworkDynamicTestResult +# NetworkDynamicEndpointTestResult ## Properties @@ -6,6 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **aid** | **str** | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. | [optional] +**test_id** | **str** | Unique ID of endpoint test. | [optional] [readonly] **agent_id** | **str** | Unique ID of endpoint agent, from `/endpoint/agents` endpoint. | [optional] [readonly] **round_id** | **int** | Epoch time (seconds) indicating the start time of the round. | [optional] [readonly] **server_ip** | **str** | IP address of target server. | [optional] [readonly] @@ -21,27 +22,27 @@ Name | Type | Description | Notes **max_latency** | **float** | Maximum RTT for packets sent to destination. | [optional] [readonly] **min_latency** | **float** | Minimum RTT for packets sent to destination. | [optional] [readonly] **application** | **str** | Which supported application to monitor, can be one of `webex`, `zoom`, `microsoft-teams`. | [optional] -**protocol** | [**EndpointTestProtocol**](EndpointTestProtocol.md) | | [optional] +**protocol** | [**EndpointTestResultProtocol**](EndpointTestResultProtocol.md) | | [optional] **tcp_probe_mode** | [**TestProbeModeResponse**](TestProbeModeResponse.md) | | [optional] **udp_probe_mode** | [**UdpProbeModeResponse**](UdpProbeModeResponse.md) | | [optional] -**webex** | [**DynamicTestWebex**](DynamicTestWebex.md) | | [optional] +**webex** | [**DynamicEndpointTestWebex**](DynamicEndpointTestWebex.md) | | [optional] ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.network_dynamic_test_result import NetworkDynamicTestResult +from thousandeyes_sdk.endpoint_test_results.models.network_dynamic_endpoint_test_result import NetworkDynamicEndpointTestResult # TODO update the JSON string below json = "{}" -# create an instance of NetworkDynamicTestResult from a JSON string -network_dynamic_test_result_instance = NetworkDynamicTestResult.from_json(json) +# create an instance of NetworkDynamicEndpointTestResult from a JSON string +network_dynamic_endpoint_test_result_instance = NetworkDynamicEndpointTestResult.from_json(json) # print the JSON string representation of the object -print(NetworkDynamicTestResult.to_json()) +print(NetworkDynamicEndpointTestResult.to_json()) # convert the object into a dict -network_dynamic_test_result_dict = network_dynamic_test_result_instance.to_dict() -# create an instance of NetworkDynamicTestResult from a dict -network_dynamic_test_result_from_dict = NetworkDynamicTestResult.from_dict(network_dynamic_test_result_dict) +network_dynamic_endpoint_test_result_dict = network_dynamic_endpoint_test_result_instance.to_dict() +# create an instance of NetworkDynamicEndpointTestResult from a dict +network_dynamic_endpoint_test_result_from_dict = NetworkDynamicEndpointTestResult.from_dict(network_dynamic_endpoint_test_result_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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/NetworkDynamicTestResults.md b/thousandeyes-sdk-endpoint-test-results/docs/NetworkDynamicEndpointTestResults.md similarity index 63% rename from thousandeyes-sdk-endpoint-test-results/docs/NetworkDynamicTestResults.md rename to thousandeyes-sdk-endpoint-test-results/docs/NetworkDynamicEndpointTestResults.md index 63b1dc08..7e29729e 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/NetworkDynamicTestResults.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/NetworkDynamicEndpointTestResults.md @@ -1,11 +1,11 @@ -# NetworkDynamicTestResults +# NetworkDynamicEndpointTestResults ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**results** | [**List[NetworkDynamicTestResult]**](NetworkDynamicTestResult.md) | | [optional] +**results** | [**List[NetworkDynamicEndpointTestResult]**](NetworkDynamicEndpointTestResult.md) | | [optional] **test** | [**DynamicTest**](DynamicTest.md) | | [optional] **total_hits** | **int** | Total number of measurements that match the search criteria | [optional] **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] @@ -15,19 +15,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.network_dynamic_test_results import NetworkDynamicTestResults +from thousandeyes_sdk.endpoint_test_results.models.network_dynamic_endpoint_test_results import NetworkDynamicEndpointTestResults # TODO update the JSON string below json = "{}" -# create an instance of NetworkDynamicTestResults from a JSON string -network_dynamic_test_results_instance = NetworkDynamicTestResults.from_json(json) +# create an instance of NetworkDynamicEndpointTestResults from a JSON string +network_dynamic_endpoint_test_results_instance = NetworkDynamicEndpointTestResults.from_json(json) # print the JSON string representation of the object -print(NetworkDynamicTestResults.to_json()) +print(NetworkDynamicEndpointTestResults.to_json()) # convert the object into a dict -network_dynamic_test_results_dict = network_dynamic_test_results_instance.to_dict() -# create an instance of NetworkDynamicTestResults from a dict -network_dynamic_test_results_from_dict = NetworkDynamicTestResults.from_dict(network_dynamic_test_results_dict) +network_dynamic_endpoint_test_results_dict = network_dynamic_endpoint_test_results_instance.to_dict() +# create an instance of NetworkDynamicEndpointTestResults from a dict +network_dynamic_endpoint_test_results_from_dict = NetworkDynamicEndpointTestResults.from_dict(network_dynamic_endpoint_test_results_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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/NetworkDynamicTestsResultsApi.md b/thousandeyes-sdk-endpoint-test-results/docs/NetworkDynamicEndpointTestResultsApi.md similarity index 81% rename from thousandeyes-sdk-endpoint-test-results/docs/NetworkDynamicTestsResultsApi.md rename to thousandeyes-sdk-endpoint-test-results/docs/NetworkDynamicEndpointTestResultsApi.md index fe56154d..96470485 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/NetworkDynamicTestsResultsApi.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/NetworkDynamicEndpointTestResultsApi.md @@ -1,16 +1,16 @@ -# thousandeyes_sdk.endpoint_test_results.NetworkDynamicTestsResultsApi +# thousandeyes_sdk.endpoint_test_results.NetworkDynamicEndpointTestResultsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**filter_dynamic_test_network_results**](NetworkDynamicTestsResultsApi.md#filter_dynamic_test_network_results) | **POST** /v7/endpoint/test-results/dynamic-tests/{testId}/network/filter | Retrieve network dynamic test results -[**get_dynamic_test_path_vis_agent_round_results**](NetworkDynamicTestsResultsApi.md#get_dynamic_test_path_vis_agent_round_results) | **GET** /v7/endpoint/test-results/dynamic-tests/{testId}/path-vis/agent/{agentId}/round/{roundId} | Retrieve path visualization network dynamic test results details -[**get_dynamic_test_path_vis_results**](NetworkDynamicTestsResultsApi.md#get_dynamic_test_path_vis_results) | **GET** /v7/endpoint/test-results/dynamic-tests/{testId}/path-vis | Retrieve path visualization network dynamic test results +[**filter_dynamic_test_network_results**](NetworkDynamicEndpointTestResultsApi.md#filter_dynamic_test_network_results) | **POST** /endpoint/test-results/dynamic-tests/{testId}/network/filter | Retrieve network dynamic test results +[**get_dynamic_test_path_vis_agent_round_results**](NetworkDynamicEndpointTestResultsApi.md#get_dynamic_test_path_vis_agent_round_results) | **GET** /endpoint/test-results/dynamic-tests/{testId}/path-vis/agent/{agentId}/round/{roundId} | Retrieve path visualization network dynamic test results details +[**get_dynamic_test_path_vis_results**](NetworkDynamicEndpointTestResultsApi.md#get_dynamic_test_path_vis_results) | **GET** /endpoint/test-results/dynamic-tests/{testId}/path-vis | Retrieve path visualization network dynamic test results # **filter_dynamic_test_network_results** -> NetworkDynamicTestResults filter_dynamic_test_network_results(test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, dynamic_tests_data_round_search=dynamic_tests_data_round_search) +> NetworkDynamicEndpointTestResults filter_dynamic_test_network_results(test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, dynamic_endpoint_tests_data_round_search=dynamic_endpoint_tests_data_round_search) Retrieve network dynamic test results @@ -22,15 +22,15 @@ Returns network metrics (`loss`, `latency`, `jitter` and `bandwidth`) from each ```python import thousandeyes_sdk.endpoint_test_results -from thousandeyes_sdk.endpoint_test_results.models.dynamic_tests_data_round_search import DynamicTestsDataRoundSearch -from thousandeyes_sdk.endpoint_test_results.models.network_dynamic_test_results import NetworkDynamicTestResults +from thousandeyes_sdk.endpoint_test_results.models.dynamic_endpoint_tests_data_round_search import DynamicEndpointTestsDataRoundSearch +from thousandeyes_sdk.endpoint_test_results.models.network_dynamic_endpoint_test_results import NetworkDynamicEndpointTestResults from thousandeyes_sdk.endpoint_test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -46,22 +46,22 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_test_results.NetworkDynamicTestsResultsApi(api_client) + api_instance = thousandeyes_sdk.endpoint_test_results.NetworkDynamicEndpointTestResultsApi(api_client) test_id = '202701' # str | Test 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) window = '12h' # str | A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. (optional) start_date = '2022-07-17T22:00:54Z' # datetime | Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. (optional) end_date = '2022-07-18T22:00:54Z' # datetime | Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. (optional) cursor = 'cursor_example' # str | (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. (optional) - dynamic_tests_data_round_search = thousandeyes_sdk.endpoint_test_results.DynamicTestsDataRoundSearch() # DynamicTestsDataRoundSearch | Tests data search filters. (optional) + dynamic_endpoint_tests_data_round_search = thousandeyes_sdk.endpoint_test_results.DynamicEndpointTestsDataRoundSearch() # DynamicEndpointTestsDataRoundSearch | Tests data search filters. (optional) try: # Retrieve network dynamic test results - api_response = api_instance.filter_dynamic_test_network_results(test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, dynamic_tests_data_round_search=dynamic_tests_data_round_search) - print("The response of NetworkDynamicTestsResultsApi->filter_dynamic_test_network_results:\n") + api_response = api_instance.filter_dynamic_test_network_results(test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, dynamic_endpoint_tests_data_round_search=dynamic_endpoint_tests_data_round_search) + print("The response of NetworkDynamicEndpointTestResultsApi->filter_dynamic_test_network_results:\n") pprint(api_response) except Exception as e: - print("Exception when calling NetworkDynamicTestsResultsApi->filter_dynamic_test_network_results: %s\n" % e) + print("Exception when calling NetworkDynamicEndpointTestResultsApi->filter_dynamic_test_network_results: %s\n" % e) ``` @@ -77,11 +77,11 @@ Name | Type | Description | Notes **start_date** | **datetime**| Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. | [optional] **end_date** | **datetime**| Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. | [optional] **cursor** | **str**| (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. | [optional] - **dynamic_tests_data_round_search** | [**DynamicTestsDataRoundSearch**](DynamicTestsDataRoundSearch.md)| Tests data search filters. | [optional] + **dynamic_endpoint_tests_data_round_search** | [**DynamicEndpointTestsDataRoundSearch**](DynamicEndpointTestsDataRoundSearch.md)| Tests data search filters. | [optional] ### Return type -[**NetworkDynamicTestResults**](NetworkDynamicTestResults.md) +[**NetworkDynamicEndpointTestResults**](NetworkDynamicEndpointTestResults.md) ### Authorization @@ -107,7 +107,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_dynamic_test_path_vis_agent_round_results** -> PathVisDetailDynamicTestResults get_dynamic_test_path_vis_agent_round_results(test_id, agent_id, round_id, aid=aid) +> PathVisDetailDynamicEndpointTestResults get_dynamic_test_path_vis_agent_round_results(test_id, agent_id, round_id, aid=aid) Retrieve path visualization network dynamic test results details @@ -119,14 +119,14 @@ Returns a hop-by-hop summary of the path trace data collected during path visual ```python import thousandeyes_sdk.endpoint_test_results -from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_dynamic_test_results import PathVisDetailDynamicTestResults +from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_dynamic_endpoint_test_results import PathVisDetailDynamicEndpointTestResults from thousandeyes_sdk.endpoint_test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -142,7 +142,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_test_results.NetworkDynamicTestsResultsApi(api_client) + api_instance = thousandeyes_sdk.endpoint_test_results.NetworkDynamicEndpointTestResultsApi(api_client) test_id = '202701' # str | Test ID agent_id = '11' # str | Agent ID round_id = '1384309800' # str | Round ID @@ -151,10 +151,10 @@ with thousandeyes_sdk.endpoint_test_results.ApiClient(configuration) as api_clie try: # Retrieve path visualization network dynamic test results details api_response = api_instance.get_dynamic_test_path_vis_agent_round_results(test_id, agent_id, round_id, aid=aid) - print("The response of NetworkDynamicTestsResultsApi->get_dynamic_test_path_vis_agent_round_results:\n") + print("The response of NetworkDynamicEndpointTestResultsApi->get_dynamic_test_path_vis_agent_round_results:\n") pprint(api_response) except Exception as e: - print("Exception when calling NetworkDynamicTestsResultsApi->get_dynamic_test_path_vis_agent_round_results: %s\n" % e) + print("Exception when calling NetworkDynamicEndpointTestResultsApi->get_dynamic_test_path_vis_agent_round_results: %s\n" % e) ``` @@ -171,7 +171,7 @@ Name | Type | Description | Notes ### Return type -[**PathVisDetailDynamicTestResults**](PathVisDetailDynamicTestResults.md) +[**PathVisDetailDynamicEndpointTestResults**](PathVisDetailDynamicEndpointTestResults.md) ### Authorization @@ -198,7 +198,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_dynamic_test_path_vis_results** -> PathVisDynamicTestResults get_dynamic_test_path_vis_results(test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor) +> PathVisDynamicEndpointTestResults get_dynamic_test_path_vis_results(test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor) Retrieve path visualization network dynamic test results @@ -210,14 +210,14 @@ Returns a summary of the path visualization data collected from each endpoint ag ```python import thousandeyes_sdk.endpoint_test_results -from thousandeyes_sdk.endpoint_test_results.models.path_vis_dynamic_test_results import PathVisDynamicTestResults +from thousandeyes_sdk.endpoint_test_results.models.path_vis_dynamic_endpoint_test_results import PathVisDynamicEndpointTestResults from thousandeyes_sdk.endpoint_test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -233,7 +233,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_test_results.NetworkDynamicTestsResultsApi(api_client) + api_instance = thousandeyes_sdk.endpoint_test_results.NetworkDynamicEndpointTestResultsApi(api_client) test_id = '202701' # str | Test 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) window = '12h' # str | A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. (optional) @@ -244,10 +244,10 @@ with thousandeyes_sdk.endpoint_test_results.ApiClient(configuration) as api_clie try: # Retrieve path visualization network dynamic test results api_response = api_instance.get_dynamic_test_path_vis_results(test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor) - print("The response of NetworkDynamicTestsResultsApi->get_dynamic_test_path_vis_results:\n") + print("The response of NetworkDynamicEndpointTestResultsApi->get_dynamic_test_path_vis_results:\n") pprint(api_response) except Exception as e: - print("Exception when calling NetworkDynamicTestsResultsApi->get_dynamic_test_path_vis_results: %s\n" % e) + print("Exception when calling NetworkDynamicEndpointTestResultsApi->get_dynamic_test_path_vis_results: %s\n" % e) ``` @@ -266,7 +266,7 @@ Name | Type | Description | Notes ### Return type -[**PathVisDynamicTestResults**](PathVisDynamicTestResults.md) +[**PathVisDynamicEndpointTestResults**](PathVisDynamicEndpointTestResults.md) ### Authorization diff --git a/thousandeyes-sdk-endpoint-test-results/docs/NetworkScheduledTestsResultsApi.md b/thousandeyes-sdk-endpoint-test-results/docs/NetworkEndpointScheduledTestResultsApi.md similarity index 80% rename from thousandeyes-sdk-endpoint-test-results/docs/NetworkScheduledTestsResultsApi.md rename to thousandeyes-sdk-endpoint-test-results/docs/NetworkEndpointScheduledTestResultsApi.md index 5eede4d0..2687419d 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/NetworkScheduledTestsResultsApi.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/NetworkEndpointScheduledTestResultsApi.md @@ -1,17 +1,17 @@ -# thousandeyes_sdk.endpoint_test_results.NetworkScheduledTestsResultsApi +# thousandeyes_sdk.endpoint_test_results.NetworkEndpointScheduledTestResultsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**filter_scheduled_test_network_results**](NetworkScheduledTestsResultsApi.md#filter_scheduled_test_network_results) | **POST** /v7/endpoint/test-results/scheduled-tests/{testId}/network/filter | Retrieve network scheduled test results -[**filter_scheduled_tests_network_results**](NetworkScheduledTestsResultsApi.md#filter_scheduled_tests_network_results) | **POST** /v7/endpoint/test-results/scheduled-tests/network/filter | Retrieve network scheduled test results from multiple tests -[**get_scheduled_test_path_vis_agent_round_results**](NetworkScheduledTestsResultsApi.md#get_scheduled_test_path_vis_agent_round_results) | **GET** /v7/endpoint/test-results/scheduled-tests/{testId}/path-vis/agent/{agentId}/round/{roundId} | Retrieve path visualization network scheduled test results details -[**get_scheduled_test_path_vis_results**](NetworkScheduledTestsResultsApi.md#get_scheduled_test_path_vis_results) | **GET** /v7/endpoint/test-results/scheduled-tests/{testId}/path-vis | Retrieve path visualization network scheduled test results +[**filter_scheduled_test_network_results**](NetworkEndpointScheduledTestResultsApi.md#filter_scheduled_test_network_results) | **POST** /endpoint/test-results/scheduled-tests/{testId}/network/filter | Retrieve network scheduled test results +[**filter_scheduled_tests_network_results**](NetworkEndpointScheduledTestResultsApi.md#filter_scheduled_tests_network_results) | **POST** /endpoint/test-results/scheduled-tests/network/filter | Retrieve network scheduled test results from multiple tests +[**get_scheduled_test_path_vis_agent_round_results**](NetworkEndpointScheduledTestResultsApi.md#get_scheduled_test_path_vis_agent_round_results) | **GET** /endpoint/test-results/scheduled-tests/{testId}/path-vis/agent/{agentId}/round/{roundId} | Retrieve path visualization network scheduled test results details +[**get_scheduled_test_path_vis_results**](NetworkEndpointScheduledTestResultsApi.md#get_scheduled_test_path_vis_results) | **GET** /endpoint/test-results/scheduled-tests/{testId}/path-vis | Retrieve path visualization network scheduled test results # **filter_scheduled_test_network_results** -> NetworkTestResults filter_scheduled_test_network_results(test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, tests_data_rounds_search=tests_data_rounds_search) +> NetworkEndpointTestResults filter_scheduled_test_network_results(test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, endpoint_tests_data_rounds_search=endpoint_tests_data_rounds_search) Retrieve network scheduled test results @@ -23,15 +23,15 @@ Returns network metrics (loss, latency, and jitter) from each endpoint agent, fo ```python import thousandeyes_sdk.endpoint_test_results -from thousandeyes_sdk.endpoint_test_results.models.network_test_results import NetworkTestResults -from thousandeyes_sdk.endpoint_test_results.models.tests_data_rounds_search import TestsDataRoundsSearch +from thousandeyes_sdk.endpoint_test_results.models.endpoint_tests_data_rounds_search import EndpointTestsDataRoundsSearch +from thousandeyes_sdk.endpoint_test_results.models.network_endpoint_test_results import NetworkEndpointTestResults from thousandeyes_sdk.endpoint_test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -47,22 +47,22 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_test_results.NetworkScheduledTestsResultsApi(api_client) + api_instance = thousandeyes_sdk.endpoint_test_results.NetworkEndpointScheduledTestResultsApi(api_client) test_id = '202701' # str | Test 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) window = '12h' # str | A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. (optional) start_date = '2022-07-17T22:00:54Z' # datetime | Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. (optional) end_date = '2022-07-18T22:00:54Z' # datetime | Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. (optional) cursor = 'cursor_example' # str | (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. (optional) - tests_data_rounds_search = thousandeyes_sdk.endpoint_test_results.TestsDataRoundsSearch() # TestsDataRoundsSearch | Tests data search filters. (optional) + endpoint_tests_data_rounds_search = thousandeyes_sdk.endpoint_test_results.EndpointTestsDataRoundsSearch() # EndpointTestsDataRoundsSearch | Tests data search filters. (optional) try: # Retrieve network scheduled test results - api_response = api_instance.filter_scheduled_test_network_results(test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, tests_data_rounds_search=tests_data_rounds_search) - print("The response of NetworkScheduledTestsResultsApi->filter_scheduled_test_network_results:\n") + api_response = api_instance.filter_scheduled_test_network_results(test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, endpoint_tests_data_rounds_search=endpoint_tests_data_rounds_search) + print("The response of NetworkEndpointScheduledTestResultsApi->filter_scheduled_test_network_results:\n") pprint(api_response) except Exception as e: - print("Exception when calling NetworkScheduledTestsResultsApi->filter_scheduled_test_network_results: %s\n" % e) + print("Exception when calling NetworkEndpointScheduledTestResultsApi->filter_scheduled_test_network_results: %s\n" % e) ``` @@ -78,11 +78,11 @@ Name | Type | Description | Notes **start_date** | **datetime**| Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. | [optional] **end_date** | **datetime**| Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. | [optional] **cursor** | **str**| (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. | [optional] - **tests_data_rounds_search** | [**TestsDataRoundsSearch**](TestsDataRoundsSearch.md)| Tests data search filters. | [optional] + **endpoint_tests_data_rounds_search** | [**EndpointTestsDataRoundsSearch**](EndpointTestsDataRoundsSearch.md)| Tests data search filters. | [optional] ### Return type -[**NetworkTestResults**](NetworkTestResults.md) +[**NetworkEndpointTestResults**](NetworkEndpointTestResults.md) ### Authorization @@ -108,7 +108,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **filter_scheduled_tests_network_results** -> MultiTestIdNetworkTestResults filter_scheduled_tests_network_results(aid=aid, window=window, start_date=start_date, end_date=end_date, max=max, cursor=cursor, multi_test_id_tests_data_rounds_search=multi_test_id_tests_data_rounds_search) +> MultiTestIdNetworkEndpointTestResults filter_scheduled_tests_network_results(aid=aid, window=window, start_date=start_date, end_date=end_date, max=max, cursor=cursor, multi_test_id_endpoint_tests_data_rounds_search=multi_test_id_endpoint_tests_data_rounds_search) Retrieve network scheduled test results from multiple tests @@ -120,15 +120,15 @@ Returns network metrics, including loss, latency, and jitter, for multiple test ```python import thousandeyes_sdk.endpoint_test_results -from thousandeyes_sdk.endpoint_test_results.models.multi_test_id_network_test_results import MultiTestIdNetworkTestResults -from thousandeyes_sdk.endpoint_test_results.models.multi_test_id_tests_data_rounds_search import MultiTestIdTestsDataRoundsSearch +from thousandeyes_sdk.endpoint_test_results.models.multi_test_id_endpoint_tests_data_rounds_search import MultiTestIdEndpointTestsDataRoundsSearch +from thousandeyes_sdk.endpoint_test_results.models.multi_test_id_network_endpoint_test_results import MultiTestIdNetworkEndpointTestResults from thousandeyes_sdk.endpoint_test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -144,22 +144,22 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_test_results.NetworkScheduledTestsResultsApi(api_client) + api_instance = thousandeyes_sdk.endpoint_test_results.NetworkEndpointScheduledTestResultsApi(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) window = '12h' # str | A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. (optional) start_date = '2022-07-17T22:00:54Z' # datetime | Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. (optional) end_date = '2022-07-18T22:00:54Z' # datetime | Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. (optional) 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) - multi_test_id_tests_data_rounds_search = thousandeyes_sdk.endpoint_test_results.MultiTestIdTestsDataRoundsSearch() # MultiTestIdTestsDataRoundsSearch | Test data search filters. (optional) + multi_test_id_endpoint_tests_data_rounds_search = thousandeyes_sdk.endpoint_test_results.MultiTestIdEndpointTestsDataRoundsSearch() # MultiTestIdEndpointTestsDataRoundsSearch | Test data search filters. (optional) try: # Retrieve network scheduled test results from multiple tests - api_response = api_instance.filter_scheduled_tests_network_results(aid=aid, window=window, start_date=start_date, end_date=end_date, max=max, cursor=cursor, multi_test_id_tests_data_rounds_search=multi_test_id_tests_data_rounds_search) - print("The response of NetworkScheduledTestsResultsApi->filter_scheduled_tests_network_results:\n") + api_response = api_instance.filter_scheduled_tests_network_results(aid=aid, window=window, start_date=start_date, end_date=end_date, max=max, cursor=cursor, multi_test_id_endpoint_tests_data_rounds_search=multi_test_id_endpoint_tests_data_rounds_search) + print("The response of NetworkEndpointScheduledTestResultsApi->filter_scheduled_tests_network_results:\n") pprint(api_response) except Exception as e: - print("Exception when calling NetworkScheduledTestsResultsApi->filter_scheduled_tests_network_results: %s\n" % e) + print("Exception when calling NetworkEndpointScheduledTestResultsApi->filter_scheduled_tests_network_results: %s\n" % e) ``` @@ -175,11 +175,11 @@ Name | Type | Description | Notes **end_date** | **datetime**| Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. | [optional] **max** | **int**| (Optional) Maximum number of objects to return. | [optional] **cursor** | **str**| (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. | [optional] - **multi_test_id_tests_data_rounds_search** | [**MultiTestIdTestsDataRoundsSearch**](MultiTestIdTestsDataRoundsSearch.md)| Test data search filters. | [optional] + **multi_test_id_endpoint_tests_data_rounds_search** | [**MultiTestIdEndpointTestsDataRoundsSearch**](MultiTestIdEndpointTestsDataRoundsSearch.md)| Test data search filters. | [optional] ### Return type -[**MultiTestIdNetworkTestResults**](MultiTestIdNetworkTestResults.md) +[**MultiTestIdNetworkEndpointTestResults**](MultiTestIdNetworkEndpointTestResults.md) ### Authorization @@ -205,7 +205,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_scheduled_test_path_vis_agent_round_results** -> PathVisDetailTestResults get_scheduled_test_path_vis_agent_round_results(test_id, agent_id, round_id, aid=aid) +> PathVisDetailEndpointTestResults get_scheduled_test_path_vis_agent_round_results(test_id, agent_id, round_id, aid=aid) Retrieve path visualization network scheduled test results details @@ -217,14 +217,14 @@ Returns a hop-by-hop summary of the path trace data collected during path visual ```python import thousandeyes_sdk.endpoint_test_results -from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_test_results import PathVisDetailTestResults +from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_endpoint_test_results import PathVisDetailEndpointTestResults from thousandeyes_sdk.endpoint_test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -240,7 +240,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_test_results.NetworkScheduledTestsResultsApi(api_client) + api_instance = thousandeyes_sdk.endpoint_test_results.NetworkEndpointScheduledTestResultsApi(api_client) test_id = '202701' # str | Test ID agent_id = '11' # str | Agent ID round_id = '1384309800' # str | Round ID @@ -249,10 +249,10 @@ with thousandeyes_sdk.endpoint_test_results.ApiClient(configuration) as api_clie try: # Retrieve path visualization network scheduled test results details api_response = api_instance.get_scheduled_test_path_vis_agent_round_results(test_id, agent_id, round_id, aid=aid) - print("The response of NetworkScheduledTestsResultsApi->get_scheduled_test_path_vis_agent_round_results:\n") + print("The response of NetworkEndpointScheduledTestResultsApi->get_scheduled_test_path_vis_agent_round_results:\n") pprint(api_response) except Exception as e: - print("Exception when calling NetworkScheduledTestsResultsApi->get_scheduled_test_path_vis_agent_round_results: %s\n" % e) + print("Exception when calling NetworkEndpointScheduledTestResultsApi->get_scheduled_test_path_vis_agent_round_results: %s\n" % e) ``` @@ -269,7 +269,7 @@ Name | Type | Description | Notes ### Return type -[**PathVisDetailTestResults**](PathVisDetailTestResults.md) +[**PathVisDetailEndpointTestResults**](PathVisDetailEndpointTestResults.md) ### Authorization @@ -295,7 +295,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_scheduled_test_path_vis_results** -> PathVisTestResults get_scheduled_test_path_vis_results(test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor) +> PathVisEndpointTestResults get_scheduled_test_path_vis_results(test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor) Retrieve path visualization network scheduled test results @@ -307,14 +307,14 @@ Returns a summary of the path visualization data collected from each endpoint ag ```python import thousandeyes_sdk.endpoint_test_results -from thousandeyes_sdk.endpoint_test_results.models.path_vis_test_results import PathVisTestResults +from thousandeyes_sdk.endpoint_test_results.models.path_vis_endpoint_test_results import PathVisEndpointTestResults from thousandeyes_sdk.endpoint_test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -330,7 +330,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_test_results.NetworkScheduledTestsResultsApi(api_client) + api_instance = thousandeyes_sdk.endpoint_test_results.NetworkEndpointScheduledTestResultsApi(api_client) test_id = '202701' # str | Test 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) window = '12h' # str | A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. (optional) @@ -341,10 +341,10 @@ with thousandeyes_sdk.endpoint_test_results.ApiClient(configuration) as api_clie try: # Retrieve path visualization network scheduled test results api_response = api_instance.get_scheduled_test_path_vis_results(test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor) - print("The response of NetworkScheduledTestsResultsApi->get_scheduled_test_path_vis_results:\n") + print("The response of NetworkEndpointScheduledTestResultsApi->get_scheduled_test_path_vis_results:\n") pprint(api_response) except Exception as e: - print("Exception when calling NetworkScheduledTestsResultsApi->get_scheduled_test_path_vis_results: %s\n" % e) + print("Exception when calling NetworkEndpointScheduledTestResultsApi->get_scheduled_test_path_vis_results: %s\n" % e) ``` @@ -363,7 +363,7 @@ Name | Type | Description | Notes ### Return type -[**PathVisTestResults**](PathVisTestResults.md) +[**PathVisEndpointTestResults**](PathVisEndpointTestResults.md) ### Authorization diff --git a/thousandeyes-sdk-endpoint-test-results/docs/NetworkTestResult.md b/thousandeyes-sdk-endpoint-test-results/docs/NetworkEndpointTestResult.md similarity index 74% rename from thousandeyes-sdk-endpoint-test-results/docs/NetworkTestResult.md rename to thousandeyes-sdk-endpoint-test-results/docs/NetworkEndpointTestResult.md index 6d07711f..af556c64 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/NetworkTestResult.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/NetworkEndpointTestResult.md @@ -1,4 +1,4 @@ -# NetworkTestResult +# NetworkEndpointTestResult ## Properties @@ -6,6 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **aid** | **str** | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. | [optional] +**test_id** | **str** | Unique ID of endpoint test. | [optional] [readonly] **agent_id** | **str** | Unique ID of endpoint agent, from `/endpoint/agents` endpoint. | [optional] [readonly] **round_id** | **int** | Epoch time (seconds) indicating the start time of the round. | [optional] [readonly] **server_ip** | **str** | IP address of target server. | [optional] [readonly] @@ -24,19 +25,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.network_test_result import NetworkTestResult +from thousandeyes_sdk.endpoint_test_results.models.network_endpoint_test_result import NetworkEndpointTestResult # TODO update the JSON string below json = "{}" -# create an instance of NetworkTestResult from a JSON string -network_test_result_instance = NetworkTestResult.from_json(json) +# create an instance of NetworkEndpointTestResult from a JSON string +network_endpoint_test_result_instance = NetworkEndpointTestResult.from_json(json) # print the JSON string representation of the object -print(NetworkTestResult.to_json()) +print(NetworkEndpointTestResult.to_json()) # convert the object into a dict -network_test_result_dict = network_test_result_instance.to_dict() -# create an instance of NetworkTestResult from a dict -network_test_result_from_dict = NetworkTestResult.from_dict(network_test_result_dict) +network_endpoint_test_result_dict = network_endpoint_test_result_instance.to_dict() +# create an instance of NetworkEndpointTestResult from a dict +network_endpoint_test_result_from_dict = NetworkEndpointTestResult.from_dict(network_endpoint_test_result_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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/NetworkTestResults.md b/thousandeyes-sdk-endpoint-test-results/docs/NetworkEndpointTestResults.md similarity index 64% rename from thousandeyes-sdk-endpoint-test-results/docs/NetworkTestResults.md rename to thousandeyes-sdk-endpoint-test-results/docs/NetworkEndpointTestResults.md index 71de3bdb..4200a09e 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/NetworkTestResults.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/NetworkEndpointTestResults.md @@ -1,11 +1,11 @@ -# NetworkTestResults +# NetworkEndpointTestResults ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**results** | [**List[NetworkTestResult]**](NetworkTestResult.md) | | [optional] +**results** | [**List[NetworkEndpointTestResult]**](NetworkEndpointTestResult.md) | | [optional] **total_hits** | **int** | Total number of measurements that match the search criteria | [optional] **test** | [**EndpointScheduledTest**](EndpointScheduledTest.md) | | [optional] **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] @@ -15,19 +15,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.network_test_results import NetworkTestResults +from thousandeyes_sdk.endpoint_test_results.models.network_endpoint_test_results import NetworkEndpointTestResults # TODO update the JSON string below json = "{}" -# create an instance of NetworkTestResults from a JSON string -network_test_results_instance = NetworkTestResults.from_json(json) +# create an instance of NetworkEndpointTestResults from a JSON string +network_endpoint_test_results_instance = NetworkEndpointTestResults.from_json(json) # print the JSON string representation of the object -print(NetworkTestResults.to_json()) +print(NetworkEndpointTestResults.to_json()) # convert the object into a dict -network_test_results_dict = network_test_results_instance.to_dict() -# create an instance of NetworkTestResults from a dict -network_test_results_from_dict = NetworkTestResults.from_dict(network_test_results_dict) +network_endpoint_test_results_dict = network_endpoint_test_results_instance.to_dict() +# create an instance of NetworkEndpointTestResults from a dict +network_endpoint_test_results_from_dict = NetworkEndpointTestResults.from_dict(network_endpoint_test_results_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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/NetworkProfile.md b/thousandeyes-sdk-endpoint-test-results/docs/NetworkProfile.md index fee4e41d..da4e00c7 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/NetworkProfile.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/NetworkProfile.md @@ -17,7 +17,7 @@ Name | Type | Description | Notes **gateway** | **str** | Network gateway address. | [optional] [readonly] **wireless_profile** | [**NetworkWirelessProfile**](NetworkWirelessProfile.md) | | [optional] **proxy_profile** | [**NetworkProxyProfile**](NetworkProxyProfile.md) | | [optional] -**ethernet_profile** | [**EthernetProfile**](EthernetProfile.md) | | [optional] +**ethernet_profile** | [**EndpointTestEthernetProfile**](EndpointTestEthernetProfile.md) | | [optional] **previous_interface** | [**NetworkInterface**](NetworkInterface.md) | | [optional] ## Example diff --git a/thousandeyes-sdk-endpoint-test-results/docs/PathVisBaseTestResult.md b/thousandeyes-sdk-endpoint-test-results/docs/PathVisBaseEndpointTestResult.md similarity index 70% rename from thousandeyes-sdk-endpoint-test-results/docs/PathVisBaseTestResult.md rename to thousandeyes-sdk-endpoint-test-results/docs/PathVisBaseEndpointTestResult.md index 88679f20..cf7d7e6b 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/PathVisBaseTestResult.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/PathVisBaseEndpointTestResult.md @@ -1,4 +1,4 @@ -# PathVisBaseTestResult +# PathVisBaseEndpointTestResult ## Properties @@ -6,6 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **aid** | **str** | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. | [optional] +**test_id** | **str** | Unique ID of endpoint test. | [optional] [readonly] **agent_id** | **str** | Unique ID of endpoint agent, from `/endpoint/agents` endpoint. | [optional] [readonly] **round_id** | **int** | Epoch time (seconds) indicating the start time of the round. | [optional] [readonly] **server_ip** | **str** | IP address of target server. | [optional] [readonly] @@ -21,19 +22,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.path_vis_base_test_result import PathVisBaseTestResult +from thousandeyes_sdk.endpoint_test_results.models.path_vis_base_endpoint_test_result import PathVisBaseEndpointTestResult # TODO update the JSON string below json = "{}" -# create an instance of PathVisBaseTestResult from a JSON string -path_vis_base_test_result_instance = PathVisBaseTestResult.from_json(json) +# create an instance of PathVisBaseEndpointTestResult from a JSON string +path_vis_base_endpoint_test_result_instance = PathVisBaseEndpointTestResult.from_json(json) # print the JSON string representation of the object -print(PathVisBaseTestResult.to_json()) +print(PathVisBaseEndpointTestResult.to_json()) # convert the object into a dict -path_vis_base_test_result_dict = path_vis_base_test_result_instance.to_dict() -# create an instance of PathVisBaseTestResult from a dict -path_vis_base_test_result_from_dict = PathVisBaseTestResult.from_dict(path_vis_base_test_result_dict) +path_vis_base_endpoint_test_result_dict = path_vis_base_endpoint_test_result_instance.to_dict() +# create an instance of PathVisBaseEndpointTestResult from a dict +path_vis_base_endpoint_test_result_from_dict = PathVisBaseEndpointTestResult.from_dict(path_vis_base_endpoint_test_result_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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/PathVisDetailDynamicTestResult.md b/thousandeyes-sdk-endpoint-test-results/docs/PathVisDetailDynamicEndpointTestResult.md similarity index 59% rename from thousandeyes-sdk-endpoint-test-results/docs/PathVisDetailDynamicTestResult.md rename to thousandeyes-sdk-endpoint-test-results/docs/PathVisDetailDynamicEndpointTestResult.md index b44f0068..88d11362 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/PathVisDetailDynamicTestResult.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/PathVisDetailDynamicEndpointTestResult.md @@ -1,4 +1,4 @@ -# PathVisDetailDynamicTestResult +# PathVisDetailDynamicEndpointTestResult ## Properties @@ -6,6 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **aid** | **str** | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. | [optional] +**test_id** | **str** | Unique ID of endpoint test. | [optional] [readonly] **agent_id** | **str** | Unique ID of endpoint agent, from `/endpoint/agents` endpoint. | [optional] [readonly] **round_id** | **int** | Epoch time (seconds) indicating the start time of the round. | [optional] [readonly] **server_ip** | **str** | IP address of target server. | [optional] [readonly] @@ -17,30 +18,30 @@ Name | Type | Description | Notes **server** | **str** | Target server, including port. | [optional] [readonly] **source_ip** | **str** | IP address of source endpoint agent. | [optional] [readonly] **source_prefix** | **str** | IP prefix of source endpoint agent. | [optional] [readonly] -**path_traces** | [**List[PathVisRoute]**](PathVisRoute.md) | Shows iterations of path trace, with each iteration specified by a pathId. | [optional] -**vpn_path_traces** | [**List[PathVisRoute]**](PathVisRoute.md) | Shows iterations of the VPN path trace, with each iteration specified by a pathId. | [optional] +**path_traces** | [**List[EndpointPathVisRoute]**](EndpointPathVisRoute.md) | Shows iterations of path trace, with each iteration specified by a pathId. | [optional] +**vpn_path_traces** | [**List[EndpointPathVisRoute]**](EndpointPathVisRoute.md) | Shows iterations of the VPN path trace, with each iteration specified by a pathId. | [optional] **application** | **str** | Which supported application to monitor, can be one of `webex`, `zoom`, `microsoft-teams`. | [optional] -**protocol** | [**EndpointTestProtocol**](EndpointTestProtocol.md) | | [optional] +**protocol** | [**EndpointTestResultProtocol**](EndpointTestResultProtocol.md) | | [optional] **tcp_probe_mode** | [**TestProbeModeResponse**](TestProbeModeResponse.md) | | [optional] **udp_probe_mode** | [**UdpProbeModeResponse**](UdpProbeModeResponse.md) | | [optional] -**webex** | [**DynamicTestWebex**](DynamicTestWebex.md) | | [optional] +**webex** | [**DynamicEndpointTestWebex**](DynamicEndpointTestWebex.md) | | [optional] ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_dynamic_test_result import PathVisDetailDynamicTestResult +from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_dynamic_endpoint_test_result import PathVisDetailDynamicEndpointTestResult # TODO update the JSON string below json = "{}" -# create an instance of PathVisDetailDynamicTestResult from a JSON string -path_vis_detail_dynamic_test_result_instance = PathVisDetailDynamicTestResult.from_json(json) +# create an instance of PathVisDetailDynamicEndpointTestResult from a JSON string +path_vis_detail_dynamic_endpoint_test_result_instance = PathVisDetailDynamicEndpointTestResult.from_json(json) # print the JSON string representation of the object -print(PathVisDetailDynamicTestResult.to_json()) +print(PathVisDetailDynamicEndpointTestResult.to_json()) # convert the object into a dict -path_vis_detail_dynamic_test_result_dict = path_vis_detail_dynamic_test_result_instance.to_dict() -# create an instance of PathVisDetailDynamicTestResult from a dict -path_vis_detail_dynamic_test_result_from_dict = PathVisDetailDynamicTestResult.from_dict(path_vis_detail_dynamic_test_result_dict) +path_vis_detail_dynamic_endpoint_test_result_dict = path_vis_detail_dynamic_endpoint_test_result_instance.to_dict() +# create an instance of PathVisDetailDynamicEndpointTestResult from a dict +path_vis_detail_dynamic_endpoint_test_result_from_dict = PathVisDetailDynamicEndpointTestResult.from_dict(path_vis_detail_dynamic_endpoint_test_result_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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/PathVisDetailDynamicEndpointTestResults.md b/thousandeyes-sdk-endpoint-test-results/docs/PathVisDetailDynamicEndpointTestResults.md new file mode 100644 index 00000000..e77cbabd --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/PathVisDetailDynamicEndpointTestResults.md @@ -0,0 +1,31 @@ +# PathVisDetailDynamicEndpointTestResults + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**results** | [**List[PathVisDetailDynamicEndpointTestResult]**](PathVisDetailDynamicEndpointTestResult.md) | | [optional] +**test** | [**DynamicTest**](DynamicTest.md) | | [optional] +**links** | [**SelfLinks**](SelfLinks.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_dynamic_endpoint_test_results import PathVisDetailDynamicEndpointTestResults + +# TODO update the JSON string below +json = "{}" +# create an instance of PathVisDetailDynamicEndpointTestResults from a JSON string +path_vis_detail_dynamic_endpoint_test_results_instance = PathVisDetailDynamicEndpointTestResults.from_json(json) +# print the JSON string representation of the object +print(PathVisDetailDynamicEndpointTestResults.to_json()) + +# convert the object into a dict +path_vis_detail_dynamic_endpoint_test_results_dict = path_vis_detail_dynamic_endpoint_test_results_instance.to_dict() +# create an instance of PathVisDetailDynamicEndpointTestResults from a dict +path_vis_detail_dynamic_endpoint_test_results_from_dict = PathVisDetailDynamicEndpointTestResults.from_dict(path_vis_detail_dynamic_endpoint_test_results_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) + + diff --git a/thousandeyes-sdk-endpoint-test-results/docs/PathVisDetailDynamicTestResults.md b/thousandeyes-sdk-endpoint-test-results/docs/PathVisDetailDynamicTestResults.md deleted file mode 100644 index 66adca65..00000000 --- a/thousandeyes-sdk-endpoint-test-results/docs/PathVisDetailDynamicTestResults.md +++ /dev/null @@ -1,31 +0,0 @@ -# PathVisDetailDynamicTestResults - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**results** | [**List[PathVisDetailDynamicTestResult]**](PathVisDetailDynamicTestResult.md) | | [optional] -**test** | [**DynamicTest**](DynamicTest.md) | | [optional] -**links** | [**SelfLinks**](SelfLinks.md) | | [optional] - -## Example - -```python -from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_dynamic_test_results import PathVisDetailDynamicTestResults - -# TODO update the JSON string below -json = "{}" -# create an instance of PathVisDetailDynamicTestResults from a JSON string -path_vis_detail_dynamic_test_results_instance = PathVisDetailDynamicTestResults.from_json(json) -# print the JSON string representation of the object -print(PathVisDetailDynamicTestResults.to_json()) - -# convert the object into a dict -path_vis_detail_dynamic_test_results_dict = path_vis_detail_dynamic_test_results_instance.to_dict() -# create an instance of PathVisDetailDynamicTestResults from a dict -path_vis_detail_dynamic_test_results_from_dict = PathVisDetailDynamicTestResults.from_dict(path_vis_detail_dynamic_test_results_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) - - diff --git a/thousandeyes-sdk-endpoint-test-results/docs/PathVisDetailTestResult.md b/thousandeyes-sdk-endpoint-test-results/docs/PathVisDetailEndpointTestResult.md similarity index 61% rename from thousandeyes-sdk-endpoint-test-results/docs/PathVisDetailTestResult.md rename to thousandeyes-sdk-endpoint-test-results/docs/PathVisDetailEndpointTestResult.md index 7e45fa07..9aa5482d 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/PathVisDetailTestResult.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/PathVisDetailEndpointTestResult.md @@ -1,4 +1,4 @@ -# PathVisDetailTestResult +# PathVisDetailEndpointTestResult ## Properties @@ -6,6 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **aid** | **str** | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. | [optional] +**test_id** | **str** | Unique ID of endpoint test. | [optional] [readonly] **agent_id** | **str** | Unique ID of endpoint agent, from `/endpoint/agents` endpoint. | [optional] [readonly] **round_id** | **int** | Epoch time (seconds) indicating the start time of the round. | [optional] [readonly] **server_ip** | **str** | IP address of target server. | [optional] [readonly] @@ -17,25 +18,25 @@ Name | Type | Description | Notes **server** | **str** | Target server, including port. | [optional] [readonly] **source_ip** | **str** | IP address of source endpoint agent. | [optional] [readonly] **source_prefix** | **str** | IP prefix of source endpoint agent. | [optional] [readonly] -**path_traces** | [**List[PathVisRoute]**](PathVisRoute.md) | Shows iterations of path trace, with each iteration specified by a pathId. | [optional] -**vpn_path_traces** | [**List[PathVisRoute]**](PathVisRoute.md) | Shows iterations of the VPN path trace, with each iteration specified by a pathId. | [optional] +**path_traces** | [**List[EndpointPathVisRoute]**](EndpointPathVisRoute.md) | Shows iterations of path trace, with each iteration specified by a pathId. | [optional] +**vpn_path_traces** | [**List[EndpointPathVisRoute]**](EndpointPathVisRoute.md) | Shows iterations of the VPN path trace, with each iteration specified by a pathId. | [optional] ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_test_result import PathVisDetailTestResult +from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_endpoint_test_result import PathVisDetailEndpointTestResult # TODO update the JSON string below json = "{}" -# create an instance of PathVisDetailTestResult from a JSON string -path_vis_detail_test_result_instance = PathVisDetailTestResult.from_json(json) +# create an instance of PathVisDetailEndpointTestResult from a JSON string +path_vis_detail_endpoint_test_result_instance = PathVisDetailEndpointTestResult.from_json(json) # print the JSON string representation of the object -print(PathVisDetailTestResult.to_json()) +print(PathVisDetailEndpointTestResult.to_json()) # convert the object into a dict -path_vis_detail_test_result_dict = path_vis_detail_test_result_instance.to_dict() -# create an instance of PathVisDetailTestResult from a dict -path_vis_detail_test_result_from_dict = PathVisDetailTestResult.from_dict(path_vis_detail_test_result_dict) +path_vis_detail_endpoint_test_result_dict = path_vis_detail_endpoint_test_result_instance.to_dict() +# create an instance of PathVisDetailEndpointTestResult from a dict +path_vis_detail_endpoint_test_result_from_dict = PathVisDetailEndpointTestResult.from_dict(path_vis_detail_endpoint_test_result_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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/PathVisDetailEndpointTestResults.md b/thousandeyes-sdk-endpoint-test-results/docs/PathVisDetailEndpointTestResults.md new file mode 100644 index 00000000..7437365d --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/PathVisDetailEndpointTestResults.md @@ -0,0 +1,31 @@ +# PathVisDetailEndpointTestResults + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**results** | [**List[PathVisDetailEndpointTestResult]**](PathVisDetailEndpointTestResult.md) | | [optional] +**test** | [**EndpointScheduledTest**](EndpointScheduledTest.md) | | [optional] +**links** | [**SelfLinks**](SelfLinks.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_endpoint_test_results import PathVisDetailEndpointTestResults + +# TODO update the JSON string below +json = "{}" +# create an instance of PathVisDetailEndpointTestResults from a JSON string +path_vis_detail_endpoint_test_results_instance = PathVisDetailEndpointTestResults.from_json(json) +# print the JSON string representation of the object +print(PathVisDetailEndpointTestResults.to_json()) + +# convert the object into a dict +path_vis_detail_endpoint_test_results_dict = path_vis_detail_endpoint_test_results_instance.to_dict() +# create an instance of PathVisDetailEndpointTestResults from a dict +path_vis_detail_endpoint_test_results_from_dict = PathVisDetailEndpointTestResults.from_dict(path_vis_detail_endpoint_test_results_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) + + diff --git a/thousandeyes-sdk-endpoint-test-results/docs/PathVisDetailTestResults.md b/thousandeyes-sdk-endpoint-test-results/docs/PathVisDetailTestResults.md deleted file mode 100644 index 7cbd587a..00000000 --- a/thousandeyes-sdk-endpoint-test-results/docs/PathVisDetailTestResults.md +++ /dev/null @@ -1,31 +0,0 @@ -# PathVisDetailTestResults - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**results** | [**List[PathVisDetailTestResult]**](PathVisDetailTestResult.md) | | [optional] -**test** | [**EndpointScheduledTest**](EndpointScheduledTest.md) | | [optional] -**links** | [**SelfLinks**](SelfLinks.md) | | [optional] - -## Example - -```python -from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_test_results import PathVisDetailTestResults - -# TODO update the JSON string below -json = "{}" -# create an instance of PathVisDetailTestResults from a JSON string -path_vis_detail_test_results_instance = PathVisDetailTestResults.from_json(json) -# print the JSON string representation of the object -print(PathVisDetailTestResults.to_json()) - -# convert the object into a dict -path_vis_detail_test_results_dict = path_vis_detail_test_results_instance.to_dict() -# create an instance of PathVisDetailTestResults from a dict -path_vis_detail_test_results_from_dict = PathVisDetailTestResults.from_dict(path_vis_detail_test_results_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) - - diff --git a/thousandeyes-sdk-endpoint-test-results/docs/PathVisDynamicTestResult.md b/thousandeyes-sdk-endpoint-test-results/docs/PathVisDynamicEndpointTestResult.md similarity index 66% rename from thousandeyes-sdk-endpoint-test-results/docs/PathVisDynamicTestResult.md rename to thousandeyes-sdk-endpoint-test-results/docs/PathVisDynamicEndpointTestResult.md index cdccf77f..6f1f995e 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/PathVisDynamicTestResult.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/PathVisDynamicEndpointTestResult.md @@ -1,4 +1,4 @@ -# PathVisDynamicTestResult +# PathVisDynamicEndpointTestResult ## Properties @@ -6,6 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **aid** | **str** | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. | [optional] +**test_id** | **str** | Unique ID of endpoint test. | [optional] [readonly] **agent_id** | **str** | Unique ID of endpoint agent, from `/endpoint/agents` endpoint. | [optional] [readonly] **round_id** | **int** | Epoch time (seconds) indicating the start time of the round. | [optional] [readonly] **server_ip** | **str** | IP address of target server. | [optional] [readonly] @@ -18,29 +19,29 @@ Name | Type | Description | Notes **source_ip** | **str** | IP address of source endpoint agent. | [optional] [readonly] **source_prefix** | **str** | IP prefix of source endpoint agent. | [optional] [readonly] **application** | **str** | Which supported application to monitor, can be one of `webex`, `zoom`, `microsoft-teams`. | [optional] -**protocol** | [**EndpointTestProtocol**](EndpointTestProtocol.md) | | [optional] +**protocol** | [**EndpointTestResultProtocol**](EndpointTestResultProtocol.md) | | [optional] **tcp_probe_mode** | [**TestProbeModeResponse**](TestProbeModeResponse.md) | | [optional] **udp_probe_mode** | [**UdpProbeModeResponse**](UdpProbeModeResponse.md) | | [optional] -**webex** | [**DynamicTestWebex**](DynamicTestWebex.md) | | [optional] +**webex** | [**DynamicEndpointTestWebex**](DynamicEndpointTestWebex.md) | | [optional] **location** | **str** | Geographic location of the path visualization. | [optional] [readonly] -**path_traces** | [**List[PathVisEndpoint]**](PathVisEndpoint.md) | Shows an iteration of path trace, with each iteration specified by a pathId. | [optional] +**path_traces** | [**List[EndpointPathTrace]**](EndpointPathTrace.md) | Shows an iteration of path trace, with each iteration specified by a pathId. | [optional] ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.path_vis_dynamic_test_result import PathVisDynamicTestResult +from thousandeyes_sdk.endpoint_test_results.models.path_vis_dynamic_endpoint_test_result import PathVisDynamicEndpointTestResult # TODO update the JSON string below json = "{}" -# create an instance of PathVisDynamicTestResult from a JSON string -path_vis_dynamic_test_result_instance = PathVisDynamicTestResult.from_json(json) +# create an instance of PathVisDynamicEndpointTestResult from a JSON string +path_vis_dynamic_endpoint_test_result_instance = PathVisDynamicEndpointTestResult.from_json(json) # print the JSON string representation of the object -print(PathVisDynamicTestResult.to_json()) +print(PathVisDynamicEndpointTestResult.to_json()) # convert the object into a dict -path_vis_dynamic_test_result_dict = path_vis_dynamic_test_result_instance.to_dict() -# create an instance of PathVisDynamicTestResult from a dict -path_vis_dynamic_test_result_from_dict = PathVisDynamicTestResult.from_dict(path_vis_dynamic_test_result_dict) +path_vis_dynamic_endpoint_test_result_dict = path_vis_dynamic_endpoint_test_result_instance.to_dict() +# create an instance of PathVisDynamicEndpointTestResult from a dict +path_vis_dynamic_endpoint_test_result_from_dict = PathVisDynamicEndpointTestResult.from_dict(path_vis_dynamic_endpoint_test_result_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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/PathVisDynamicTestResults.md b/thousandeyes-sdk-endpoint-test-results/docs/PathVisDynamicEndpointTestResults.md similarity index 59% rename from thousandeyes-sdk-endpoint-test-results/docs/PathVisDynamicTestResults.md rename to thousandeyes-sdk-endpoint-test-results/docs/PathVisDynamicEndpointTestResults.md index fbc19dd9..76be7d5a 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/PathVisDynamicTestResults.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/PathVisDynamicEndpointTestResults.md @@ -1,32 +1,33 @@ -# PathVisDynamicTestResults +# PathVisDynamicEndpointTestResults ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**results** | [**List[PathVisDynamicTestResult]**](PathVisDynamicTestResult.md) | | [optional] +**results** | [**List[PathVisDynamicEndpointTestResult]**](PathVisDynamicEndpointTestResult.md) | | [optional] **test** | [**DynamicTest**](DynamicTest.md) | | [optional] **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** | (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] +**total_hits** | **int** | Total number of measurements that match the search criteria | [optional] **links** | [**PaginationNextAndSelfLink**](PaginationNextAndSelfLink.md) | | [optional] ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.path_vis_dynamic_test_results import PathVisDynamicTestResults +from thousandeyes_sdk.endpoint_test_results.models.path_vis_dynamic_endpoint_test_results import PathVisDynamicEndpointTestResults # TODO update the JSON string below json = "{}" -# create an instance of PathVisDynamicTestResults from a JSON string -path_vis_dynamic_test_results_instance = PathVisDynamicTestResults.from_json(json) +# create an instance of PathVisDynamicEndpointTestResults from a JSON string +path_vis_dynamic_endpoint_test_results_instance = PathVisDynamicEndpointTestResults.from_json(json) # print the JSON string representation of the object -print(PathVisDynamicTestResults.to_json()) +print(PathVisDynamicEndpointTestResults.to_json()) # convert the object into a dict -path_vis_dynamic_test_results_dict = path_vis_dynamic_test_results_instance.to_dict() -# create an instance of PathVisDynamicTestResults from a dict -path_vis_dynamic_test_results_from_dict = PathVisDynamicTestResults.from_dict(path_vis_dynamic_test_results_dict) +path_vis_dynamic_endpoint_test_results_dict = path_vis_dynamic_endpoint_test_results_instance.to_dict() +# create an instance of PathVisDynamicEndpointTestResults from a dict +path_vis_dynamic_endpoint_test_results_from_dict = PathVisDynamicEndpointTestResults.from_dict(path_vis_dynamic_endpoint_test_results_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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/PathVisTestResult.md b/thousandeyes-sdk-endpoint-test-results/docs/PathVisEndpointTestResult.md similarity index 66% rename from thousandeyes-sdk-endpoint-test-results/docs/PathVisTestResult.md rename to thousandeyes-sdk-endpoint-test-results/docs/PathVisEndpointTestResult.md index e3e50650..11e56387 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/PathVisTestResult.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/PathVisEndpointTestResult.md @@ -1,4 +1,4 @@ -# PathVisTestResult +# PathVisEndpointTestResult ## Properties @@ -6,6 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **aid** | **str** | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. | [optional] +**test_id** | **str** | Unique ID of endpoint test. | [optional] [readonly] **agent_id** | **str** | Unique ID of endpoint agent, from `/endpoint/agents` endpoint. | [optional] [readonly] **round_id** | **int** | Epoch time (seconds) indicating the start time of the round. | [optional] [readonly] **server_ip** | **str** | IP address of target server. | [optional] [readonly] @@ -18,24 +19,24 @@ Name | Type | Description | Notes **source_ip** | **str** | IP address of source endpoint agent. | [optional] [readonly] **source_prefix** | **str** | IP prefix of source endpoint agent. | [optional] [readonly] **location** | **str** | Geographic location of the path visualization. | [optional] [readonly] -**path_traces** | [**List[PathVisEndpoint]**](PathVisEndpoint.md) | Shows an iteration of path trace, with each iteration specified by a pathId. | [optional] +**path_traces** | [**List[EndpointPathTrace]**](EndpointPathTrace.md) | Shows an iteration of path trace, with each iteration specified by a pathId. | [optional] ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.path_vis_test_result import PathVisTestResult +from thousandeyes_sdk.endpoint_test_results.models.path_vis_endpoint_test_result import PathVisEndpointTestResult # TODO update the JSON string below json = "{}" -# create an instance of PathVisTestResult from a JSON string -path_vis_test_result_instance = PathVisTestResult.from_json(json) +# create an instance of PathVisEndpointTestResult from a JSON string +path_vis_endpoint_test_result_instance = PathVisEndpointTestResult.from_json(json) # print the JSON string representation of the object -print(PathVisTestResult.to_json()) +print(PathVisEndpointTestResult.to_json()) # convert the object into a dict -path_vis_test_result_dict = path_vis_test_result_instance.to_dict() -# create an instance of PathVisTestResult from a dict -path_vis_test_result_from_dict = PathVisTestResult.from_dict(path_vis_test_result_dict) +path_vis_endpoint_test_result_dict = path_vis_endpoint_test_result_instance.to_dict() +# create an instance of PathVisEndpointTestResult from a dict +path_vis_endpoint_test_result_from_dict = PathVisEndpointTestResult.from_dict(path_vis_endpoint_test_result_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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/PathVisTestResults.md b/thousandeyes-sdk-endpoint-test-results/docs/PathVisEndpointTestResults.md similarity index 62% rename from thousandeyes-sdk-endpoint-test-results/docs/PathVisTestResults.md rename to thousandeyes-sdk-endpoint-test-results/docs/PathVisEndpointTestResults.md index 4b12ff53..621a8b82 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/PathVisTestResults.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/PathVisEndpointTestResults.md @@ -1,11 +1,11 @@ -# PathVisTestResults +# PathVisEndpointTestResults ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**results** | [**List[PathVisTestResult]**](PathVisTestResult.md) | | [optional] +**results** | [**List[PathVisEndpointTestResult]**](PathVisEndpointTestResult.md) | | [optional] **test** | [**EndpointScheduledTest**](EndpointScheduledTest.md) | | [optional] **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** | (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] @@ -14,19 +14,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.path_vis_test_results import PathVisTestResults +from thousandeyes_sdk.endpoint_test_results.models.path_vis_endpoint_test_results import PathVisEndpointTestResults # TODO update the JSON string below json = "{}" -# create an instance of PathVisTestResults from a JSON string -path_vis_test_results_instance = PathVisTestResults.from_json(json) +# create an instance of PathVisEndpointTestResults from a JSON string +path_vis_endpoint_test_results_instance = PathVisEndpointTestResults.from_json(json) # print the JSON string representation of the object -print(PathVisTestResults.to_json()) +print(PathVisEndpointTestResults.to_json()) # convert the object into a dict -path_vis_test_results_dict = path_vis_test_results_instance.to_dict() -# create an instance of PathVisTestResults from a dict -path_vis_test_results_from_dict = PathVisTestResults.from_dict(path_vis_test_results_dict) +path_vis_endpoint_test_results_dict = path_vis_endpoint_test_results_instance.to_dict() +# create an instance of PathVisEndpointTestResults from a dict +path_vis_endpoint_test_results_from_dict = PathVisEndpointTestResults.from_dict(path_vis_endpoint_test_results_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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/PathVisRoute.md b/thousandeyes-sdk-endpoint-test-results/docs/PathVisRoute.md deleted file mode 100644 index 9d658cb2..00000000 --- a/thousandeyes-sdk-endpoint-test-results/docs/PathVisRoute.md +++ /dev/null @@ -1,30 +0,0 @@ -# PathVisRoute - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**path_id** | **str** | Unique ID of path trace. | [optional] [readonly] -**hops** | [**List[PathVisHop]**](PathVisHop.md) | Array of hop objects indicating each step in the traceroute. | [optional] - -## Example - -```python -from thousandeyes_sdk.endpoint_test_results.models.path_vis_route import PathVisRoute - -# TODO update the JSON string below -json = "{}" -# create an instance of PathVisRoute from a JSON string -path_vis_route_instance = PathVisRoute.from_json(json) -# print the JSON string representation of the object -print(PathVisRoute.to_json()) - -# convert the object into a dict -path_vis_route_dict = path_vis_route_instance.to_dict() -# create an instance of PathVisRoute from a dict -path_vis_route_from_dict = PathVisRoute.from_dict(path_vis_route_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) - - diff --git a/thousandeyes-sdk-endpoint-test-results/docs/Platform.md b/thousandeyes-sdk-endpoint-test-results/docs/Platform.md index 97f29ba7..df59b607 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/Platform.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/Platform.md @@ -1,6 +1,6 @@ # Platform -OS platform types +OS platform types. Platform \"linux\" was recently renamed to \"roomos\". ## Properties diff --git a/thousandeyes-sdk-endpoint-test-results/docs/EndpointRealUserTest.md b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTest.md similarity index 80% rename from thousandeyes-sdk-endpoint-test-results/docs/EndpointRealUserTest.md rename to thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTest.md index 092010af..4a322eea 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/EndpointRealUserTest.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTest.md @@ -1,4 +1,4 @@ -# EndpointRealUserTest +# RealUserEndpointTest ## Properties @@ -22,19 +22,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test import EndpointRealUserTest +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test import RealUserEndpointTest # TODO update the JSON string below json = "{}" -# create an instance of EndpointRealUserTest from a JSON string -endpoint_real_user_test_instance = EndpointRealUserTest.from_json(json) +# create an instance of RealUserEndpointTest from a JSON string +real_user_endpoint_test_instance = RealUserEndpointTest.from_json(json) # print the JSON string representation of the object -print(EndpointRealUserTest.to_json()) +print(RealUserEndpointTest.to_json()) # convert the object into a dict -endpoint_real_user_test_dict = endpoint_real_user_test_instance.to_dict() -# create an instance of EndpointRealUserTest from a dict -endpoint_real_user_test_from_dict = EndpointRealUserTest.from_dict(endpoint_real_user_test_dict) +real_user_endpoint_test_dict = real_user_endpoint_test_instance.to_dict() +# create an instance of RealUserEndpointTest from a dict +real_user_endpoint_test_from_dict = RealUserEndpointTest.from_dict(real_user_endpoint_test_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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/EndpointRealUserTestBase.md b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestBase.md similarity index 78% rename from thousandeyes-sdk-endpoint-test-results/docs/EndpointRealUserTestBase.md rename to thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestBase.md index dc3b0e6e..18271700 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/EndpointRealUserTestBase.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestBase.md @@ -1,4 +1,4 @@ -# EndpointRealUserTestBase +# RealUserEndpointTestBase ## Properties @@ -21,19 +21,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test_base import EndpointRealUserTestBase +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_base import RealUserEndpointTestBase # TODO update the JSON string below json = "{}" -# create an instance of EndpointRealUserTestBase from a JSON string -endpoint_real_user_test_base_instance = EndpointRealUserTestBase.from_json(json) +# create an instance of RealUserEndpointTestBase from a JSON string +real_user_endpoint_test_base_instance = RealUserEndpointTestBase.from_json(json) # print the JSON string representation of the object -print(EndpointRealUserTestBase.to_json()) +print(RealUserEndpointTestBase.to_json()) # convert the object into a dict -endpoint_real_user_test_base_dict = endpoint_real_user_test_base_instance.to_dict() -# create an instance of EndpointRealUserTestBase from a dict -endpoint_real_user_test_base_from_dict = EndpointRealUserTestBase.from_dict(endpoint_real_user_test_base_dict) +real_user_endpoint_test_base_dict = real_user_endpoint_test_base_instance.to_dict() +# create an instance of RealUserEndpointTestBase from a dict +real_user_endpoint_test_base_from_dict = RealUserEndpointTestBase.from_dict(real_user_endpoint_test_base_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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestCoordinates.md b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestCoordinates.md similarity index 54% rename from thousandeyes-sdk-endpoint-test-results/docs/RealUserTestCoordinates.md rename to thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestCoordinates.md index e50f48b3..7b87a7db 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestCoordinates.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestCoordinates.md @@ -1,4 +1,4 @@ -# RealUserTestCoordinates +# RealUserEndpointTestCoordinates Contains approximate GPS location of the endpoint agent, based on endpoint agent’s public IP address. @@ -13,19 +13,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_coordinates import RealUserTestCoordinates +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_coordinates import RealUserEndpointTestCoordinates # TODO update the JSON string below json = "{}" -# create an instance of RealUserTestCoordinates from a JSON string -real_user_test_coordinates_instance = RealUserTestCoordinates.from_json(json) +# create an instance of RealUserEndpointTestCoordinates from a JSON string +real_user_endpoint_test_coordinates_instance = RealUserEndpointTestCoordinates.from_json(json) # print the JSON string representation of the object -print(RealUserTestCoordinates.to_json()) +print(RealUserEndpointTestCoordinates.to_json()) # convert the object into a dict -real_user_test_coordinates_dict = real_user_test_coordinates_instance.to_dict() -# create an instance of RealUserTestCoordinates from a dict -real_user_test_coordinates_from_dict = RealUserTestCoordinates.from_dict(real_user_test_coordinates_dict) +real_user_endpoint_test_coordinates_dict = real_user_endpoint_test_coordinates_instance.to_dict() +# create an instance of RealUserEndpointTestCoordinates from a dict +real_user_endpoint_test_coordinates_from_dict = RealUserEndpointTestCoordinates.from_dict(real_user_endpoint_test_coordinates_dict) ``` [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/EndpointRealUserTestDetail.md b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestDetail.md similarity index 70% rename from thousandeyes-sdk-endpoint-test-results/docs/EndpointRealUserTestDetail.md rename to thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestDetail.md index 5212ec1b..f318a123 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/EndpointRealUserTestDetail.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestDetail.md @@ -1,4 +1,4 @@ -# EndpointRealUserTestDetail +# RealUserEndpointTestDetail ## Properties @@ -18,26 +18,26 @@ Name | Type | Description | Notes **id** | **str** | Endpoint real user test ID. Each endpoint real user test occurrence has a unique ID. | [optional] [readonly] **visited_site** | **str** | Domain used to visit target website. | [optional] [readonly] **browser** | [**EndpointBrowser**](EndpointBrowser.md) | | [optional] -**coordinates** | [**RealUserTestCoordinates**](RealUserTestCoordinates.md) | | [optional] -**pages** | [**List[RealUserTestPage]**](RealUserTestPage.md) | Web site base domain visited during the session. | [optional] -**network** | [**RealUserTestNetwork**](RealUserTestNetwork.md) | | [optional] +**coordinates** | [**RealUserEndpointTestCoordinates**](RealUserEndpointTestCoordinates.md) | | [optional] +**pages** | [**List[RealUserEndpointTestPage]**](RealUserEndpointTestPage.md) | Web site base domain visited during the session. | [optional] +**network** | [**RealUserEndpointTestNetwork**](RealUserEndpointTestNetwork.md) | | [optional] ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test_detail import EndpointRealUserTestDetail +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_detail import RealUserEndpointTestDetail # TODO update the JSON string below json = "{}" -# create an instance of EndpointRealUserTestDetail from a JSON string -endpoint_real_user_test_detail_instance = EndpointRealUserTestDetail.from_json(json) +# create an instance of RealUserEndpointTestDetail from a JSON string +real_user_endpoint_test_detail_instance = RealUserEndpointTestDetail.from_json(json) # print the JSON string representation of the object -print(EndpointRealUserTestDetail.to_json()) +print(RealUserEndpointTestDetail.to_json()) # convert the object into a dict -endpoint_real_user_test_detail_dict = endpoint_real_user_test_detail_instance.to_dict() -# create an instance of EndpointRealUserTestDetail from a dict -endpoint_real_user_test_detail_from_dict = EndpointRealUserTestDetail.from_dict(endpoint_real_user_test_detail_dict) +real_user_endpoint_test_detail_dict = real_user_endpoint_test_detail_instance.to_dict() +# create an instance of RealUserEndpointTestDetail from a dict +real_user_endpoint_test_detail_from_dict = RealUserEndpointTestDetail.from_dict(real_user_endpoint_test_detail_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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestDetailResults.md b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestDetailResults.md new file mode 100644 index 00000000..983c582f --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestDetailResults.md @@ -0,0 +1,30 @@ +# RealUserEndpointTestDetailResults + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**results** | [**List[RealUserEndpointTestDetail]**](RealUserEndpointTestDetail.md) | | [optional] +**links** | [**SelfLinks**](SelfLinks.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_detail_results import RealUserEndpointTestDetailResults + +# TODO update the JSON string below +json = "{}" +# create an instance of RealUserEndpointTestDetailResults from a JSON string +real_user_endpoint_test_detail_results_instance = RealUserEndpointTestDetailResults.from_json(json) +# print the JSON string representation of the object +print(RealUserEndpointTestDetailResults.to_json()) + +# convert the object into a dict +real_user_endpoint_test_detail_results_dict = real_user_endpoint_test_detail_results_instance.to_dict() +# create an instance of RealUserEndpointTestDetailResults from a dict +real_user_endpoint_test_detail_results_from_dict = RealUserEndpointTestDetailResults.from_dict(real_user_endpoint_test_detail_results_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) + + diff --git a/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestNetwork.md b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestNetwork.md similarity index 69% rename from thousandeyes-sdk-endpoint-test-results/docs/RealUserTestNetwork.md rename to thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestNetwork.md index 5ba9a04d..13cc3f61 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestNetwork.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestNetwork.md @@ -1,4 +1,4 @@ -# RealUserTestNetwork +# RealUserEndpointTestNetwork Contains details about network profile and conditions during session. @@ -20,19 +20,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_network import RealUserTestNetwork +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_network import RealUserEndpointTestNetwork # TODO update the JSON string below json = "{}" -# create an instance of RealUserTestNetwork from a JSON string -real_user_test_network_instance = RealUserTestNetwork.from_json(json) +# create an instance of RealUserEndpointTestNetwork from a JSON string +real_user_endpoint_test_network_instance = RealUserEndpointTestNetwork.from_json(json) # print the JSON string representation of the object -print(RealUserTestNetwork.to_json()) +print(RealUserEndpointTestNetwork.to_json()) # convert the object into a dict -real_user_test_network_dict = real_user_test_network_instance.to_dict() -# create an instance of RealUserTestNetwork from a dict -real_user_test_network_from_dict = RealUserTestNetwork.from_dict(real_user_test_network_dict) +real_user_endpoint_test_network_dict = real_user_endpoint_test_network_instance.to_dict() +# create an instance of RealUserEndpointTestNetwork from a dict +real_user_endpoint_test_network_from_dict = RealUserEndpointTestNetwork.from_dict(real_user_endpoint_test_network_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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestNetworkResult.md b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestNetworkResult.md similarity index 63% rename from thousandeyes-sdk-endpoint-test-results/docs/RealUserTestNetworkResult.md rename to thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestNetworkResult.md index e7283d49..da62371c 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestNetworkResult.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestNetworkResult.md @@ -1,4 +1,4 @@ -# RealUserTestNetworkResult +# RealUserEndpointTestNetworkResult ## Properties @@ -17,19 +17,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_network_result import RealUserTestNetworkResult +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_network_result import RealUserEndpointTestNetworkResult # TODO update the JSON string below json = "{}" -# create an instance of RealUserTestNetworkResult from a JSON string -real_user_test_network_result_instance = RealUserTestNetworkResult.from_json(json) +# create an instance of RealUserEndpointTestNetworkResult from a JSON string +real_user_endpoint_test_network_result_instance = RealUserEndpointTestNetworkResult.from_json(json) # print the JSON string representation of the object -print(RealUserTestNetworkResult.to_json()) +print(RealUserEndpointTestNetworkResult.to_json()) # convert the object into a dict -real_user_test_network_result_dict = real_user_test_network_result_instance.to_dict() -# create an instance of RealUserTestNetworkResult from a dict -real_user_test_network_result_from_dict = RealUserTestNetworkResult.from_dict(real_user_test_network_result_dict) +real_user_endpoint_test_network_result_dict = real_user_endpoint_test_network_result_instance.to_dict() +# create an instance of RealUserEndpointTestNetworkResult from a dict +real_user_endpoint_test_network_result_from_dict = RealUserEndpointTestNetworkResult.from_dict(real_user_endpoint_test_network_result_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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestNetworkResults.md b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestNetworkResults.md similarity index 56% rename from thousandeyes-sdk-endpoint-test-results/docs/RealUserTestNetworkResults.md rename to thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestNetworkResults.md index 93500334..f21dd8e8 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestNetworkResults.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestNetworkResults.md @@ -1,11 +1,11 @@ -# RealUserTestNetworkResults +# RealUserEndpointTestNetworkResults ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**results** | [**List[RealUserTestNetworkResult]**](RealUserTestNetworkResult.md) | | [optional] +**results** | [**List[RealUserEndpointTestNetworkResult]**](RealUserEndpointTestNetworkResult.md) | | [optional] **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** | (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] **links** | [**PaginationNextLink**](PaginationNextLink.md) | | [optional] @@ -13,19 +13,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_network_results import RealUserTestNetworkResults +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_network_results import RealUserEndpointTestNetworkResults # TODO update the JSON string below json = "{}" -# create an instance of RealUserTestNetworkResults from a JSON string -real_user_test_network_results_instance = RealUserTestNetworkResults.from_json(json) +# create an instance of RealUserEndpointTestNetworkResults from a JSON string +real_user_endpoint_test_network_results_instance = RealUserEndpointTestNetworkResults.from_json(json) # print the JSON string representation of the object -print(RealUserTestNetworkResults.to_json()) +print(RealUserEndpointTestNetworkResults.to_json()) # convert the object into a dict -real_user_test_network_results_dict = real_user_test_network_results_instance.to_dict() -# create an instance of RealUserTestNetworkResults from a dict -real_user_test_network_results_from_dict = RealUserTestNetworkResults.from_dict(real_user_test_network_results_dict) +real_user_endpoint_test_network_results_dict = real_user_endpoint_test_network_results_instance.to_dict() +# create an instance of RealUserEndpointTestNetworkResults from a dict +real_user_endpoint_test_network_results_from_dict = RealUserEndpointTestNetworkResults.from_dict(real_user_endpoint_test_network_results_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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestPage.md b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestPage.md similarity index 55% rename from thousandeyes-sdk-endpoint-test-results/docs/RealUserTestPage.md rename to thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestPage.md index 0c052a00..4faa1277 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestPage.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestPage.md @@ -1,4 +1,4 @@ -# RealUserTestPage +# RealUserEndpointTestPage ## Properties @@ -10,24 +10,24 @@ Name | Type | Description | Notes **page_url** | **str** | Web page url | [optional] [readonly] **load_date** | **datetime** | UTC date when page load started (ISO date-time format). | [optional] [readonly] **response_code** | **int** | HTTP response code. | [optional] [readonly] -**page_timings** | [**RealUserTestPageTimings**](RealUserTestPageTimings.md) | | [optional] +**page_timings** | [**RealUserEndpointTestPageTimings**](RealUserEndpointTestPageTimings.md) | | [optional] ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_page import RealUserTestPage +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_page import RealUserEndpointTestPage # TODO update the JSON string below json = "{}" -# create an instance of RealUserTestPage from a JSON string -real_user_test_page_instance = RealUserTestPage.from_json(json) +# create an instance of RealUserEndpointTestPage from a JSON string +real_user_endpoint_test_page_instance = RealUserEndpointTestPage.from_json(json) # print the JSON string representation of the object -print(RealUserTestPage.to_json()) +print(RealUserEndpointTestPage.to_json()) # convert the object into a dict -real_user_test_page_dict = real_user_test_page_instance.to_dict() -# create an instance of RealUserTestPage from a dict -real_user_test_page_from_dict = RealUserTestPage.from_dict(real_user_test_page_dict) +real_user_endpoint_test_page_dict = real_user_endpoint_test_page_instance.to_dict() +# create an instance of RealUserEndpointTestPage from a dict +real_user_endpoint_test_page_from_dict = RealUserEndpointTestPage.from_dict(real_user_endpoint_test_page_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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestPageDetailResult.md b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestPageDetailResult.md new file mode 100644 index 00000000..5fc8e338 --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestPageDetailResult.md @@ -0,0 +1,30 @@ +# RealUserEndpointTestPageDetailResult + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**har** | **object** | A HAR object according to the [HTTP Archive 1.2 specifications](http://www.softwareishard.com/blog/har-12-spec/), with an additional `systemMetrics` property. | [optional] +**links** | [**SelfLinks**](SelfLinks.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_page_detail_result import RealUserEndpointTestPageDetailResult + +# TODO update the JSON string below +json = "{}" +# create an instance of RealUserEndpointTestPageDetailResult from a JSON string +real_user_endpoint_test_page_detail_result_instance = RealUserEndpointTestPageDetailResult.from_json(json) +# print the JSON string representation of the object +print(RealUserEndpointTestPageDetailResult.to_json()) + +# convert the object into a dict +real_user_endpoint_test_page_detail_result_dict = real_user_endpoint_test_page_detail_result_instance.to_dict() +# create an instance of RealUserEndpointTestPageDetailResult from a dict +real_user_endpoint_test_page_detail_result_from_dict = RealUserEndpointTestPageDetailResult.from_dict(real_user_endpoint_test_page_detail_result_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) + + diff --git a/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestPageResult.md b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestPageResult.md similarity index 64% rename from thousandeyes-sdk-endpoint-test-results/docs/RealUserTestPageResult.md rename to thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestPageResult.md index 777d74b3..e2f90206 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestPageResult.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestPageResult.md @@ -1,4 +1,4 @@ -# RealUserTestPageResult +# RealUserEndpointTestPageResult ## Properties @@ -10,7 +10,7 @@ Name | Type | Description | Notes **page_url** | **str** | Web page url | [optional] [readonly] **load_date** | **datetime** | UTC date when page load started (ISO date-time format). | [optional] [readonly] **response_code** | **int** | HTTP response code. | [optional] [readonly] -**page_timings** | [**RealUserTestPageTimings**](RealUserTestPageTimings.md) | | [optional] +**page_timings** | [**RealUserEndpointTestPageTimings**](RealUserEndpointTestPageTimings.md) | | [optional] **agent_id** | **str** | Unique ID of endpoint agent, from `/endpoint/agents` endpoint. | [optional] [readonly] **id** | **str** | Endpoint real user test ID. Each endpoint real user test occurrence has a unique ID. | [optional] [readonly] **round_id** | **int** | Epoch time (seconds) indicating the start time of the round. | [optional] [readonly] @@ -20,19 +20,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_page_result import RealUserTestPageResult +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_page_result import RealUserEndpointTestPageResult # TODO update the JSON string below json = "{}" -# create an instance of RealUserTestPageResult from a JSON string -real_user_test_page_result_instance = RealUserTestPageResult.from_json(json) +# create an instance of RealUserEndpointTestPageResult from a JSON string +real_user_endpoint_test_page_result_instance = RealUserEndpointTestPageResult.from_json(json) # print the JSON string representation of the object -print(RealUserTestPageResult.to_json()) +print(RealUserEndpointTestPageResult.to_json()) # convert the object into a dict -real_user_test_page_result_dict = real_user_test_page_result_instance.to_dict() -# create an instance of RealUserTestPageResult from a dict -real_user_test_page_result_from_dict = RealUserTestPageResult.from_dict(real_user_test_page_result_dict) +real_user_endpoint_test_page_result_dict = real_user_endpoint_test_page_result_instance.to_dict() +# create an instance of RealUserEndpointTestPageResult from a dict +real_user_endpoint_test_page_result_from_dict = RealUserEndpointTestPageResult.from_dict(real_user_endpoint_test_page_result_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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestPageResults.md b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestPageResults.md similarity index 58% rename from thousandeyes-sdk-endpoint-test-results/docs/RealUserTestPageResults.md rename to thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestPageResults.md index b0af8f72..ffa0e10f 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestPageResults.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestPageResults.md @@ -1,11 +1,11 @@ -# RealUserTestPageResults +# RealUserEndpointTestPageResults ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**results** | [**List[RealUserTestPageResult]**](RealUserTestPageResult.md) | | [optional] +**results** | [**List[RealUserEndpointTestPageResult]**](RealUserEndpointTestPageResult.md) | | [optional] **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** | (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] **links** | [**PaginationNextLink**](PaginationNextLink.md) | | [optional] @@ -13,19 +13,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_page_results import RealUserTestPageResults +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_page_results import RealUserEndpointTestPageResults # TODO update the JSON string below json = "{}" -# create an instance of RealUserTestPageResults from a JSON string -real_user_test_page_results_instance = RealUserTestPageResults.from_json(json) +# create an instance of RealUserEndpointTestPageResults from a JSON string +real_user_endpoint_test_page_results_instance = RealUserEndpointTestPageResults.from_json(json) # print the JSON string representation of the object -print(RealUserTestPageResults.to_json()) +print(RealUserEndpointTestPageResults.to_json()) # convert the object into a dict -real_user_test_page_results_dict = real_user_test_page_results_instance.to_dict() -# create an instance of RealUserTestPageResults from a dict -real_user_test_page_results_from_dict = RealUserTestPageResults.from_dict(real_user_test_page_results_dict) +real_user_endpoint_test_page_results_dict = real_user_endpoint_test_page_results_instance.to_dict() +# create an instance of RealUserEndpointTestPageResults from a dict +real_user_endpoint_test_page_results_from_dict = RealUserEndpointTestPageResults.from_dict(real_user_endpoint_test_page_results_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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestPageTimings.md b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestPageTimings.md new file mode 100644 index 00000000..f70b4274 --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestPageTimings.md @@ -0,0 +1,30 @@ +# RealUserEndpointTestPageTimings + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**on_content_load** | **int** | DOM load time in milliseconds. | [optional] [readonly] +**on_load** | **int** | Page load time in milliseconds. | [optional] [readonly] + +## Example + +```python +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_page_timings import RealUserEndpointTestPageTimings + +# TODO update the JSON string below +json = "{}" +# create an instance of RealUserEndpointTestPageTimings from a JSON string +real_user_endpoint_test_page_timings_instance = RealUserEndpointTestPageTimings.from_json(json) +# print the JSON string representation of the object +print(RealUserEndpointTestPageTimings.to_json()) + +# convert the object into a dict +real_user_endpoint_test_page_timings_dict = real_user_endpoint_test_page_timings_instance.to_dict() +# create an instance of RealUserEndpointTestPageTimings from a dict +real_user_endpoint_test_page_timings_from_dict = RealUserEndpointTestPageTimings.from_dict(real_user_endpoint_test_page_timings_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) + + diff --git a/thousandeyes-sdk-endpoint-test-results/docs/EndpointRealUserTestResultRequestFilter.md b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestResultRequestFilter.md similarity index 69% rename from thousandeyes-sdk-endpoint-test-results/docs/EndpointRealUserTestResultRequestFilter.md rename to thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestResultRequestFilter.md index bbb64eff..818ba29a 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/EndpointRealUserTestResultRequestFilter.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestResultRequestFilter.md @@ -1,4 +1,4 @@ -# EndpointRealUserTestResultRequestFilter +# RealUserEndpointTestResultRequestFilter ## Properties @@ -23,19 +23,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test_result_request_filter import EndpointRealUserTestResultRequestFilter +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_result_request_filter import RealUserEndpointTestResultRequestFilter # TODO update the JSON string below json = "{}" -# create an instance of EndpointRealUserTestResultRequestFilter from a JSON string -endpoint_real_user_test_result_request_filter_instance = EndpointRealUserTestResultRequestFilter.from_json(json) +# create an instance of RealUserEndpointTestResultRequestFilter from a JSON string +real_user_endpoint_test_result_request_filter_instance = RealUserEndpointTestResultRequestFilter.from_json(json) # print the JSON string representation of the object -print(EndpointRealUserTestResultRequestFilter.to_json()) +print(RealUserEndpointTestResultRequestFilter.to_json()) # convert the object into a dict -endpoint_real_user_test_result_request_filter_dict = endpoint_real_user_test_result_request_filter_instance.to_dict() -# create an instance of EndpointRealUserTestResultRequestFilter from a dict -endpoint_real_user_test_result_request_filter_from_dict = EndpointRealUserTestResultRequestFilter.from_dict(endpoint_real_user_test_result_request_filter_dict) +real_user_endpoint_test_result_request_filter_dict = real_user_endpoint_test_result_request_filter_instance.to_dict() +# create an instance of RealUserEndpointTestResultRequestFilter from a dict +real_user_endpoint_test_result_request_filter_from_dict = RealUserEndpointTestResultRequestFilter.from_dict(real_user_endpoint_test_result_request_filter_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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/EndpointRealUserTestResults.md b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestResults.md similarity index 65% rename from thousandeyes-sdk-endpoint-test-results/docs/EndpointRealUserTestResults.md rename to thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestResults.md index 8cbf1a36..e50cb6c4 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/EndpointRealUserTestResults.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestResults.md @@ -1,11 +1,11 @@ -# EndpointRealUserTestResults +# RealUserEndpointTestResults ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**results** | [**List[EndpointRealUserTest]**](EndpointRealUserTest.md) | | [optional] +**results** | [**List[RealUserEndpointTest]**](RealUserEndpointTest.md) | | [optional] **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** | (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] **links** | [**PaginationNextLink**](PaginationNextLink.md) | | [optional] @@ -13,19 +13,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test_results import EndpointRealUserTestResults +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_results import RealUserEndpointTestResults # TODO update the JSON string below json = "{}" -# create an instance of EndpointRealUserTestResults from a JSON string -endpoint_real_user_test_results_instance = EndpointRealUserTestResults.from_json(json) +# create an instance of RealUserEndpointTestResults from a JSON string +real_user_endpoint_test_results_instance = RealUserEndpointTestResults.from_json(json) # print the JSON string representation of the object -print(EndpointRealUserTestResults.to_json()) +print(RealUserEndpointTestResults.to_json()) # convert the object into a dict -endpoint_real_user_test_results_dict = endpoint_real_user_test_results_instance.to_dict() -# create an instance of EndpointRealUserTestResults from a dict -endpoint_real_user_test_results_from_dict = EndpointRealUserTestResults.from_dict(endpoint_real_user_test_results_dict) +real_user_endpoint_test_results_dict = real_user_endpoint_test_results_instance.to_dict() +# create an instance of RealUserEndpointTestResults from a dict +real_user_endpoint_test_results_from_dict = RealUserEndpointTestResults.from_dict(real_user_endpoint_test_results_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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestsResultsApi.md b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestResultsApi.md similarity index 82% rename from thousandeyes-sdk-endpoint-test-results/docs/RealUserTestsResultsApi.md rename to thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestResultsApi.md index e2cc1dbd..1506e449 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestsResultsApi.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestResultsApi.md @@ -1,18 +1,18 @@ -# thousandeyes_sdk.endpoint_test_results.RealUserTestsResultsApi +# thousandeyes_sdk.endpoint_test_results.RealUserEndpointTestResultsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**filter_real_user_tests_network_results**](RealUserTestsResultsApi.md#filter_real_user_tests_network_results) | **POST** /v7/endpoint/test-results/real-user-tests/networks/filter | List endpoint real user tests -[**filter_real_user_tests_results**](RealUserTestsResultsApi.md#filter_real_user_tests_results) | **POST** /v7/endpoint/test-results/real-user-tests/filter | List endpoint real user tests -[**filter_real_user_tests_visited_pages_results**](RealUserTestsResultsApi.md#filter_real_user_tests_visited_pages_results) | **POST** /v7/endpoint/test-results/real-user-tests/pages/filter | List endpoint real user tests visited pages -[**get_real_user_test_page_results**](RealUserTestsResultsApi.md#get_real_user_test_page_results) | **GET** /v7/endpoint/test-results/real-user-tests/{id}/pages/{pageId} | Retrieve endpoint real user test page -[**get_real_user_test_results**](RealUserTestsResultsApi.md#get_real_user_test_results) | **GET** /v7/endpoint/test-results/real-user-tests/{id} | Retrieve endpoint real user test +[**filter_real_user_tests_network_results**](RealUserEndpointTestResultsApi.md#filter_real_user_tests_network_results) | **POST** /endpoint/test-results/real-user-tests/networks/filter | List endpoint real user tests +[**filter_real_user_tests_results**](RealUserEndpointTestResultsApi.md#filter_real_user_tests_results) | **POST** /endpoint/test-results/real-user-tests/filter | List endpoint real user tests +[**filter_real_user_tests_visited_pages_results**](RealUserEndpointTestResultsApi.md#filter_real_user_tests_visited_pages_results) | **POST** /endpoint/test-results/real-user-tests/pages/filter | List endpoint real user tests visited pages +[**get_real_user_test_page_results**](RealUserEndpointTestResultsApi.md#get_real_user_test_page_results) | **GET** /endpoint/test-results/real-user-tests/{id}/pages/{pageId} | Retrieve endpoint real user test page +[**get_real_user_test_results**](RealUserEndpointTestResultsApi.md#get_real_user_test_results) | **GET** /endpoint/test-results/real-user-tests/{id} | Retrieve endpoint real user test # **filter_real_user_tests_network_results** -> RealUserTestNetworkResults filter_real_user_tests_network_results(aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, endpoint_real_user_test_results_request=endpoint_real_user_test_results_request) +> RealUserEndpointTestNetworkResults filter_real_user_tests_network_results(aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, real_user_endpoint_test_results_request=real_user_endpoint_test_results_request) List endpoint real user tests @@ -24,15 +24,15 @@ Returns a list of all endpoint real user tests. Sessions from the last round ar ```python import thousandeyes_sdk.endpoint_test_results -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test_results_request import EndpointRealUserTestResultsRequest -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_network_results import RealUserTestNetworkResults +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_network_results import RealUserEndpointTestNetworkResults +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_results_request import RealUserEndpointTestResultsRequest from thousandeyes_sdk.endpoint_test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -48,21 +48,21 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_test_results.RealUserTestsResultsApi(api_client) + api_instance = thousandeyes_sdk.endpoint_test_results.RealUserEndpointTestResultsApi(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) window = '12h' # str | A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. (optional) start_date = '2022-07-17T22:00:54Z' # datetime | Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. (optional) end_date = '2022-07-18T22:00:54Z' # datetime | Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. (optional) cursor = 'cursor_example' # str | (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. (optional) - endpoint_real_user_test_results_request = thousandeyes_sdk.endpoint_test_results.EndpointRealUserTestResultsRequest() # EndpointRealUserTestResultsRequest | (optional) + real_user_endpoint_test_results_request = thousandeyes_sdk.endpoint_test_results.RealUserEndpointTestResultsRequest() # RealUserEndpointTestResultsRequest | (optional) try: # List endpoint real user tests - api_response = api_instance.filter_real_user_tests_network_results(aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, endpoint_real_user_test_results_request=endpoint_real_user_test_results_request) - print("The response of RealUserTestsResultsApi->filter_real_user_tests_network_results:\n") + api_response = api_instance.filter_real_user_tests_network_results(aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, real_user_endpoint_test_results_request=real_user_endpoint_test_results_request) + print("The response of RealUserEndpointTestResultsApi->filter_real_user_tests_network_results:\n") pprint(api_response) except Exception as e: - print("Exception when calling RealUserTestsResultsApi->filter_real_user_tests_network_results: %s\n" % e) + print("Exception when calling RealUserEndpointTestResultsApi->filter_real_user_tests_network_results: %s\n" % e) ``` @@ -77,11 +77,11 @@ Name | Type | Description | Notes **start_date** | **datetime**| Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. | [optional] **end_date** | **datetime**| Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. | [optional] **cursor** | **str**| (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. | [optional] - **endpoint_real_user_test_results_request** | [**EndpointRealUserTestResultsRequest**](EndpointRealUserTestResultsRequest.md)| | [optional] + **real_user_endpoint_test_results_request** | [**RealUserEndpointTestResultsRequest**](RealUserEndpointTestResultsRequest.md)| | [optional] ### Return type -[**RealUserTestNetworkResults**](RealUserTestNetworkResults.md) +[**RealUserEndpointTestNetworkResults**](RealUserEndpointTestNetworkResults.md) ### Authorization @@ -108,7 +108,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **filter_real_user_tests_results** -> EndpointRealUserTestResults filter_real_user_tests_results(aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, endpoint_real_user_test_results_request=endpoint_real_user_test_results_request) +> RealUserEndpointTestResults filter_real_user_tests_results(aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, real_user_endpoint_test_results_request=real_user_endpoint_test_results_request) List endpoint real user tests @@ -120,15 +120,15 @@ Returns a list of all endpoint real user tests. Results from the last round are ```python import thousandeyes_sdk.endpoint_test_results -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test_results import EndpointRealUserTestResults -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test_results_request import EndpointRealUserTestResultsRequest +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_results import RealUserEndpointTestResults +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_results_request import RealUserEndpointTestResultsRequest from thousandeyes_sdk.endpoint_test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -144,21 +144,21 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_test_results.RealUserTestsResultsApi(api_client) + api_instance = thousandeyes_sdk.endpoint_test_results.RealUserEndpointTestResultsApi(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) window = '12h' # str | A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. (optional) start_date = '2022-07-17T22:00:54Z' # datetime | Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. (optional) end_date = '2022-07-18T22:00:54Z' # datetime | Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. (optional) cursor = 'cursor_example' # str | (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. (optional) - endpoint_real_user_test_results_request = thousandeyes_sdk.endpoint_test_results.EndpointRealUserTestResultsRequest() # EndpointRealUserTestResultsRequest | (optional) + real_user_endpoint_test_results_request = thousandeyes_sdk.endpoint_test_results.RealUserEndpointTestResultsRequest() # RealUserEndpointTestResultsRequest | (optional) try: # List endpoint real user tests - api_response = api_instance.filter_real_user_tests_results(aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, endpoint_real_user_test_results_request=endpoint_real_user_test_results_request) - print("The response of RealUserTestsResultsApi->filter_real_user_tests_results:\n") + api_response = api_instance.filter_real_user_tests_results(aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, real_user_endpoint_test_results_request=real_user_endpoint_test_results_request) + print("The response of RealUserEndpointTestResultsApi->filter_real_user_tests_results:\n") pprint(api_response) except Exception as e: - print("Exception when calling RealUserTestsResultsApi->filter_real_user_tests_results: %s\n" % e) + print("Exception when calling RealUserEndpointTestResultsApi->filter_real_user_tests_results: %s\n" % e) ``` @@ -173,11 +173,11 @@ Name | Type | Description | Notes **start_date** | **datetime**| Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. | [optional] **end_date** | **datetime**| Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. | [optional] **cursor** | **str**| (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. | [optional] - **endpoint_real_user_test_results_request** | [**EndpointRealUserTestResultsRequest**](EndpointRealUserTestResultsRequest.md)| | [optional] + **real_user_endpoint_test_results_request** | [**RealUserEndpointTestResultsRequest**](RealUserEndpointTestResultsRequest.md)| | [optional] ### Return type -[**EndpointRealUserTestResults**](EndpointRealUserTestResults.md) +[**RealUserEndpointTestResults**](RealUserEndpointTestResults.md) ### Authorization @@ -204,7 +204,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **filter_real_user_tests_visited_pages_results** -> RealUserTestPageResults filter_real_user_tests_visited_pages_results(aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, endpoint_real_user_test_result_request_filter=endpoint_real_user_test_result_request_filter) +> RealUserEndpointTestPageResults filter_real_user_tests_visited_pages_results(aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, real_user_endpoint_test_result_request_filter=real_user_endpoint_test_result_request_filter) List endpoint real user tests visited pages @@ -216,15 +216,15 @@ Returns a list of all endpoint real user tests visited pages. Sessions from the ```python import thousandeyes_sdk.endpoint_test_results -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test_result_request_filter import EndpointRealUserTestResultRequestFilter -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_page_results import RealUserTestPageResults +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_page_results import RealUserEndpointTestPageResults +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_result_request_filter import RealUserEndpointTestResultRequestFilter from thousandeyes_sdk.endpoint_test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -240,21 +240,21 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_test_results.RealUserTestsResultsApi(api_client) + api_instance = thousandeyes_sdk.endpoint_test_results.RealUserEndpointTestResultsApi(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) window = '12h' # str | A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. (optional) start_date = '2022-07-17T22:00:54Z' # datetime | Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. (optional) end_date = '2022-07-18T22:00:54Z' # datetime | Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. (optional) cursor = 'cursor_example' # str | (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. (optional) - endpoint_real_user_test_result_request_filter = thousandeyes_sdk.endpoint_test_results.EndpointRealUserTestResultRequestFilter() # EndpointRealUserTestResultRequestFilter | (optional) + real_user_endpoint_test_result_request_filter = thousandeyes_sdk.endpoint_test_results.RealUserEndpointTestResultRequestFilter() # RealUserEndpointTestResultRequestFilter | (optional) try: # List endpoint real user tests visited pages - api_response = api_instance.filter_real_user_tests_visited_pages_results(aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, endpoint_real_user_test_result_request_filter=endpoint_real_user_test_result_request_filter) - print("The response of RealUserTestsResultsApi->filter_real_user_tests_visited_pages_results:\n") + api_response = api_instance.filter_real_user_tests_visited_pages_results(aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, real_user_endpoint_test_result_request_filter=real_user_endpoint_test_result_request_filter) + print("The response of RealUserEndpointTestResultsApi->filter_real_user_tests_visited_pages_results:\n") pprint(api_response) except Exception as e: - print("Exception when calling RealUserTestsResultsApi->filter_real_user_tests_visited_pages_results: %s\n" % e) + print("Exception when calling RealUserEndpointTestResultsApi->filter_real_user_tests_visited_pages_results: %s\n" % e) ``` @@ -269,11 +269,11 @@ Name | Type | Description | Notes **start_date** | **datetime**| Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. | [optional] **end_date** | **datetime**| Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. | [optional] **cursor** | **str**| (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. | [optional] - **endpoint_real_user_test_result_request_filter** | [**EndpointRealUserTestResultRequestFilter**](EndpointRealUserTestResultRequestFilter.md)| | [optional] + **real_user_endpoint_test_result_request_filter** | [**RealUserEndpointTestResultRequestFilter**](RealUserEndpointTestResultRequestFilter.md)| | [optional] ### Return type -[**RealUserTestPageResults**](RealUserTestPageResults.md) +[**RealUserEndpointTestPageResults**](RealUserEndpointTestPageResults.md) ### Authorization @@ -300,7 +300,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_real_user_test_page_results** -> RealUserTestPageDetailResult get_real_user_test_page_results(id, page_id, aid=aid) +> RealUserEndpointTestPageDetailResult get_real_user_test_page_results(id, page_id, aid=aid) Retrieve endpoint real user test page @@ -312,14 +312,14 @@ Returns details for endpoint real user test web page request. Provides complete ```python import thousandeyes_sdk.endpoint_test_results -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_page_detail_result import RealUserTestPageDetailResult +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_page_detail_result import RealUserEndpointTestPageDetailResult from thousandeyes_sdk.endpoint_test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -335,7 +335,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_test_results.RealUserTestsResultsApi(api_client) + api_instance = thousandeyes_sdk.endpoint_test_results.RealUserEndpointTestResultsApi(api_client) id = '07625:1490529480:h3qJQTpl' # str | The real user test id. page_id = '281474976710706' # str | Web page 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) @@ -343,10 +343,10 @@ with thousandeyes_sdk.endpoint_test_results.ApiClient(configuration) as api_clie try: # Retrieve endpoint real user test page api_response = api_instance.get_real_user_test_page_results(id, page_id, aid=aid) - print("The response of RealUserTestsResultsApi->get_real_user_test_page_results:\n") + print("The response of RealUserEndpointTestResultsApi->get_real_user_test_page_results:\n") pprint(api_response) except Exception as e: - print("Exception when calling RealUserTestsResultsApi->get_real_user_test_page_results: %s\n" % e) + print("Exception when calling RealUserEndpointTestResultsApi->get_real_user_test_page_results: %s\n" % e) ``` @@ -362,7 +362,7 @@ Name | Type | Description | Notes ### Return type -[**RealUserTestPageDetailResult**](RealUserTestPageDetailResult.md) +[**RealUserEndpointTestPageDetailResult**](RealUserEndpointTestPageDetailResult.md) ### Authorization @@ -388,7 +388,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_real_user_test_results** -> EndpointRealUserTestDetailResults get_real_user_test_results(id, aid=aid) +> RealUserEndpointTestDetailResults get_real_user_test_results(id, aid=aid) Retrieve endpoint real user test @@ -400,14 +400,14 @@ Provides details for an endpoint real user test. Returns a results array contain ```python import thousandeyes_sdk.endpoint_test_results -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test_detail_results import EndpointRealUserTestDetailResults +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_detail_results import RealUserEndpointTestDetailResults from thousandeyes_sdk.endpoint_test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -423,17 +423,17 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_test_results.RealUserTestsResultsApi(api_client) + api_instance = thousandeyes_sdk.endpoint_test_results.RealUserEndpointTestResultsApi(api_client) id = '07625:1490529480:h3qJQTpl' # str | The real user test id. aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) try: # Retrieve endpoint real user test api_response = api_instance.get_real_user_test_results(id, aid=aid) - print("The response of RealUserTestsResultsApi->get_real_user_test_results:\n") + print("The response of RealUserEndpointTestResultsApi->get_real_user_test_results:\n") pprint(api_response) except Exception as e: - print("Exception when calling RealUserTestsResultsApi->get_real_user_test_results: %s\n" % e) + print("Exception when calling RealUserEndpointTestResultsApi->get_real_user_test_results: %s\n" % e) ``` @@ -448,7 +448,7 @@ Name | Type | Description | Notes ### Return type -[**EndpointRealUserTestDetailResults**](EndpointRealUserTestDetailResults.md) +[**RealUserEndpointTestDetailResults**](RealUserEndpointTestDetailResults.md) ### Authorization diff --git a/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestResultsRequest.md b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestResultsRequest.md new file mode 100644 index 00000000..d5f566bf --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/RealUserEndpointTestResultsRequest.md @@ -0,0 +1,29 @@ +# RealUserEndpointTestResultsRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**search_filters** | [**RealUserEndpointTestResultRequestFilter**](RealUserEndpointTestResultRequestFilter.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_results_request import RealUserEndpointTestResultsRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of RealUserEndpointTestResultsRequest from a JSON string +real_user_endpoint_test_results_request_instance = RealUserEndpointTestResultsRequest.from_json(json) +# print the JSON string representation of the object +print(RealUserEndpointTestResultsRequest.to_json()) + +# convert the object into a dict +real_user_endpoint_test_results_request_dict = real_user_endpoint_test_results_request_instance.to_dict() +# create an instance of RealUserEndpointTestResultsRequest from a dict +real_user_endpoint_test_results_request_from_dict = RealUserEndpointTestResultsRequest.from_dict(real_user_endpoint_test_results_request_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) + + diff --git a/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestPageDetailResult.md b/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestPageDetailResult.md deleted file mode 100644 index aed6d390..00000000 --- a/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestPageDetailResult.md +++ /dev/null @@ -1,30 +0,0 @@ -# RealUserTestPageDetailResult - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**har** | **object** | A HAR object according to the [HTTP Archive 1.2 specifications](http://www.softwareishard.com/blog/har-12-spec/), with an additional `systemMetrics` property. | [optional] -**links** | [**SelfLinks**](SelfLinks.md) | | [optional] - -## Example - -```python -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_page_detail_result import RealUserTestPageDetailResult - -# TODO update the JSON string below -json = "{}" -# create an instance of RealUserTestPageDetailResult from a JSON string -real_user_test_page_detail_result_instance = RealUserTestPageDetailResult.from_json(json) -# print the JSON string representation of the object -print(RealUserTestPageDetailResult.to_json()) - -# convert the object into a dict -real_user_test_page_detail_result_dict = real_user_test_page_detail_result_instance.to_dict() -# create an instance of RealUserTestPageDetailResult from a dict -real_user_test_page_detail_result_from_dict = RealUserTestPageDetailResult.from_dict(real_user_test_page_detail_result_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) - - diff --git a/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestPageTimings.md b/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestPageTimings.md deleted file mode 100644 index e1dbf6ce..00000000 --- a/thousandeyes-sdk-endpoint-test-results/docs/RealUserTestPageTimings.md +++ /dev/null @@ -1,30 +0,0 @@ -# RealUserTestPageTimings - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**on_content_load** | **int** | DOM load time in milliseconds. | [optional] [readonly] -**on_load** | **int** | Page load time in milliseconds. | [optional] [readonly] - -## Example - -```python -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_page_timings import RealUserTestPageTimings - -# TODO update the JSON string below -json = "{}" -# create an instance of RealUserTestPageTimings from a JSON string -real_user_test_page_timings_instance = RealUserTestPageTimings.from_json(json) -# print the JSON string representation of the object -print(RealUserTestPageTimings.to_json()) - -# convert the object into a dict -real_user_test_page_timings_dict = real_user_test_page_timings_instance.to_dict() -# create an instance of RealUserTestPageTimings from a dict -real_user_test_page_timings_from_dict = RealUserTestPageTimings.from_dict(real_user_test_page_timings_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) - - diff --git a/thousandeyes-sdk-endpoint-test-results/docs/Severity.md b/thousandeyes-sdk-endpoint-test-results/docs/Severity.md deleted file mode 100644 index 3abd8037..00000000 --- a/thousandeyes-sdk-endpoint-test-results/docs/Severity.md +++ /dev/null @@ -1,12 +0,0 @@ -# Severity - -The severity of the alert. - -## 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) - - diff --git a/thousandeyes-sdk-endpoint-test-results/docs/TcpPathTraceModeResponse.md b/thousandeyes-sdk-endpoint-test-results/docs/TcpPathTraceModeResponse.md new file mode 100644 index 00000000..07c23fe5 --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/TcpPathTraceModeResponse.md @@ -0,0 +1,12 @@ +# TcpPathTraceModeResponse + +Path trace mode used by network test. Only valid when the protocol is set to TCP. + +## 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) + + diff --git a/thousandeyes-sdk-endpoint-test-results/docs/TestsDataRoundsSearch.md b/thousandeyes-sdk-endpoint-test-results/docs/TestsDataRoundsSearch.md deleted file mode 100644 index e23ae4d1..00000000 --- a/thousandeyes-sdk-endpoint-test-results/docs/TestsDataRoundsSearch.md +++ /dev/null @@ -1,31 +0,0 @@ -# TestsDataRoundsSearch - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**search_sort** | [**List[TestsDataSearchSort]**](TestsDataSearchSort.md) | | [optional] -**threshold_filter** | [**TestsDataThresholdFilters**](TestsDataThresholdFilters.md) | | [optional] -**search_filters** | [**TestsDataSearchFilter**](TestsDataSearchFilter.md) | | [optional] - -## Example - -```python -from thousandeyes_sdk.endpoint_test_results.models.tests_data_rounds_search import TestsDataRoundsSearch - -# TODO update the JSON string below -json = "{}" -# create an instance of TestsDataRoundsSearch from a JSON string -tests_data_rounds_search_instance = TestsDataRoundsSearch.from_json(json) -# print the JSON string representation of the object -print(TestsDataRoundsSearch.to_json()) - -# convert the object into a dict -tests_data_rounds_search_dict = tests_data_rounds_search_instance.to_dict() -# create an instance of TestsDataRoundsSearch from a dict -tests_data_rounds_search_from_dict = TestsDataRoundsSearch.from_dict(tests_data_rounds_search_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) - - diff --git a/thousandeyes-sdk-endpoint-test-results/docs/TestsDataSearchFilter.md b/thousandeyes-sdk-endpoint-test-results/docs/TestsDataSearchFilter.md deleted file mode 100644 index 62f795e0..00000000 --- a/thousandeyes-sdk-endpoint-test-results/docs/TestsDataSearchFilter.md +++ /dev/null @@ -1,29 +0,0 @@ -# TestsDataSearchFilter - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**agent_id** | **List[str]** | Filter using the `agent-id`. | [optional] - -## Example - -```python -from thousandeyes_sdk.endpoint_test_results.models.tests_data_search_filter import TestsDataSearchFilter - -# TODO update the JSON string below -json = "{}" -# create an instance of TestsDataSearchFilter from a JSON string -tests_data_search_filter_instance = TestsDataSearchFilter.from_json(json) -# print the JSON string representation of the object -print(TestsDataSearchFilter.to_json()) - -# convert the object into a dict -tests_data_search_filter_dict = tests_data_search_filter_instance.to_dict() -# create an instance of TestsDataSearchFilter from a dict -tests_data_search_filter_from_dict = TestsDataSearchFilter.from_dict(tests_data_search_filter_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) - - diff --git a/thousandeyes-sdk-endpoint-test-results/docs/TestsDataSearchSort.md b/thousandeyes-sdk-endpoint-test-results/docs/TestsDataSearchSort.md deleted file mode 100644 index 667ce187..00000000 --- a/thousandeyes-sdk-endpoint-test-results/docs/TestsDataSearchSort.md +++ /dev/null @@ -1,30 +0,0 @@ -# TestsDataSearchSort - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**sort** | [**TestsDataSearchSortKey**](TestsDataSearchSortKey.md) | | [optional] -**order** | [**SortOrder**](SortOrder.md) | | [optional] - -## Example - -```python -from thousandeyes_sdk.endpoint_test_results.models.tests_data_search_sort import TestsDataSearchSort - -# TODO update the JSON string below -json = "{}" -# create an instance of TestsDataSearchSort from a JSON string -tests_data_search_sort_instance = TestsDataSearchSort.from_json(json) -# print the JSON string representation of the object -print(TestsDataSearchSort.to_json()) - -# convert the object into a dict -tests_data_search_sort_dict = tests_data_search_sort_instance.to_dict() -# create an instance of TestsDataSearchSort from a dict -tests_data_search_sort_from_dict = TestsDataSearchSort.from_dict(tests_data_search_sort_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) - - diff --git a/thousandeyes-sdk-endpoint-test-results/docs/TestsDataSearchSortKey.md b/thousandeyes-sdk-endpoint-test-results/docs/TestsDataSearchSortKey.md deleted file mode 100644 index 08c0631b..00000000 --- a/thousandeyes-sdk-endpoint-test-results/docs/TestsDataSearchSortKey.md +++ /dev/null @@ -1,11 +0,0 @@ -# TestsDataSearchSortKey - - -## 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) - - diff --git a/thousandeyes-sdk-endpoint-test-results/docs/TestsDataThresholdFilters.md b/thousandeyes-sdk-endpoint-test-results/docs/TestsDataThresholdFilters.md deleted file mode 100644 index f75d006c..00000000 --- a/thousandeyes-sdk-endpoint-test-results/docs/TestsDataThresholdFilters.md +++ /dev/null @@ -1,31 +0,0 @@ -# TestsDataThresholdFilters - -All filters are applied based on the conditional operator (and/or). - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**filters** | [**List[TestsDataThresholdFilter]**](TestsDataThresholdFilter.md) | | [optional] -**conditional_operator** | [**ConditionalOperator**](ConditionalOperator.md) | | [optional] - -## Example - -```python -from thousandeyes_sdk.endpoint_test_results.models.tests_data_threshold_filters import TestsDataThresholdFilters - -# TODO update the JSON string below -json = "{}" -# create an instance of TestsDataThresholdFilters from a JSON string -tests_data_threshold_filters_instance = TestsDataThresholdFilters.from_json(json) -# print the JSON string representation of the object -print(TestsDataThresholdFilters.to_json()) - -# convert the object into a dict -tests_data_threshold_filters_dict = tests_data_threshold_filters_instance.to_dict() -# create an instance of TestsDataThresholdFilters from a dict -tests_data_threshold_filters_from_dict = TestsDataThresholdFilters.from_dict(tests_data_threshold_filters_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) - - diff --git a/thousandeyes-sdk-endpoint-test-results/docs/UdpPathTraceModeResponse.md b/thousandeyes-sdk-endpoint-test-results/docs/UdpPathTraceModeResponse.md new file mode 100644 index 00000000..3175d3ba --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/UdpPathTraceModeResponse.md @@ -0,0 +1,12 @@ +# UdpPathTraceModeResponse + +Path trace mode used by network test. Only valid when the protocol is set to UDP. + +## 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) + + diff --git a/thousandeyes-sdk-endpoint-test-results/docs/WebHTTPServerScheduledTestResultsApi.md b/thousandeyes-sdk-endpoint-test-results/docs/WebHTTPServerScheduledTestResultsApi.md deleted file mode 100644 index ba24d764..00000000 --- a/thousandeyes-sdk-endpoint-test-results/docs/WebHTTPServerScheduledTestResultsApi.md +++ /dev/null @@ -1,106 +0,0 @@ -# thousandeyes_sdk.endpoint_test_results.WebHTTPServerScheduledTestResultsApi - -All URIs are relative to *https://api.thousandeyes.com* - -Method | HTTP request | Description -------------- | ------------- | ------------- -[**get_http_server_scheduled_test_results**](WebHTTPServerScheduledTestResultsApi.md#get_http_server_scheduled_test_results) | **GET** /v7/endpoint/test-results/scheduled-tests/{testId}/http-server | Retrieve HTTP server scheduled test results - - -# **get_http_server_scheduled_test_results** -> HttpTestResults get_http_server_scheduled_test_results(test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, expand=expand) - -Retrieve HTTP server scheduled test results - -Returns component-level (DNS, Connect, Wait and Receive) timing for the load of an object over HTTP. - -### Example - -* Bearer Authentication (BearerAuth): - -```python -import thousandeyes_sdk.endpoint_test_results -from thousandeyes_sdk.endpoint_test_results.models.expand import Expand -from thousandeyes_sdk.endpoint_test_results.models.http_test_results import HttpTestResults -from thousandeyes_sdk.endpoint_test_results.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://api.thousandeyes.com -# See configuration.py for a list of all supported configuration parameters. -configuration = thousandeyes_sdk.core.Configuration( - host = "https://api.thousandeyes.com" -) - -# 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_test_results.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_test_results.WebHTTPServerScheduledTestResultsApi(api_client) - test_id = '202701' # str | Test 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) - window = '12h' # str | A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. (optional) - start_date = '2022-07-17T22:00:54Z' # datetime | Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. (optional) - end_date = '2022-07-18T22:00:54Z' # datetime | Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. (optional) - cursor = 'cursor_example' # str | (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. (optional) - expand = [thousandeyes_sdk.endpoint_test_results.Expand()] # List[Expand] | This parameter is optional and determines whether to expand resources related to test results. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as \"header,\" append `?expand=header` to the query. (optional) - - try: - # Retrieve HTTP server scheduled test results - api_response = api_instance.get_http_server_scheduled_test_results(test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, expand=expand) - print("The response of WebHTTPServerScheduledTestResultsApi->get_http_server_scheduled_test_results:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling WebHTTPServerScheduledTestResultsApi->get_http_server_scheduled_test_results: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **test_id** | **str**| Test 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] - **window** | **str**| A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. | [optional] - **start_date** | **datetime**| Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. | [optional] - **end_date** | **datetime**| Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. | [optional] - **cursor** | **str**| (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. | [optional] - **expand** | [**List[Expand]**](Expand.md)| This parameter is optional and determines whether to expand resources related to test results. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as \"header,\" append `?expand=header` to the query. | [optional] - -### Return type - -[**HttpTestResults**](HttpTestResults.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 | - | - -[[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) - diff --git a/thousandeyes-sdk-endpoint-test-results/pyproject.toml b/thousandeyes-sdk-endpoint-test-results/pyproject.toml index 73701ce4..88b8cf54 100644 --- a/thousandeyes-sdk-endpoint-test-results/pyproject.toml +++ b/thousandeyes-sdk-endpoint-test-results/pyproject.toml @@ -9,9 +9,9 @@ description = "ThousandEyes SDK Endpoint Test Results API" license = { file = "LICENSE" } requires-python = ">= 3.8" dependencies = [ - "urllib3 >= 1.25.3", + "urllib3 >= 2.0.0", "python-dateutil >=2.8.2", - "pydantic >=2", + "pydantic >=2.1.0", "typing-extensions >=4.7.1", "thousandeyes-sdk-core", ] diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/__init__.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/__init__.py index 42e5bcfb..b1698df0 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/__init__.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/__init__.py @@ -7,7 +7,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -15,29 +14,25 @@ # import apis into sdk package -from thousandeyes_sdk.endpoint_test_results.api.local_network_tests_results_api import LocalNetworkTestsResultsApi -from thousandeyes_sdk.endpoint_test_results.api.network_dynamic_tests_results_api import NetworkDynamicTestsResultsApi -from thousandeyes_sdk.endpoint_test_results.api.network_scheduled_tests_results_api import NetworkScheduledTestsResultsApi -from thousandeyes_sdk.endpoint_test_results.api.real_user_tests_results_api import RealUserTestsResultsApi -from thousandeyes_sdk.endpoint_test_results.api.web_http_server_scheduled_test_results_api import WebHTTPServerScheduledTestResultsApi +from thousandeyes_sdk.endpoint_test_results.api.http_server_endpoint_scheduled_test_results_api import HTTPServerEndpointScheduledTestResultsApi +from thousandeyes_sdk.endpoint_test_results.api.local_network_endpoint_test_results_api import LocalNetworkEndpointTestResultsApi +from thousandeyes_sdk.endpoint_test_results.api.network_dynamic_endpoint_test_results_api import NetworkDynamicEndpointTestResultsApi +from thousandeyes_sdk.endpoint_test_results.api.network_endpoint_scheduled_test_results_api import NetworkEndpointScheduledTestResultsApi +from thousandeyes_sdk.endpoint_test_results.api.real_user_endpoint_test_results_api import RealUserEndpointTestResultsApi # import models into sdk package -from thousandeyes_sdk.endpoint_test_results.models.alert_direction import AlertDirection -from thousandeyes_sdk.endpoint_test_results.models.alert_rounds_violation_mode import AlertRoundsViolationMode -from thousandeyes_sdk.endpoint_test_results.models.alert_rule import AlertRule -from thousandeyes_sdk.endpoint_test_results.models.alert_type import AlertType from thousandeyes_sdk.endpoint_test_results.models.application_score_quality import ApplicationScoreQuality from thousandeyes_sdk.endpoint_test_results.models.asn_details import AsnDetails from thousandeyes_sdk.endpoint_test_results.models.conditional_operator import ConditionalOperator from thousandeyes_sdk.endpoint_test_results.models.cpu_utilization import CpuUtilization -from thousandeyes_sdk.endpoint_test_results.models.dynamic_base_test_result import DynamicBaseTestResult +from thousandeyes_sdk.endpoint_test_results.models.dynamic_base_endpoint_test_result import DynamicBaseEndpointTestResult +from thousandeyes_sdk.endpoint_test_results.models.dynamic_endpoint_test_webex import DynamicEndpointTestWebex +from thousandeyes_sdk.endpoint_test_results.models.dynamic_endpoint_tests_data_round_search import DynamicEndpointTestsDataRoundSearch +from thousandeyes_sdk.endpoint_test_results.models.dynamic_endpoint_tests_data_search_filter import DynamicEndpointTestsDataSearchFilter from thousandeyes_sdk.endpoint_test_results.models.dynamic_test import DynamicTest from thousandeyes_sdk.endpoint_test_results.models.dynamic_test_links import DynamicTestLinks from thousandeyes_sdk.endpoint_test_results.models.dynamic_test_self_link import DynamicTestSelfLink -from thousandeyes_sdk.endpoint_test_results.models.dynamic_test_webex import DynamicTestWebex -from thousandeyes_sdk.endpoint_test_results.models.dynamic_tests_data_round_search import DynamicTestsDataRoundSearch -from thousandeyes_sdk.endpoint_test_results.models.dynamic_tests_data_search_filter import DynamicTestsDataSearchFilter from thousandeyes_sdk.endpoint_test_results.models.endpoint_agent_labels_selector_config import EndpointAgentLabelsSelectorConfig from thousandeyes_sdk.endpoint_test_results.models.endpoint_agent_selector_config import EndpointAgentSelectorConfig from thousandeyes_sdk.endpoint_test_results.models.endpoint_agent_to_server_test import EndpointAgentToServerTest @@ -48,32 +43,44 @@ from thousandeyes_sdk.endpoint_test_results.models.endpoint_http_server_base_tes from thousandeyes_sdk.endpoint_test_results.models.endpoint_http_server_test import EndpointHttpServerTest from thousandeyes_sdk.endpoint_test_results.models.endpoint_network_topology_result_request import EndpointNetworkTopologyResultRequest from thousandeyes_sdk.endpoint_test_results.models.endpoint_network_topology_result_request_filter import EndpointNetworkTopologyResultRequestFilter +from thousandeyes_sdk.endpoint_test_results.models.endpoint_path_trace import EndpointPathTrace +from thousandeyes_sdk.endpoint_test_results.models.endpoint_path_vis_hop import EndpointPathVisHop +from thousandeyes_sdk.endpoint_test_results.models.endpoint_path_vis_route import EndpointPathVisRoute from thousandeyes_sdk.endpoint_test_results.models.endpoint_ping_data_point_score import EndpointPingDataPointScore -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test import EndpointRealUserTest -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test_base import EndpointRealUserTestBase -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test_detail import EndpointRealUserTestDetail -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test_detail_results import EndpointRealUserTestDetailResults -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test_result_request_filter import EndpointRealUserTestResultRequestFilter -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test_results import EndpointRealUserTestResults -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test_results_request import EndpointRealUserTestResultsRequest from thousandeyes_sdk.endpoint_test_results.models.endpoint_result_request_filter import EndpointResultRequestFilter from thousandeyes_sdk.endpoint_test_results.models.endpoint_scheduled_test import EndpointScheduledTest from thousandeyes_sdk.endpoint_test_results.models.endpoint_scheduled_test_type import EndpointScheduledTestType from thousandeyes_sdk.endpoint_test_results.models.endpoint_specific_agents_selector_config import EndpointSpecificAgentsSelectorConfig from thousandeyes_sdk.endpoint_test_results.models.endpoint_test import EndpointTest from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_auth_type import EndpointTestAuthType +from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_ethernet_profile import EndpointTestEthernetProfile from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_links import EndpointTestLinks from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_protocol import EndpointTestProtocol +from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_result import EndpointTestResult +from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_result_protocol import EndpointTestResultProtocol from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_self_link import EndpointTestSelfLink +from thousandeyes_sdk.endpoint_test_results.models.endpoint_tests_data_rounds_search import EndpointTestsDataRoundsSearch +from thousandeyes_sdk.endpoint_test_results.models.endpoint_tests_data_search_filter import EndpointTestsDataSearchFilter +from thousandeyes_sdk.endpoint_test_results.models.endpoint_tests_data_search_sort import EndpointTestsDataSearchSort +from thousandeyes_sdk.endpoint_test_results.models.endpoint_tests_data_search_sort_key import EndpointTestsDataSearchSortKey +from thousandeyes_sdk.endpoint_test_results.models.endpoint_tests_data_threshold_filter import EndpointTestsDataThresholdFilter +from thousandeyes_sdk.endpoint_test_results.models.endpoint_tests_data_threshold_filters import EndpointTestsDataThresholdFilters from thousandeyes_sdk.endpoint_test_results.models.error import Error -from thousandeyes_sdk.endpoint_test_results.models.ethernet_profile import EthernetProfile -from thousandeyes_sdk.endpoint_test_results.models.expand import Expand +from thousandeyes_sdk.endpoint_test_results.models.expand_endpoint_http_server_options import ExpandEndpointHttpServerOptions from thousandeyes_sdk.endpoint_test_results.models.gateway_network_ping import GatewayNetworkPing from thousandeyes_sdk.endpoint_test_results.models.hop import Hop +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_test_result import HttpEndpointTestResult +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_test_result_headers import HttpEndpointTestResultHeaders +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_test_results import HttpEndpointTestResults +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_tests_data_rounds_search import HttpEndpointTestsDataRoundsSearch +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_tests_data_search_filter import HttpEndpointTestsDataSearchFilter +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_tests_data_search_sort import HttpEndpointTestsDataSearchSort +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_tests_data_search_sort_key import HttpEndpointTestsDataSearchSortKey +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_tests_data_threshold_filter import HttpEndpointTestsDataThresholdFilter +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_tests_data_threshold_filters import HttpEndpointTestsDataThresholdFilters from thousandeyes_sdk.endpoint_test_results.models.http_error_type import HttpErrorType -from thousandeyes_sdk.endpoint_test_results.models.http_test_result import HttpTestResult -from thousandeyes_sdk.endpoint_test_results.models.http_test_result_headers import HttpTestResultHeaders -from thousandeyes_sdk.endpoint_test_results.models.http_test_results import HttpTestResults +from thousandeyes_sdk.endpoint_test_results.models.http_multi_endpoint_test_results import HttpMultiEndpointTestResults +from thousandeyes_sdk.endpoint_test_results.models.http_threshold_filter_name import HttpThresholdFilterName from thousandeyes_sdk.endpoint_test_results.models.interface_hardware_type import InterfaceHardwareType from thousandeyes_sdk.endpoint_test_results.models.link import Link from thousandeyes_sdk.endpoint_test_results.models.local_network_result import LocalNetworkResult @@ -82,71 +89,69 @@ from thousandeyes_sdk.endpoint_test_results.models.local_network_topology_detail from thousandeyes_sdk.endpoint_test_results.models.local_network_topology_result import LocalNetworkTopologyResult from thousandeyes_sdk.endpoint_test_results.models.local_network_topology_result_base import LocalNetworkTopologyResultBase from thousandeyes_sdk.endpoint_test_results.models.local_network_topology_results import LocalNetworkTopologyResults -from thousandeyes_sdk.endpoint_test_results.models.multi_test_id_network_test_results import MultiTestIdNetworkTestResults -from thousandeyes_sdk.endpoint_test_results.models.multi_test_id_tests_data_rounds_search import MultiTestIdTestsDataRoundsSearch -from thousandeyes_sdk.endpoint_test_results.models.multi_test_id_tests_data_search_filter import MultiTestIdTestsDataSearchFilter -from thousandeyes_sdk.endpoint_test_results.models.network_dynamic_test_result import NetworkDynamicTestResult -from thousandeyes_sdk.endpoint_test_results.models.network_dynamic_test_results import NetworkDynamicTestResults +from thousandeyes_sdk.endpoint_test_results.models.multi_test_id_endpoint_tests_data_rounds_search import MultiTestIdEndpointTestsDataRoundsSearch +from thousandeyes_sdk.endpoint_test_results.models.multi_test_id_endpoint_tests_data_search_filter import MultiTestIdEndpointTestsDataSearchFilter +from thousandeyes_sdk.endpoint_test_results.models.multi_test_id_network_endpoint_test_results import MultiTestIdNetworkEndpointTestResults +from thousandeyes_sdk.endpoint_test_results.models.network_dynamic_endpoint_test_result import NetworkDynamicEndpointTestResult +from thousandeyes_sdk.endpoint_test_results.models.network_dynamic_endpoint_test_results import NetworkDynamicEndpointTestResults +from thousandeyes_sdk.endpoint_test_results.models.network_endpoint_test_result import NetworkEndpointTestResult +from thousandeyes_sdk.endpoint_test_results.models.network_endpoint_test_results import NetworkEndpointTestResults from thousandeyes_sdk.endpoint_test_results.models.network_interface import NetworkInterface from thousandeyes_sdk.endpoint_test_results.models.network_metrics import NetworkMetrics from thousandeyes_sdk.endpoint_test_results.models.network_ping import NetworkPing from thousandeyes_sdk.endpoint_test_results.models.network_profile import NetworkProfile from thousandeyes_sdk.endpoint_test_results.models.network_proxy import NetworkProxy from thousandeyes_sdk.endpoint_test_results.models.network_proxy_profile import NetworkProxyProfile -from thousandeyes_sdk.endpoint_test_results.models.network_test_result import NetworkTestResult -from thousandeyes_sdk.endpoint_test_results.models.network_test_results import NetworkTestResults from thousandeyes_sdk.endpoint_test_results.models.network_topology_type import NetworkTopologyType from thousandeyes_sdk.endpoint_test_results.models.network_wireless_profile import NetworkWirelessProfile from thousandeyes_sdk.endpoint_test_results.models.pagination_next_and_self_link import PaginationNextAndSelfLink from thousandeyes_sdk.endpoint_test_results.models.pagination_next_link import PaginationNextLink -from thousandeyes_sdk.endpoint_test_results.models.path_vis_base_test_result import PathVisBaseTestResult -from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_dynamic_test_result import PathVisDetailDynamicTestResult -from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_dynamic_test_results import PathVisDetailDynamicTestResults -from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_test_result import PathVisDetailTestResult -from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_test_results import PathVisDetailTestResults -from thousandeyes_sdk.endpoint_test_results.models.path_vis_dynamic_test_result import PathVisDynamicTestResult -from thousandeyes_sdk.endpoint_test_results.models.path_vis_dynamic_test_results import PathVisDynamicTestResults -from thousandeyes_sdk.endpoint_test_results.models.path_vis_endpoint import PathVisEndpoint -from thousandeyes_sdk.endpoint_test_results.models.path_vis_hop import PathVisHop -from thousandeyes_sdk.endpoint_test_results.models.path_vis_route import PathVisRoute -from thousandeyes_sdk.endpoint_test_results.models.path_vis_test_result import PathVisTestResult -from thousandeyes_sdk.endpoint_test_results.models.path_vis_test_results import PathVisTestResults +from thousandeyes_sdk.endpoint_test_results.models.path_vis_base_endpoint_test_result import PathVisBaseEndpointTestResult +from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_dynamic_endpoint_test_result import PathVisDetailDynamicEndpointTestResult +from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_dynamic_endpoint_test_results import PathVisDetailDynamicEndpointTestResults +from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_endpoint_test_result import PathVisDetailEndpointTestResult +from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_endpoint_test_results import PathVisDetailEndpointTestResults +from thousandeyes_sdk.endpoint_test_results.models.path_vis_dynamic_endpoint_test_result import PathVisDynamicEndpointTestResult +from thousandeyes_sdk.endpoint_test_results.models.path_vis_dynamic_endpoint_test_results import PathVisDynamicEndpointTestResults +from thousandeyes_sdk.endpoint_test_results.models.path_vis_endpoint_test_result import PathVisEndpointTestResult +from thousandeyes_sdk.endpoint_test_results.models.path_vis_endpoint_test_results import PathVisEndpointTestResults from thousandeyes_sdk.endpoint_test_results.models.physical_memory_used_bytes import PhysicalMemoryUsedBytes from thousandeyes_sdk.endpoint_test_results.models.platform import Platform -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_coordinates import RealUserTestCoordinates -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_network import RealUserTestNetwork -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_network_result import RealUserTestNetworkResult -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_network_results import RealUserTestNetworkResults -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_page import RealUserTestPage -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_page_detail_result import RealUserTestPageDetailResult -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_page_result import RealUserTestPageResult -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_page_results import RealUserTestPageResults -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_page_timings import RealUserTestPageTimings +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test import RealUserEndpointTest +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_base import RealUserEndpointTestBase +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_coordinates import RealUserEndpointTestCoordinates +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_detail import RealUserEndpointTestDetail +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_detail_results import RealUserEndpointTestDetailResults +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_network import RealUserEndpointTestNetwork +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_network_result import RealUserEndpointTestNetworkResult +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_network_results import RealUserEndpointTestNetworkResults +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_page import RealUserEndpointTestPage +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_page_detail_result import RealUserEndpointTestPageDetailResult +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_page_result import RealUserEndpointTestPageResult +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_page_results import RealUserEndpointTestPageResults +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_page_timings import RealUserEndpointTestPageTimings +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_result_request_filter import RealUserEndpointTestResultRequestFilter +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_results import RealUserEndpointTestResults +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_results_request import RealUserEndpointTestResultsRequest from thousandeyes_sdk.endpoint_test_results.models.self_links import SelfLinks -from thousandeyes_sdk.endpoint_test_results.models.severity import Severity from thousandeyes_sdk.endpoint_test_results.models.sort_order import SortOrder from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics from thousandeyes_sdk.endpoint_test_results.models.target_network_ping import TargetNetworkPing from thousandeyes_sdk.endpoint_test_results.models.target_profile import TargetProfile from thousandeyes_sdk.endpoint_test_results.models.target_traceroute import TargetTraceroute from thousandeyes_sdk.endpoint_test_results.models.tcp_connect import TcpConnect +from thousandeyes_sdk.endpoint_test_results.models.tcp_path_trace_mode_response import TcpPathTraceModeResponse from thousandeyes_sdk.endpoint_test_results.models.test_interval import TestInterval from thousandeyes_sdk.endpoint_test_results.models.test_label import TestLabel from thousandeyes_sdk.endpoint_test_results.models.test_probe_mode_response import TestProbeModeResponse from thousandeyes_sdk.endpoint_test_results.models.test_protocol import TestProtocol -from thousandeyes_sdk.endpoint_test_results.models.test_result import TestResult from thousandeyes_sdk.endpoint_test_results.models.test_ssl_version_id import TestSslVersionId -from thousandeyes_sdk.endpoint_test_results.models.tests_data_rounds_search import TestsDataRoundsSearch -from thousandeyes_sdk.endpoint_test_results.models.tests_data_search_filter import TestsDataSearchFilter -from thousandeyes_sdk.endpoint_test_results.models.tests_data_search_sort import TestsDataSearchSort -from thousandeyes_sdk.endpoint_test_results.models.tests_data_search_sort_key import TestsDataSearchSortKey -from thousandeyes_sdk.endpoint_test_results.models.tests_data_threshold_filter import TestsDataThresholdFilter -from thousandeyes_sdk.endpoint_test_results.models.tests_data_threshold_filters import TestsDataThresholdFilters from thousandeyes_sdk.endpoint_test_results.models.threshold_filter_name import ThresholdFilterName from thousandeyes_sdk.endpoint_test_results.models.threshold_filter_operator import ThresholdFilterOperator from thousandeyes_sdk.endpoint_test_results.models.traceroute import Traceroute from thousandeyes_sdk.endpoint_test_results.models.traceroute_hop import TracerouteHop from thousandeyes_sdk.endpoint_test_results.models.trigger import Trigger +from thousandeyes_sdk.endpoint_test_results.models.udp_path_trace_mode_response import UdpPathTraceModeResponse from thousandeyes_sdk.endpoint_test_results.models.udp_probe_mode_response import UdpProbeModeResponse from thousandeyes_sdk.endpoint_test_results.models.unauthorized_error import UnauthorizedError from thousandeyes_sdk.endpoint_test_results.models.validation_error import ValidationError diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/__init__.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/__init__.py index 6dc5bd8b..f0569beb 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/__init__.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/__init__.py @@ -1,9 +1,9 @@ # flake8: noqa # import apis into api package -from thousandeyes_sdk.endpoint_test_results.api.local_network_tests_results_api import LocalNetworkTestsResultsApi -from thousandeyes_sdk.endpoint_test_results.api.network_dynamic_tests_results_api import NetworkDynamicTestsResultsApi -from thousandeyes_sdk.endpoint_test_results.api.network_scheduled_tests_results_api import NetworkScheduledTestsResultsApi -from thousandeyes_sdk.endpoint_test_results.api.real_user_tests_results_api import RealUserTestsResultsApi -from thousandeyes_sdk.endpoint_test_results.api.web_http_server_scheduled_test_results_api import WebHTTPServerScheduledTestResultsApi +from thousandeyes_sdk.endpoint_test_results.api.http_server_endpoint_scheduled_test_results_api import HTTPServerEndpointScheduledTestResultsApi +from thousandeyes_sdk.endpoint_test_results.api.local_network_endpoint_test_results_api import LocalNetworkEndpointTestResultsApi +from thousandeyes_sdk.endpoint_test_results.api.network_dynamic_endpoint_test_results_api import NetworkDynamicEndpointTestResultsApi +from thousandeyes_sdk.endpoint_test_results.api.network_endpoint_scheduled_test_results_api import NetworkEndpointScheduledTestResultsApi +from thousandeyes_sdk.endpoint_test_results.api.real_user_endpoint_test_results_api import RealUserEndpointTestResultsApi diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/http_server_endpoint_scheduled_test_results_api.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/http_server_endpoint_scheduled_test_results_api.py new file mode 100644 index 00000000..577efb80 --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/http_server_endpoint_scheduled_test_results_api.py @@ -0,0 +1,864 @@ +# coding: utf-8 + +""" + Endpoint Test Results API + + Retrieve results for scheduled and dynamic tests on endpoint 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.endpoint_test_results.models + +from datetime import datetime +from pydantic import Field, StrictStr, field_validator +from typing import List, Optional +from typing_extensions import Annotated +from thousandeyes_sdk.endpoint_test_results.models.expand_endpoint_http_server_options import ExpandEndpointHttpServerOptions +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_test_results import HttpEndpointTestResults +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_tests_data_rounds_search import HttpEndpointTestsDataRoundsSearch +from thousandeyes_sdk.endpoint_test_results.models.http_multi_endpoint_test_results import HttpMultiEndpointTestResults + +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 HTTPServerEndpointScheduledTestResultsApi: + """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-endpoint-test-results")) + self.api_client = api_client + + + @validate_call + def get_http_server_scheduled_test_results( + self, + test_id: Annotated[StrictStr, Field(description="Test 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, + window: Annotated[Optional[Annotated[str, Field(strict=True)]], Field(description="A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`.")] = None, + start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, + end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, + cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None, + expand: Annotated[Optional[List[ExpandEndpointHttpServerOptions]], Field(description="This parameter is optional and determines whether to expand resources related to test results. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as \"header,\" append `?expand=header` to the query.")] = 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, + ) -> HttpEndpointTestResults: + """Retrieve HTTP server scheduled test results + + Returns component-level (DNS, Connect, Wait and Receive) timing for the load of an object over HTTP. + + :param test_id: Test ID (required) + :type test_id: str + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param window: A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. + :type window: str + :param start_date: Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. + :type start_date: datetime + :param end_date: Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. + :type end_date: datetime + :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. + :type cursor: str + :param expand: This parameter is optional and determines whether to expand resources related to test results. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as \"header,\" append `?expand=header` to the query. + :type expand: List[ExpandEndpointHttpServerOptions] + :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_http_server_scheduled_test_results_serialize( + test_id=test_id, + aid=aid, + window=window, + start_date=start_date, + end_date=end_date, + cursor=cursor, + expand=expand, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "HttpEndpointTestResults", + '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.endpoint_test_results.models, + ).data + + + @validate_call + def get_http_server_scheduled_test_results_with_http_info( + self, + test_id: Annotated[StrictStr, Field(description="Test 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, + window: Annotated[Optional[Annotated[str, Field(strict=True)]], Field(description="A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`.")] = None, + start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, + end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, + cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None, + expand: Annotated[Optional[List[ExpandEndpointHttpServerOptions]], Field(description="This parameter is optional and determines whether to expand resources related to test results. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as \"header,\" append `?expand=header` to the query.")] = 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[HttpEndpointTestResults]: + """Retrieve HTTP server scheduled test results + + Returns component-level (DNS, Connect, Wait and Receive) timing for the load of an object over HTTP. + + :param test_id: Test ID (required) + :type test_id: str + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param window: A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. + :type window: str + :param start_date: Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. + :type start_date: datetime + :param end_date: Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. + :type end_date: datetime + :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. + :type cursor: str + :param expand: This parameter is optional and determines whether to expand resources related to test results. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as \"header,\" append `?expand=header` to the query. + :type expand: List[ExpandEndpointHttpServerOptions] + :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_http_server_scheduled_test_results_serialize( + test_id=test_id, + aid=aid, + window=window, + start_date=start_date, + end_date=end_date, + cursor=cursor, + expand=expand, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "HttpEndpointTestResults", + '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.endpoint_test_results.models, + ) + + + @validate_call + def get_http_server_scheduled_test_results_without_preload_content( + self, + test_id: Annotated[StrictStr, Field(description="Test 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, + window: Annotated[Optional[Annotated[str, Field(strict=True)]], Field(description="A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`.")] = None, + start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, + end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, + cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None, + expand: Annotated[Optional[List[ExpandEndpointHttpServerOptions]], Field(description="This parameter is optional and determines whether to expand resources related to test results. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as \"header,\" append `?expand=header` to the query.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Retrieve HTTP server scheduled test results + + Returns component-level (DNS, Connect, Wait and Receive) timing for the load of an object over HTTP. + + :param test_id: Test ID (required) + :type test_id: str + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param window: A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. + :type window: str + :param start_date: Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. + :type start_date: datetime + :param end_date: Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. + :type end_date: datetime + :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. + :type cursor: str + :param expand: This parameter is optional and determines whether to expand resources related to test results. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as \"header,\" append `?expand=header` to the query. + :type expand: List[ExpandEndpointHttpServerOptions] + :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_http_server_scheduled_test_results_serialize( + test_id=test_id, + aid=aid, + window=window, + start_date=start_date, + end_date=end_date, + cursor=cursor, + expand=expand, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "HttpEndpointTestResults", + '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_http_server_scheduled_test_results_serialize( + self, + test_id, + aid, + window, + start_date, + end_date, + cursor, + expand, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'expand': 'csv', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[str, Union[str, bytes]] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if test_id is not None: + _path_params['testId'] = test_id + # process the query parameters + if aid is not None: + + _query_params.append(('aid', aid)) + + if window is not None: + + _query_params.append(('window', window)) + + if start_date is not None: + if isinstance(start_date, datetime): + _query_params.append( + ( + 'startDate', + start_date.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('startDate', start_date)) + + if end_date is not None: + if isinstance(end_date, datetime): + _query_params.append( + ( + 'endDate', + end_date.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('endDate', end_date)) + + if cursor is not None: + + _query_params.append(('cursor', cursor)) + + if expand is not None: + + _query_params.append(('expand', expand)) + + # 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='/endpoint/test-results/scheduled-tests/{testId}/http-server', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_multi_test_filtered_http_server_scheduled_test_results( + 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, + window: Annotated[Optional[Annotated[str, Field(strict=True)]], Field(description="A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`.")] = None, + start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, + end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, + cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None, + expand: Annotated[Optional[List[ExpandEndpointHttpServerOptions]], Field(description="This parameter is optional and determines whether to expand resources related to test results. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as \"header,\" append `?expand=header` to the query.")] = None, + http_endpoint_tests_data_rounds_search: Annotated[Optional[HttpEndpointTestsDataRoundsSearch], Field(description="Test data search filters.")] = 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, + ) -> HttpMultiEndpointTestResults: + """Filter HTTP server scheduled test results + + Returns component-level (DNS, Connect, Wait and Receive) timing for the load of an object over HTTP. + + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param window: A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. + :type window: str + :param start_date: Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. + :type start_date: datetime + :param end_date: Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. + :type end_date: datetime + :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. + :type cursor: str + :param expand: This parameter is optional and determines whether to expand resources related to test results. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as \"header,\" append `?expand=header` to the query. + :type expand: List[ExpandEndpointHttpServerOptions] + :param http_endpoint_tests_data_rounds_search: Test data search filters. + :type http_endpoint_tests_data_rounds_search: HttpEndpointTestsDataRoundsSearch + :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_multi_test_filtered_http_server_scheduled_test_results_serialize( + aid=aid, + window=window, + start_date=start_date, + end_date=end_date, + cursor=cursor, + expand=expand, + http_endpoint_tests_data_rounds_search=http_endpoint_tests_data_rounds_search, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "HttpMultiEndpointTestResults", + '400': "ValidationError", + '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.endpoint_test_results.models, + ).data + + + @validate_call + def get_multi_test_filtered_http_server_scheduled_test_results_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, + window: Annotated[Optional[Annotated[str, Field(strict=True)]], Field(description="A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`.")] = None, + start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, + end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, + cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None, + expand: Annotated[Optional[List[ExpandEndpointHttpServerOptions]], Field(description="This parameter is optional and determines whether to expand resources related to test results. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as \"header,\" append `?expand=header` to the query.")] = None, + http_endpoint_tests_data_rounds_search: Annotated[Optional[HttpEndpointTestsDataRoundsSearch], Field(description="Test data search filters.")] = 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[HttpMultiEndpointTestResults]: + """Filter HTTP server scheduled test results + + Returns component-level (DNS, Connect, Wait and Receive) timing for the load of an object over HTTP. + + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param window: A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. + :type window: str + :param start_date: Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. + :type start_date: datetime + :param end_date: Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. + :type end_date: datetime + :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. + :type cursor: str + :param expand: This parameter is optional and determines whether to expand resources related to test results. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as \"header,\" append `?expand=header` to the query. + :type expand: List[ExpandEndpointHttpServerOptions] + :param http_endpoint_tests_data_rounds_search: Test data search filters. + :type http_endpoint_tests_data_rounds_search: HttpEndpointTestsDataRoundsSearch + :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_multi_test_filtered_http_server_scheduled_test_results_serialize( + aid=aid, + window=window, + start_date=start_date, + end_date=end_date, + cursor=cursor, + expand=expand, + http_endpoint_tests_data_rounds_search=http_endpoint_tests_data_rounds_search, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "HttpMultiEndpointTestResults", + '400': "ValidationError", + '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.endpoint_test_results.models, + ) + + + @validate_call + def get_multi_test_filtered_http_server_scheduled_test_results_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, + window: Annotated[Optional[Annotated[str, Field(strict=True)]], Field(description="A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`.")] = None, + start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, + end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, + cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None, + expand: Annotated[Optional[List[ExpandEndpointHttpServerOptions]], Field(description="This parameter is optional and determines whether to expand resources related to test results. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as \"header,\" append `?expand=header` to the query.")] = None, + http_endpoint_tests_data_rounds_search: Annotated[Optional[HttpEndpointTestsDataRoundsSearch], Field(description="Test data search filters.")] = 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: + """Filter HTTP server scheduled test results + + Returns component-level (DNS, Connect, Wait and Receive) timing for the load of an object over HTTP. + + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param window: A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. + :type window: str + :param start_date: Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. + :type start_date: datetime + :param end_date: Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. + :type end_date: datetime + :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. + :type cursor: str + :param expand: This parameter is optional and determines whether to expand resources related to test results. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as \"header,\" append `?expand=header` to the query. + :type expand: List[ExpandEndpointHttpServerOptions] + :param http_endpoint_tests_data_rounds_search: Test data search filters. + :type http_endpoint_tests_data_rounds_search: HttpEndpointTestsDataRoundsSearch + :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_multi_test_filtered_http_server_scheduled_test_results_serialize( + aid=aid, + window=window, + start_date=start_date, + end_date=end_date, + cursor=cursor, + expand=expand, + http_endpoint_tests_data_rounds_search=http_endpoint_tests_data_rounds_search, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "HttpMultiEndpointTestResults", + '400': "ValidationError", + '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_multi_test_filtered_http_server_scheduled_test_results_serialize( + self, + aid, + window, + start_date, + end_date, + cursor, + expand, + http_endpoint_tests_data_rounds_search, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'expand': 'csv', + } + + _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)) + + if window is not None: + + _query_params.append(('window', window)) + + if start_date is not None: + if isinstance(start_date, datetime): + _query_params.append( + ( + 'startDate', + start_date.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('startDate', start_date)) + + if end_date is not None: + if isinstance(end_date, datetime): + _query_params.append( + ( + 'endDate', + end_date.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('endDate', end_date)) + + if cursor is not None: + + _query_params.append(('cursor', cursor)) + + if expand is not None: + + _query_params.append(('expand', expand)) + + # process the header parameters + # process the form parameters + # process the body parameter + if http_endpoint_tests_data_rounds_search is not None: + _body_params = http_endpoint_tests_data_rounds_search + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/hal+json', + 'application/json', + 'application/problem+json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/endpoint/test-results/scheduled-tests/http-server/filter', + 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 + ) + + diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/local_network_tests_results_api.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/local_network_endpoint_test_results_api.py similarity index 99% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/local_network_tests_results_api.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/local_network_endpoint_test_results_api.py index 4a253e8b..ba070e7a 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/local_network_tests_results_api.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/local_network_endpoint_test_results_api.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -33,7 +32,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class LocalNetworkTestsResultsApi: +class LocalNetworkEndpointTestResultsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -430,7 +429,7 @@ class LocalNetworkTestsResultsApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/endpoint/test-results/local-networks/topologies/filter', + resource_path='/endpoint/test-results/local-networks/topologies/filter', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -712,7 +711,7 @@ class LocalNetworkTestsResultsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/endpoint/test-results/local-networks', + resource_path='/endpoint/test-results/local-networks', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1009,7 +1008,7 @@ class LocalNetworkTestsResultsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/endpoint/test-results/local-networks/topologies/{networkTopologyId}', + resource_path='/endpoint/test-results/local-networks/topologies/{networkTopologyId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/network_dynamic_tests_results_api.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/network_dynamic_endpoint_test_results_api.py similarity index 95% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/network_dynamic_tests_results_api.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/network_dynamic_endpoint_test_results_api.py index 62e81410..eccf6793 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/network_dynamic_tests_results_api.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/network_dynamic_endpoint_test_results_api.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -23,17 +22,17 @@ from datetime import datetime from pydantic import Field, StrictStr, field_validator from typing import Optional from typing_extensions import Annotated -from thousandeyes_sdk.endpoint_test_results.models.dynamic_tests_data_round_search import DynamicTestsDataRoundSearch -from thousandeyes_sdk.endpoint_test_results.models.network_dynamic_test_results import NetworkDynamicTestResults -from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_dynamic_test_results import PathVisDetailDynamicTestResults -from thousandeyes_sdk.endpoint_test_results.models.path_vis_dynamic_test_results import PathVisDynamicTestResults +from thousandeyes_sdk.endpoint_test_results.models.dynamic_endpoint_tests_data_round_search import DynamicEndpointTestsDataRoundSearch +from thousandeyes_sdk.endpoint_test_results.models.network_dynamic_endpoint_test_results import NetworkDynamicEndpointTestResults +from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_dynamic_endpoint_test_results import PathVisDetailDynamicEndpointTestResults +from thousandeyes_sdk.endpoint_test_results.models.path_vis_dynamic_endpoint_test_results import PathVisDynamicEndpointTestResults 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 NetworkDynamicTestsResultsApi: +class NetworkDynamicEndpointTestResultsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -56,7 +55,7 @@ class NetworkDynamicTestsResultsApi: start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None, - dynamic_tests_data_round_search: Annotated[Optional[DynamicTestsDataRoundSearch], Field(description="Tests data search filters.")] = None, + dynamic_endpoint_tests_data_round_search: Annotated[Optional[DynamicEndpointTestsDataRoundSearch], Field(description="Tests data search filters.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -69,7 +68,7 @@ class NetworkDynamicTestsResultsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> NetworkDynamicTestResults: + ) -> NetworkDynamicEndpointTestResults: """Retrieve network dynamic test results Returns network metrics (`loss`, `latency`, `jitter` and `bandwidth`) from each endpoint agent, for each `roundId` in the requested window. When Time Frame is provided the rounds specific to the time frame is returned and the order is not pre-defined unless a user specifies the sort order in filter. When no time frame is provided the latest rounds are returned. @@ -86,8 +85,8 @@ class NetworkDynamicTestsResultsApi: :type end_date: datetime :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. :type cursor: str - :param dynamic_tests_data_round_search: Tests data search filters. - :type dynamic_tests_data_round_search: DynamicTestsDataRoundSearch + :param dynamic_endpoint_tests_data_round_search: Tests data search filters. + :type dynamic_endpoint_tests_data_round_search: DynamicEndpointTestsDataRoundSearch :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 @@ -117,7 +116,7 @@ class NetworkDynamicTestsResultsApi: start_date=start_date, end_date=end_date, cursor=cursor, - dynamic_tests_data_round_search=dynamic_tests_data_round_search, + dynamic_endpoint_tests_data_round_search=dynamic_endpoint_tests_data_round_search, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -125,7 +124,7 @@ class NetworkDynamicTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "NetworkDynamicTestResults", + '200': "NetworkDynamicEndpointTestResults", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -154,7 +153,7 @@ class NetworkDynamicTestsResultsApi: start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None, - dynamic_tests_data_round_search: Annotated[Optional[DynamicTestsDataRoundSearch], Field(description="Tests data search filters.")] = None, + dynamic_endpoint_tests_data_round_search: Annotated[Optional[DynamicEndpointTestsDataRoundSearch], Field(description="Tests data search filters.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -167,7 +166,7 @@ class NetworkDynamicTestsResultsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[NetworkDynamicTestResults]: + ) -> ApiResponse[NetworkDynamicEndpointTestResults]: """Retrieve network dynamic test results Returns network metrics (`loss`, `latency`, `jitter` and `bandwidth`) from each endpoint agent, for each `roundId` in the requested window. When Time Frame is provided the rounds specific to the time frame is returned and the order is not pre-defined unless a user specifies the sort order in filter. When no time frame is provided the latest rounds are returned. @@ -184,8 +183,8 @@ class NetworkDynamicTestsResultsApi: :type end_date: datetime :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. :type cursor: str - :param dynamic_tests_data_round_search: Tests data search filters. - :type dynamic_tests_data_round_search: DynamicTestsDataRoundSearch + :param dynamic_endpoint_tests_data_round_search: Tests data search filters. + :type dynamic_endpoint_tests_data_round_search: DynamicEndpointTestsDataRoundSearch :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 @@ -215,7 +214,7 @@ class NetworkDynamicTestsResultsApi: start_date=start_date, end_date=end_date, cursor=cursor, - dynamic_tests_data_round_search=dynamic_tests_data_round_search, + dynamic_endpoint_tests_data_round_search=dynamic_endpoint_tests_data_round_search, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -223,7 +222,7 @@ class NetworkDynamicTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "NetworkDynamicTestResults", + '200': "NetworkDynamicEndpointTestResults", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -252,7 +251,7 @@ class NetworkDynamicTestsResultsApi: start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None, - dynamic_tests_data_round_search: Annotated[Optional[DynamicTestsDataRoundSearch], Field(description="Tests data search filters.")] = None, + dynamic_endpoint_tests_data_round_search: Annotated[Optional[DynamicEndpointTestsDataRoundSearch], Field(description="Tests data search filters.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -282,8 +281,8 @@ class NetworkDynamicTestsResultsApi: :type end_date: datetime :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. :type cursor: str - :param dynamic_tests_data_round_search: Tests data search filters. - :type dynamic_tests_data_round_search: DynamicTestsDataRoundSearch + :param dynamic_endpoint_tests_data_round_search: Tests data search filters. + :type dynamic_endpoint_tests_data_round_search: DynamicEndpointTestsDataRoundSearch :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 @@ -313,7 +312,7 @@ class NetworkDynamicTestsResultsApi: start_date=start_date, end_date=end_date, cursor=cursor, - dynamic_tests_data_round_search=dynamic_tests_data_round_search, + dynamic_endpoint_tests_data_round_search=dynamic_endpoint_tests_data_round_search, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -321,7 +320,7 @@ class NetworkDynamicTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "NetworkDynamicTestResults", + '200': "NetworkDynamicEndpointTestResults", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -344,7 +343,7 @@ class NetworkDynamicTestsResultsApi: start_date, end_date, cursor, - dynamic_tests_data_round_search, + dynamic_endpoint_tests_data_round_search, _request_auth, _content_type, _headers, @@ -408,8 +407,8 @@ class NetworkDynamicTestsResultsApi: # process the header parameters # process the form parameters # process the body parameter - if dynamic_tests_data_round_search is not None: - _body_params = dynamic_tests_data_round_search + if dynamic_endpoint_tests_data_round_search is not None: + _body_params = dynamic_endpoint_tests_data_round_search # set the HTTP header `Accept` @@ -442,7 +441,7 @@ class NetworkDynamicTestsResultsApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/endpoint/test-results/dynamic-tests/{testId}/network/filter', + resource_path='/endpoint/test-results/dynamic-tests/{testId}/network/filter', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -477,7 +476,7 @@ class NetworkDynamicTestsResultsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PathVisDetailDynamicTestResults: + ) -> PathVisDetailDynamicEndpointTestResults: """Retrieve path visualization network dynamic test results details Returns a hop-by-hop summary of the path trace data collected during path visualization. In each round, one path discovery attempt is made to reach the destination. The entire path is returned. A `roundId` must be specified. @@ -524,7 +523,7 @@ class NetworkDynamicTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PathVisDetailDynamicTestResults", + '200': "PathVisDetailDynamicEndpointTestResults", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -564,7 +563,7 @@ class NetworkDynamicTestsResultsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PathVisDetailDynamicTestResults]: + ) -> ApiResponse[PathVisDetailDynamicEndpointTestResults]: """Retrieve path visualization network dynamic test results details Returns a hop-by-hop summary of the path trace data collected during path visualization. In each round, one path discovery attempt is made to reach the destination. The entire path is returned. A `roundId` must be specified. @@ -611,7 +610,7 @@ class NetworkDynamicTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PathVisDetailDynamicTestResults", + '200': "PathVisDetailDynamicEndpointTestResults", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -698,7 +697,7 @@ class NetworkDynamicTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PathVisDetailDynamicTestResults", + '200': "PathVisDetailDynamicEndpointTestResults", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -772,7 +771,7 @@ class NetworkDynamicTestsResultsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/endpoint/test-results/dynamic-tests/{testId}/path-vis/agent/{agentId}/round/{roundId}', + resource_path='/endpoint/test-results/dynamic-tests/{testId}/path-vis/agent/{agentId}/round/{roundId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -809,7 +808,7 @@ class NetworkDynamicTestsResultsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PathVisDynamicTestResults: + ) -> PathVisDynamicEndpointTestResults: """Retrieve path visualization network dynamic test results Returns a summary of the path visualization data collected from each endpoint agent to the destination. In each path visualization attempt, one attempt is made to reach the destination. Each set of data is summarized, based on response time, number of hops, and response time to the target. A time frame must be specified, or the most recent round within last 2 hours will be returned. @@ -862,7 +861,7 @@ class NetworkDynamicTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PathVisDynamicTestResults", + '200': "PathVisDynamicEndpointTestResults", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -903,7 +902,7 @@ class NetworkDynamicTestsResultsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PathVisDynamicTestResults]: + ) -> ApiResponse[PathVisDynamicEndpointTestResults]: """Retrieve path visualization network dynamic test results Returns a summary of the path visualization data collected from each endpoint agent to the destination. In each path visualization attempt, one attempt is made to reach the destination. Each set of data is summarized, based on response time, number of hops, and response time to the target. A time frame must be specified, or the most recent round within last 2 hours will be returned. @@ -956,7 +955,7 @@ class NetworkDynamicTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PathVisDynamicTestResults", + '200': "PathVisDynamicEndpointTestResults", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -1050,7 +1049,7 @@ class NetworkDynamicTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PathVisDynamicTestResults", + '200': "PathVisDynamicEndpointTestResults", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -1155,7 +1154,7 @@ class NetworkDynamicTestsResultsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/endpoint/test-results/dynamic-tests/{testId}/path-vis', + resource_path='/endpoint/test-results/dynamic-tests/{testId}/path-vis', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/network_scheduled_tests_results_api.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/network_endpoint_scheduled_test_results_api.py similarity index 94% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/network_scheduled_tests_results_api.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/network_endpoint_scheduled_test_results_api.py index c44f2b90..e8288280 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/network_scheduled_tests_results_api.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/network_endpoint_scheduled_test_results_api.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -23,19 +22,19 @@ from datetime import datetime from pydantic import Field, StrictInt, StrictStr, field_validator from typing import Optional from typing_extensions import Annotated -from thousandeyes_sdk.endpoint_test_results.models.multi_test_id_network_test_results import MultiTestIdNetworkTestResults -from thousandeyes_sdk.endpoint_test_results.models.multi_test_id_tests_data_rounds_search import MultiTestIdTestsDataRoundsSearch -from thousandeyes_sdk.endpoint_test_results.models.network_test_results import NetworkTestResults -from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_test_results import PathVisDetailTestResults -from thousandeyes_sdk.endpoint_test_results.models.path_vis_test_results import PathVisTestResults -from thousandeyes_sdk.endpoint_test_results.models.tests_data_rounds_search import TestsDataRoundsSearch +from thousandeyes_sdk.endpoint_test_results.models.endpoint_tests_data_rounds_search import EndpointTestsDataRoundsSearch +from thousandeyes_sdk.endpoint_test_results.models.multi_test_id_endpoint_tests_data_rounds_search import MultiTestIdEndpointTestsDataRoundsSearch +from thousandeyes_sdk.endpoint_test_results.models.multi_test_id_network_endpoint_test_results import MultiTestIdNetworkEndpointTestResults +from thousandeyes_sdk.endpoint_test_results.models.network_endpoint_test_results import NetworkEndpointTestResults +from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_endpoint_test_results import PathVisDetailEndpointTestResults +from thousandeyes_sdk.endpoint_test_results.models.path_vis_endpoint_test_results import PathVisEndpointTestResults 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 NetworkScheduledTestsResultsApi: +class NetworkEndpointScheduledTestResultsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -58,7 +57,7 @@ class NetworkScheduledTestsResultsApi: start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None, - tests_data_rounds_search: Annotated[Optional[TestsDataRoundsSearch], Field(description="Tests data search filters.")] = None, + endpoint_tests_data_rounds_search: Annotated[Optional[EndpointTestsDataRoundsSearch], Field(description="Tests data search filters.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -71,7 +70,7 @@ class NetworkScheduledTestsResultsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> NetworkTestResults: + ) -> NetworkEndpointTestResults: """Retrieve network scheduled test results Returns network metrics (loss, latency, and jitter) from each endpoint agent, for each roundId within the specified time window, as determined by search filters. If a time frame is provided, the rounds relevant to that time frame are returned, and the order is not predefined unless the user specifies a sort order in the filter. When no time frame is provided, the latest rounds are returned. @@ -88,8 +87,8 @@ class NetworkScheduledTestsResultsApi: :type end_date: datetime :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. :type cursor: str - :param tests_data_rounds_search: Tests data search filters. - :type tests_data_rounds_search: TestsDataRoundsSearch + :param endpoint_tests_data_rounds_search: Tests data search filters. + :type endpoint_tests_data_rounds_search: EndpointTestsDataRoundsSearch :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 @@ -119,7 +118,7 @@ class NetworkScheduledTestsResultsApi: start_date=start_date, end_date=end_date, cursor=cursor, - tests_data_rounds_search=tests_data_rounds_search, + endpoint_tests_data_rounds_search=endpoint_tests_data_rounds_search, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -127,7 +126,7 @@ class NetworkScheduledTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "NetworkTestResults", + '200': "NetworkEndpointTestResults", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -156,7 +155,7 @@ class NetworkScheduledTestsResultsApi: start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None, - tests_data_rounds_search: Annotated[Optional[TestsDataRoundsSearch], Field(description="Tests data search filters.")] = None, + endpoint_tests_data_rounds_search: Annotated[Optional[EndpointTestsDataRoundsSearch], Field(description="Tests data search filters.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -169,7 +168,7 @@ class NetworkScheduledTestsResultsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[NetworkTestResults]: + ) -> ApiResponse[NetworkEndpointTestResults]: """Retrieve network scheduled test results Returns network metrics (loss, latency, and jitter) from each endpoint agent, for each roundId within the specified time window, as determined by search filters. If a time frame is provided, the rounds relevant to that time frame are returned, and the order is not predefined unless the user specifies a sort order in the filter. When no time frame is provided, the latest rounds are returned. @@ -186,8 +185,8 @@ class NetworkScheduledTestsResultsApi: :type end_date: datetime :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. :type cursor: str - :param tests_data_rounds_search: Tests data search filters. - :type tests_data_rounds_search: TestsDataRoundsSearch + :param endpoint_tests_data_rounds_search: Tests data search filters. + :type endpoint_tests_data_rounds_search: EndpointTestsDataRoundsSearch :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 @@ -217,7 +216,7 @@ class NetworkScheduledTestsResultsApi: start_date=start_date, end_date=end_date, cursor=cursor, - tests_data_rounds_search=tests_data_rounds_search, + endpoint_tests_data_rounds_search=endpoint_tests_data_rounds_search, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -225,7 +224,7 @@ class NetworkScheduledTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "NetworkTestResults", + '200': "NetworkEndpointTestResults", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -254,7 +253,7 @@ class NetworkScheduledTestsResultsApi: start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None, - tests_data_rounds_search: Annotated[Optional[TestsDataRoundsSearch], Field(description="Tests data search filters.")] = None, + endpoint_tests_data_rounds_search: Annotated[Optional[EndpointTestsDataRoundsSearch], Field(description="Tests data search filters.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -284,8 +283,8 @@ class NetworkScheduledTestsResultsApi: :type end_date: datetime :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. :type cursor: str - :param tests_data_rounds_search: Tests data search filters. - :type tests_data_rounds_search: TestsDataRoundsSearch + :param endpoint_tests_data_rounds_search: Tests data search filters. + :type endpoint_tests_data_rounds_search: EndpointTestsDataRoundsSearch :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 @@ -315,7 +314,7 @@ class NetworkScheduledTestsResultsApi: start_date=start_date, end_date=end_date, cursor=cursor, - tests_data_rounds_search=tests_data_rounds_search, + endpoint_tests_data_rounds_search=endpoint_tests_data_rounds_search, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -323,7 +322,7 @@ class NetworkScheduledTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "NetworkTestResults", + '200': "NetworkEndpointTestResults", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -346,7 +345,7 @@ class NetworkScheduledTestsResultsApi: start_date, end_date, cursor, - tests_data_rounds_search, + endpoint_tests_data_rounds_search, _request_auth, _content_type, _headers, @@ -410,8 +409,8 @@ class NetworkScheduledTestsResultsApi: # process the header parameters # process the form parameters # process the body parameter - if tests_data_rounds_search is not None: - _body_params = tests_data_rounds_search + if endpoint_tests_data_rounds_search is not None: + _body_params = endpoint_tests_data_rounds_search # set the HTTP header `Accept` @@ -444,7 +443,7 @@ class NetworkScheduledTestsResultsApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/endpoint/test-results/scheduled-tests/{testId}/network/filter', + resource_path='/endpoint/test-results/scheduled-tests/{testId}/network/filter', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -469,7 +468,7 @@ class NetworkScheduledTestsResultsApi: end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, max: Annotated[Optional[StrictInt], Field(description="(Optional) Maximum number of objects to return.")] = None, cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None, - multi_test_id_tests_data_rounds_search: Annotated[Optional[MultiTestIdTestsDataRoundsSearch], Field(description="Test data search filters.")] = None, + multi_test_id_endpoint_tests_data_rounds_search: Annotated[Optional[MultiTestIdEndpointTestsDataRoundsSearch], Field(description="Test data search filters.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -482,7 +481,7 @@ class NetworkScheduledTestsResultsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> MultiTestIdNetworkTestResults: + ) -> MultiTestIdNetworkEndpointTestResults: """Retrieve network scheduled test results from multiple tests Returns network metrics, including loss, latency, and jitter, for multiple test IDs obtained from each endpoint agent. It allows you to specify a time window using search filters to retrieve metrics for specific round IDs within that time frame. The default order of results is unspecified unless you include a sorting preference in the filter. When no time frame is provided, the API returns metrics for the most recent rounds. Access to all accounts associated with the specified test IDs is required to use this endpoint. @@ -499,8 +498,8 @@ class NetworkScheduledTestsResultsApi: :type max: int :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. :type cursor: str - :param multi_test_id_tests_data_rounds_search: Test data search filters. - :type multi_test_id_tests_data_rounds_search: MultiTestIdTestsDataRoundsSearch + :param multi_test_id_endpoint_tests_data_rounds_search: Test data search filters. + :type multi_test_id_endpoint_tests_data_rounds_search: MultiTestIdEndpointTestsDataRoundsSearch :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 @@ -530,7 +529,7 @@ class NetworkScheduledTestsResultsApi: end_date=end_date, max=max, cursor=cursor, - multi_test_id_tests_data_rounds_search=multi_test_id_tests_data_rounds_search, + multi_test_id_endpoint_tests_data_rounds_search=multi_test_id_endpoint_tests_data_rounds_search, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -538,7 +537,7 @@ class NetworkScheduledTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "MultiTestIdNetworkTestResults", + '200': "MultiTestIdNetworkEndpointTestResults", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -567,7 +566,7 @@ class NetworkScheduledTestsResultsApi: end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, max: Annotated[Optional[StrictInt], Field(description="(Optional) Maximum number of objects to return.")] = None, cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None, - multi_test_id_tests_data_rounds_search: Annotated[Optional[MultiTestIdTestsDataRoundsSearch], Field(description="Test data search filters.")] = None, + multi_test_id_endpoint_tests_data_rounds_search: Annotated[Optional[MultiTestIdEndpointTestsDataRoundsSearch], Field(description="Test data search filters.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -580,7 +579,7 @@ class NetworkScheduledTestsResultsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[MultiTestIdNetworkTestResults]: + ) -> ApiResponse[MultiTestIdNetworkEndpointTestResults]: """Retrieve network scheduled test results from multiple tests Returns network metrics, including loss, latency, and jitter, for multiple test IDs obtained from each endpoint agent. It allows you to specify a time window using search filters to retrieve metrics for specific round IDs within that time frame. The default order of results is unspecified unless you include a sorting preference in the filter. When no time frame is provided, the API returns metrics for the most recent rounds. Access to all accounts associated with the specified test IDs is required to use this endpoint. @@ -597,8 +596,8 @@ class NetworkScheduledTestsResultsApi: :type max: int :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. :type cursor: str - :param multi_test_id_tests_data_rounds_search: Test data search filters. - :type multi_test_id_tests_data_rounds_search: MultiTestIdTestsDataRoundsSearch + :param multi_test_id_endpoint_tests_data_rounds_search: Test data search filters. + :type multi_test_id_endpoint_tests_data_rounds_search: MultiTestIdEndpointTestsDataRoundsSearch :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 @@ -628,7 +627,7 @@ class NetworkScheduledTestsResultsApi: end_date=end_date, max=max, cursor=cursor, - multi_test_id_tests_data_rounds_search=multi_test_id_tests_data_rounds_search, + multi_test_id_endpoint_tests_data_rounds_search=multi_test_id_endpoint_tests_data_rounds_search, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -636,7 +635,7 @@ class NetworkScheduledTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "MultiTestIdNetworkTestResults", + '200': "MultiTestIdNetworkEndpointTestResults", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -665,7 +664,7 @@ class NetworkScheduledTestsResultsApi: end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, max: Annotated[Optional[StrictInt], Field(description="(Optional) Maximum number of objects to return.")] = None, cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None, - multi_test_id_tests_data_rounds_search: Annotated[Optional[MultiTestIdTestsDataRoundsSearch], Field(description="Test data search filters.")] = None, + multi_test_id_endpoint_tests_data_rounds_search: Annotated[Optional[MultiTestIdEndpointTestsDataRoundsSearch], Field(description="Test data search filters.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -695,8 +694,8 @@ class NetworkScheduledTestsResultsApi: :type max: int :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. :type cursor: str - :param multi_test_id_tests_data_rounds_search: Test data search filters. - :type multi_test_id_tests_data_rounds_search: MultiTestIdTestsDataRoundsSearch + :param multi_test_id_endpoint_tests_data_rounds_search: Test data search filters. + :type multi_test_id_endpoint_tests_data_rounds_search: MultiTestIdEndpointTestsDataRoundsSearch :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 @@ -726,7 +725,7 @@ class NetworkScheduledTestsResultsApi: end_date=end_date, max=max, cursor=cursor, - multi_test_id_tests_data_rounds_search=multi_test_id_tests_data_rounds_search, + multi_test_id_endpoint_tests_data_rounds_search=multi_test_id_endpoint_tests_data_rounds_search, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -734,7 +733,7 @@ class NetworkScheduledTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "MultiTestIdNetworkTestResults", + '200': "MultiTestIdNetworkEndpointTestResults", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -757,7 +756,7 @@ class NetworkScheduledTestsResultsApi: end_date, max, cursor, - multi_test_id_tests_data_rounds_search, + multi_test_id_endpoint_tests_data_rounds_search, _request_auth, _content_type, _headers, @@ -823,8 +822,8 @@ class NetworkScheduledTestsResultsApi: # process the header parameters # process the form parameters # process the body parameter - if multi_test_id_tests_data_rounds_search is not None: - _body_params = multi_test_id_tests_data_rounds_search + if multi_test_id_endpoint_tests_data_rounds_search is not None: + _body_params = multi_test_id_endpoint_tests_data_rounds_search # set the HTTP header `Accept` @@ -857,7 +856,7 @@ class NetworkScheduledTestsResultsApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/endpoint/test-results/scheduled-tests/network/filter', + resource_path='/endpoint/test-results/scheduled-tests/network/filter', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -892,7 +891,7 @@ class NetworkScheduledTestsResultsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PathVisDetailTestResults: + ) -> PathVisDetailEndpointTestResults: """Retrieve path visualization network scheduled test results details Returns a hop-by-hop summary of the path trace data collected during path visualization. In each round, one path discovery attempt is made to reach the destination. The entire path is returned. A `roundId` must be specified. @@ -939,7 +938,7 @@ class NetworkScheduledTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PathVisDetailTestResults", + '200': "PathVisDetailEndpointTestResults", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -978,7 +977,7 @@ class NetworkScheduledTestsResultsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PathVisDetailTestResults]: + ) -> ApiResponse[PathVisDetailEndpointTestResults]: """Retrieve path visualization network scheduled test results details Returns a hop-by-hop summary of the path trace data collected during path visualization. In each round, one path discovery attempt is made to reach the destination. The entire path is returned. A `roundId` must be specified. @@ -1025,7 +1024,7 @@ class NetworkScheduledTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PathVisDetailTestResults", + '200': "PathVisDetailEndpointTestResults", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -1111,7 +1110,7 @@ class NetworkScheduledTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PathVisDetailTestResults", + '200': "PathVisDetailEndpointTestResults", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -1184,7 +1183,7 @@ class NetworkScheduledTestsResultsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/endpoint/test-results/scheduled-tests/{testId}/path-vis/agent/{agentId}/round/{roundId}', + resource_path='/endpoint/test-results/scheduled-tests/{testId}/path-vis/agent/{agentId}/round/{roundId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1221,7 +1220,7 @@ class NetworkScheduledTestsResultsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PathVisTestResults: + ) -> PathVisEndpointTestResults: """Retrieve path visualization network scheduled test results Returns a summary of the path visualization data collected from each endpoint agent to the destination. In each path visualization attempt, one attempt is made to reach the destination. Each set of data is summarized, based on response time, number of hops, and response time to the target. A time frame must be specified, or the most recent round within last 2 hours is returned. @@ -1274,7 +1273,7 @@ class NetworkScheduledTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PathVisTestResults", + '200': "PathVisEndpointTestResults", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -1315,7 +1314,7 @@ class NetworkScheduledTestsResultsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PathVisTestResults]: + ) -> ApiResponse[PathVisEndpointTestResults]: """Retrieve path visualization network scheduled test results Returns a summary of the path visualization data collected from each endpoint agent to the destination. In each path visualization attempt, one attempt is made to reach the destination. Each set of data is summarized, based on response time, number of hops, and response time to the target. A time frame must be specified, or the most recent round within last 2 hours is returned. @@ -1368,7 +1367,7 @@ class NetworkScheduledTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PathVisTestResults", + '200': "PathVisEndpointTestResults", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -1462,7 +1461,7 @@ class NetworkScheduledTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PathVisTestResults", + '200': "PathVisEndpointTestResults", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -1567,7 +1566,7 @@ class NetworkScheduledTestsResultsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/endpoint/test-results/scheduled-tests/{testId}/path-vis', + resource_path='/endpoint/test-results/scheduled-tests/{testId}/path-vis', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/real_user_tests_results_api.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/real_user_endpoint_test_results_api.py similarity index 94% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/real_user_tests_results_api.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/real_user_endpoint_test_results_api.py index d6f0efde..a51353c1 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/real_user_tests_results_api.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/real_user_endpoint_test_results_api.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -23,20 +22,20 @@ from datetime import datetime from pydantic import Field, StrictStr, field_validator from typing import Optional from typing_extensions import Annotated -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test_detail_results import EndpointRealUserTestDetailResults -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test_result_request_filter import EndpointRealUserTestResultRequestFilter -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test_results import EndpointRealUserTestResults -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test_results_request import EndpointRealUserTestResultsRequest -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_network_results import RealUserTestNetworkResults -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_page_detail_result import RealUserTestPageDetailResult -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_page_results import RealUserTestPageResults +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_detail_results import RealUserEndpointTestDetailResults +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_network_results import RealUserEndpointTestNetworkResults +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_page_detail_result import RealUserEndpointTestPageDetailResult +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_page_results import RealUserEndpointTestPageResults +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_result_request_filter import RealUserEndpointTestResultRequestFilter +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_results import RealUserEndpointTestResults +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_results_request import RealUserEndpointTestResultsRequest 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 RealUserTestsResultsApi: +class RealUserEndpointTestResultsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -58,7 +57,7 @@ class RealUserTestsResultsApi: start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None, - endpoint_real_user_test_results_request: Optional[EndpointRealUserTestResultsRequest] = None, + real_user_endpoint_test_results_request: Optional[RealUserEndpointTestResultsRequest] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -71,7 +70,7 @@ class RealUserTestsResultsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RealUserTestNetworkResults: + ) -> RealUserEndpointTestNetworkResults: """List endpoint real user tests Returns a list of all endpoint real user tests. Sessions from the last round are provided unless an explicit start and end is provided with `startDate`, `endDate` or `window` optional parameters. ## Request body filters This endpoint supports complex filtering using the request body. It is important these filters remain unaltered when making use of pagination, otherwise the results will not be coherent with the original request. ### Multiple filter fields When multiple filter fields are provided, a logical `AND` is applied between the filters. ``` curl --location --request POST 'https://api.thousandeyes.com/v7/endpoint/test-results/real-user-tests/networks/filter' --header 'Authorization: Bearer $token' --header 'Content-Type: application/json' --data-raw '{ \"searchFilters\": { \"platform\": [ \"mac\" ], \"domain\": [ \"thousandeyes.com\" ] }}' ``` ### Filter field with multiple values When a filter field contains multiple values, a logical `OR` is applied between the filter values. ``` curl --location --request POST 'https://api.thousandeyes.com/v7/endpoint/test-results/real-user-tests/networks/filter' --header 'Authorization: Bearer $token' --header 'Content-Type: application/json' --data-raw '{ \"searchFilters\": { \"networkId\": [ \"660b34109d12\", \"660b34109d15\" ] }}' ``` ### Combination of request parameters and body filters ``` curl --location --request POST 'https://api.thousandeyes.com/v7/endpoint/test-results/real-user-tests/networks/filter?window=1w' --header 'Authorization: Bearer $token' --header 'Content-Type: application/json' --data-raw '{ \"searchFilters\": { \"platform\": [ \"mac\" ], \"domain\": [ \"thousandeyes.com\" ], \"networkId\": [ \"660b34109d12\", \"660b34109d15\" ] }}' ``` Returns a `results` array of endpoint real user tests. Network sessions shown are from the latest round, or based on the time range specified. @@ -86,8 +85,8 @@ class RealUserTestsResultsApi: :type end_date: datetime :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. :type cursor: str - :param endpoint_real_user_test_results_request: - :type endpoint_real_user_test_results_request: EndpointRealUserTestResultsRequest + :param real_user_endpoint_test_results_request: + :type real_user_endpoint_test_results_request: RealUserEndpointTestResultsRequest :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 @@ -116,7 +115,7 @@ class RealUserTestsResultsApi: start_date=start_date, end_date=end_date, cursor=cursor, - endpoint_real_user_test_results_request=endpoint_real_user_test_results_request, + real_user_endpoint_test_results_request=real_user_endpoint_test_results_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -124,7 +123,7 @@ class RealUserTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "RealUserTestNetworkResults", + '200': "RealUserEndpointTestNetworkResults", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -153,7 +152,7 @@ class RealUserTestsResultsApi: start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None, - endpoint_real_user_test_results_request: Optional[EndpointRealUserTestResultsRequest] = None, + real_user_endpoint_test_results_request: Optional[RealUserEndpointTestResultsRequest] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -166,7 +165,7 @@ class RealUserTestsResultsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[RealUserTestNetworkResults]: + ) -> ApiResponse[RealUserEndpointTestNetworkResults]: """List endpoint real user tests Returns a list of all endpoint real user tests. Sessions from the last round are provided unless an explicit start and end is provided with `startDate`, `endDate` or `window` optional parameters. ## Request body filters This endpoint supports complex filtering using the request body. It is important these filters remain unaltered when making use of pagination, otherwise the results will not be coherent with the original request. ### Multiple filter fields When multiple filter fields are provided, a logical `AND` is applied between the filters. ``` curl --location --request POST 'https://api.thousandeyes.com/v7/endpoint/test-results/real-user-tests/networks/filter' --header 'Authorization: Bearer $token' --header 'Content-Type: application/json' --data-raw '{ \"searchFilters\": { \"platform\": [ \"mac\" ], \"domain\": [ \"thousandeyes.com\" ] }}' ``` ### Filter field with multiple values When a filter field contains multiple values, a logical `OR` is applied between the filter values. ``` curl --location --request POST 'https://api.thousandeyes.com/v7/endpoint/test-results/real-user-tests/networks/filter' --header 'Authorization: Bearer $token' --header 'Content-Type: application/json' --data-raw '{ \"searchFilters\": { \"networkId\": [ \"660b34109d12\", \"660b34109d15\" ] }}' ``` ### Combination of request parameters and body filters ``` curl --location --request POST 'https://api.thousandeyes.com/v7/endpoint/test-results/real-user-tests/networks/filter?window=1w' --header 'Authorization: Bearer $token' --header 'Content-Type: application/json' --data-raw '{ \"searchFilters\": { \"platform\": [ \"mac\" ], \"domain\": [ \"thousandeyes.com\" ], \"networkId\": [ \"660b34109d12\", \"660b34109d15\" ] }}' ``` Returns a `results` array of endpoint real user tests. Network sessions shown are from the latest round, or based on the time range specified. @@ -181,8 +180,8 @@ class RealUserTestsResultsApi: :type end_date: datetime :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. :type cursor: str - :param endpoint_real_user_test_results_request: - :type endpoint_real_user_test_results_request: EndpointRealUserTestResultsRequest + :param real_user_endpoint_test_results_request: + :type real_user_endpoint_test_results_request: RealUserEndpointTestResultsRequest :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 @@ -211,7 +210,7 @@ class RealUserTestsResultsApi: start_date=start_date, end_date=end_date, cursor=cursor, - endpoint_real_user_test_results_request=endpoint_real_user_test_results_request, + real_user_endpoint_test_results_request=real_user_endpoint_test_results_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -219,7 +218,7 @@ class RealUserTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "RealUserTestNetworkResults", + '200': "RealUserEndpointTestNetworkResults", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -248,7 +247,7 @@ class RealUserTestsResultsApi: start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None, - endpoint_real_user_test_results_request: Optional[EndpointRealUserTestResultsRequest] = None, + real_user_endpoint_test_results_request: Optional[RealUserEndpointTestResultsRequest] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -276,8 +275,8 @@ class RealUserTestsResultsApi: :type end_date: datetime :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. :type cursor: str - :param endpoint_real_user_test_results_request: - :type endpoint_real_user_test_results_request: EndpointRealUserTestResultsRequest + :param real_user_endpoint_test_results_request: + :type real_user_endpoint_test_results_request: RealUserEndpointTestResultsRequest :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 @@ -306,7 +305,7 @@ class RealUserTestsResultsApi: start_date=start_date, end_date=end_date, cursor=cursor, - endpoint_real_user_test_results_request=endpoint_real_user_test_results_request, + real_user_endpoint_test_results_request=real_user_endpoint_test_results_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -314,7 +313,7 @@ class RealUserTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "RealUserTestNetworkResults", + '200': "RealUserEndpointTestNetworkResults", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -337,7 +336,7 @@ class RealUserTestsResultsApi: start_date, end_date, cursor, - endpoint_real_user_test_results_request, + real_user_endpoint_test_results_request, _request_auth, _content_type, _headers, @@ -399,8 +398,8 @@ class RealUserTestsResultsApi: # process the header parameters # process the form parameters # process the body parameter - if endpoint_real_user_test_results_request is not None: - _body_params = endpoint_real_user_test_results_request + if real_user_endpoint_test_results_request is not None: + _body_params = real_user_endpoint_test_results_request # set the HTTP header `Accept` @@ -433,7 +432,7 @@ class RealUserTestsResultsApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/endpoint/test-results/real-user-tests/networks/filter', + resource_path='/endpoint/test-results/real-user-tests/networks/filter', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -457,7 +456,7 @@ class RealUserTestsResultsApi: start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None, - endpoint_real_user_test_results_request: Optional[EndpointRealUserTestResultsRequest] = None, + real_user_endpoint_test_results_request: Optional[RealUserEndpointTestResultsRequest] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -470,7 +469,7 @@ class RealUserTestsResultsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> EndpointRealUserTestResults: + ) -> RealUserEndpointTestResults: """List endpoint real user tests Returns a list of all endpoint real user tests. Results from the last round are provided unless an explicit start and end is provided with `startDate`, `endDate` or `window` optional parameters. ## Request body filters This endpoint supports complex filtering using the request body. It is important these filters remain unaltered when making use of pagination, otherwise the results will not be coherent with the original request. ### Multiple filter fields When multiple filter fields are provided, a logical `AND` is applied between the filters. ``` curl --location --request POST 'https://api.thousandeyes.com/v7/endpoint/test-results/real-user-tests/filter' --header 'Authorization: Bearer $token' --header 'Content-Type: application/json' --data-raw '{ \"searchFilters\": { \"platform\": [ \"mac\" ], \"domain\": [ \"thousandeyes.com\" ] }}' ``` ### Filter field with multiple values When a filter field contains multiple values, a logical `OR` is applied between the filter values. ``` curl --location --request POST 'https://api.thousandeyes.com/v7/endpoint/test-results/real-user-tests/filter' --header 'Authorization: Bearer $token' --header 'Content-Type: application/json' --data-raw '{ \"searchFilters\": { \"networkId\": [ \"660b34109d12\", \"660b34109d15\" ] } }' ``` ### Combination of request parameters and body filters ``` curl --location --request POST 'https://api.thousandeyes.com/v7/endpoint/test-results/real-user-tests/filter?window=1w' --header 'Authorization: Bearer $token' --header 'Content-Type: application/json' --data-raw '{ \"searchFilters\": { \"platform\": [ \"mac\" ], \"domain\": [ \"thousandeyes.com\" ], \"networkId\": [ \"660b34109d12\", \"660b34109d15\" ] } }' ``` Returns a `results` array of endpoint real user tests. Either the latest results, or based on the time range and body filters specified. @@ -485,8 +484,8 @@ class RealUserTestsResultsApi: :type end_date: datetime :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. :type cursor: str - :param endpoint_real_user_test_results_request: - :type endpoint_real_user_test_results_request: EndpointRealUserTestResultsRequest + :param real_user_endpoint_test_results_request: + :type real_user_endpoint_test_results_request: RealUserEndpointTestResultsRequest :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 @@ -515,7 +514,7 @@ class RealUserTestsResultsApi: start_date=start_date, end_date=end_date, cursor=cursor, - endpoint_real_user_test_results_request=endpoint_real_user_test_results_request, + real_user_endpoint_test_results_request=real_user_endpoint_test_results_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -523,7 +522,7 @@ class RealUserTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "EndpointRealUserTestResults", + '200': "RealUserEndpointTestResults", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -552,7 +551,7 @@ class RealUserTestsResultsApi: start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None, - endpoint_real_user_test_results_request: Optional[EndpointRealUserTestResultsRequest] = None, + real_user_endpoint_test_results_request: Optional[RealUserEndpointTestResultsRequest] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -565,7 +564,7 @@ class RealUserTestsResultsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[EndpointRealUserTestResults]: + ) -> ApiResponse[RealUserEndpointTestResults]: """List endpoint real user tests Returns a list of all endpoint real user tests. Results from the last round are provided unless an explicit start and end is provided with `startDate`, `endDate` or `window` optional parameters. ## Request body filters This endpoint supports complex filtering using the request body. It is important these filters remain unaltered when making use of pagination, otherwise the results will not be coherent with the original request. ### Multiple filter fields When multiple filter fields are provided, a logical `AND` is applied between the filters. ``` curl --location --request POST 'https://api.thousandeyes.com/v7/endpoint/test-results/real-user-tests/filter' --header 'Authorization: Bearer $token' --header 'Content-Type: application/json' --data-raw '{ \"searchFilters\": { \"platform\": [ \"mac\" ], \"domain\": [ \"thousandeyes.com\" ] }}' ``` ### Filter field with multiple values When a filter field contains multiple values, a logical `OR` is applied between the filter values. ``` curl --location --request POST 'https://api.thousandeyes.com/v7/endpoint/test-results/real-user-tests/filter' --header 'Authorization: Bearer $token' --header 'Content-Type: application/json' --data-raw '{ \"searchFilters\": { \"networkId\": [ \"660b34109d12\", \"660b34109d15\" ] } }' ``` ### Combination of request parameters and body filters ``` curl --location --request POST 'https://api.thousandeyes.com/v7/endpoint/test-results/real-user-tests/filter?window=1w' --header 'Authorization: Bearer $token' --header 'Content-Type: application/json' --data-raw '{ \"searchFilters\": { \"platform\": [ \"mac\" ], \"domain\": [ \"thousandeyes.com\" ], \"networkId\": [ \"660b34109d12\", \"660b34109d15\" ] } }' ``` Returns a `results` array of endpoint real user tests. Either the latest results, or based on the time range and body filters specified. @@ -580,8 +579,8 @@ class RealUserTestsResultsApi: :type end_date: datetime :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. :type cursor: str - :param endpoint_real_user_test_results_request: - :type endpoint_real_user_test_results_request: EndpointRealUserTestResultsRequest + :param real_user_endpoint_test_results_request: + :type real_user_endpoint_test_results_request: RealUserEndpointTestResultsRequest :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 @@ -610,7 +609,7 @@ class RealUserTestsResultsApi: start_date=start_date, end_date=end_date, cursor=cursor, - endpoint_real_user_test_results_request=endpoint_real_user_test_results_request, + real_user_endpoint_test_results_request=real_user_endpoint_test_results_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -618,7 +617,7 @@ class RealUserTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "EndpointRealUserTestResults", + '200': "RealUserEndpointTestResults", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -647,7 +646,7 @@ class RealUserTestsResultsApi: start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None, - endpoint_real_user_test_results_request: Optional[EndpointRealUserTestResultsRequest] = None, + real_user_endpoint_test_results_request: Optional[RealUserEndpointTestResultsRequest] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -675,8 +674,8 @@ class RealUserTestsResultsApi: :type end_date: datetime :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. :type cursor: str - :param endpoint_real_user_test_results_request: - :type endpoint_real_user_test_results_request: EndpointRealUserTestResultsRequest + :param real_user_endpoint_test_results_request: + :type real_user_endpoint_test_results_request: RealUserEndpointTestResultsRequest :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 @@ -705,7 +704,7 @@ class RealUserTestsResultsApi: start_date=start_date, end_date=end_date, cursor=cursor, - endpoint_real_user_test_results_request=endpoint_real_user_test_results_request, + real_user_endpoint_test_results_request=real_user_endpoint_test_results_request, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -713,7 +712,7 @@ class RealUserTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "EndpointRealUserTestResults", + '200': "RealUserEndpointTestResults", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -736,7 +735,7 @@ class RealUserTestsResultsApi: start_date, end_date, cursor, - endpoint_real_user_test_results_request, + real_user_endpoint_test_results_request, _request_auth, _content_type, _headers, @@ -798,8 +797,8 @@ class RealUserTestsResultsApi: # process the header parameters # process the form parameters # process the body parameter - if endpoint_real_user_test_results_request is not None: - _body_params = endpoint_real_user_test_results_request + if real_user_endpoint_test_results_request is not None: + _body_params = real_user_endpoint_test_results_request # set the HTTP header `Accept` @@ -832,7 +831,7 @@ class RealUserTestsResultsApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/endpoint/test-results/real-user-tests/filter', + resource_path='/endpoint/test-results/real-user-tests/filter', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -856,7 +855,7 @@ class RealUserTestsResultsApi: start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None, - endpoint_real_user_test_result_request_filter: Optional[EndpointRealUserTestResultRequestFilter] = None, + real_user_endpoint_test_result_request_filter: Optional[RealUserEndpointTestResultRequestFilter] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -869,7 +868,7 @@ class RealUserTestsResultsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RealUserTestPageResults: + ) -> RealUserEndpointTestPageResults: """List endpoint real user tests visited pages Returns a list of all endpoint real user tests visited pages. Sessions from the last round are provided unless an explicit start and end is provided with `startDate`, `endDate` or `window` optional parameters. ## Request body filters This endpoint supports complex filtering using the request body. It is important these filters remain unaltered when making use of pagination, otherwise the results will not be coherent with the original request. ### Multiple filter fields When multiple filter fields are provided, a logical `AND` is applied between the filters. ``` curl --location --request POST 'https://api.thousandeyes.com/v7/endpoint/test-results/real-user-tests/pages/filter' --header 'Authorization: Bearer $token' --header 'Content-Type: application/json' --data-raw '{ \"searchFilters\": { \"platform\": [ \"mac\" ], \"domain\": [ \"thousandeyes.com\" ] }}' ``` ### Filter field with multiple values When a filter field contains multiple values, a logical `OR` is applied between the filter values. ``` curl --location --request POST 'https://api.thousandeyes.com/v7/endpoint/test-results/real-user-tests/pages/filter' --header 'Authorization: Bearer $token' --header 'Content-Type: application/json' --data-raw '{ \"searchFilters\": { \"networkId\": [ \"660b34109d12\", \"660b34109d15\" ] }}' ``` ### Combination of request parameters and body filters ``` curl --location --request POST 'https://api.thousandeyes.com/v7/endpoint/test-results/real-user-tests/pages/filter?window=1w' --header 'Authorization: Bearer $token' --header 'Content-Type: application/json' --data-raw '{ \"searchFilters\": { \"platform\": [ \"mac\" ], \"domain\": [ \"thousandeyes.com\" ], \"networkId\": [ \"660b34109d12\", \"660b34109d15\" ] }}' ``` Returns a `results` array of user loaded pages in an endpoint real user test. Pages shown are from the latest round, or based on the time range specified. @@ -884,8 +883,8 @@ class RealUserTestsResultsApi: :type end_date: datetime :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. :type cursor: str - :param endpoint_real_user_test_result_request_filter: - :type endpoint_real_user_test_result_request_filter: EndpointRealUserTestResultRequestFilter + :param real_user_endpoint_test_result_request_filter: + :type real_user_endpoint_test_result_request_filter: RealUserEndpointTestResultRequestFilter :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 @@ -914,7 +913,7 @@ class RealUserTestsResultsApi: start_date=start_date, end_date=end_date, cursor=cursor, - endpoint_real_user_test_result_request_filter=endpoint_real_user_test_result_request_filter, + real_user_endpoint_test_result_request_filter=real_user_endpoint_test_result_request_filter, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -922,7 +921,7 @@ class RealUserTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "RealUserTestPageResults", + '200': "RealUserEndpointTestPageResults", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -951,7 +950,7 @@ class RealUserTestsResultsApi: start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None, - endpoint_real_user_test_result_request_filter: Optional[EndpointRealUserTestResultRequestFilter] = None, + real_user_endpoint_test_result_request_filter: Optional[RealUserEndpointTestResultRequestFilter] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -964,7 +963,7 @@ class RealUserTestsResultsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[RealUserTestPageResults]: + ) -> ApiResponse[RealUserEndpointTestPageResults]: """List endpoint real user tests visited pages Returns a list of all endpoint real user tests visited pages. Sessions from the last round are provided unless an explicit start and end is provided with `startDate`, `endDate` or `window` optional parameters. ## Request body filters This endpoint supports complex filtering using the request body. It is important these filters remain unaltered when making use of pagination, otherwise the results will not be coherent with the original request. ### Multiple filter fields When multiple filter fields are provided, a logical `AND` is applied between the filters. ``` curl --location --request POST 'https://api.thousandeyes.com/v7/endpoint/test-results/real-user-tests/pages/filter' --header 'Authorization: Bearer $token' --header 'Content-Type: application/json' --data-raw '{ \"searchFilters\": { \"platform\": [ \"mac\" ], \"domain\": [ \"thousandeyes.com\" ] }}' ``` ### Filter field with multiple values When a filter field contains multiple values, a logical `OR` is applied between the filter values. ``` curl --location --request POST 'https://api.thousandeyes.com/v7/endpoint/test-results/real-user-tests/pages/filter' --header 'Authorization: Bearer $token' --header 'Content-Type: application/json' --data-raw '{ \"searchFilters\": { \"networkId\": [ \"660b34109d12\", \"660b34109d15\" ] }}' ``` ### Combination of request parameters and body filters ``` curl --location --request POST 'https://api.thousandeyes.com/v7/endpoint/test-results/real-user-tests/pages/filter?window=1w' --header 'Authorization: Bearer $token' --header 'Content-Type: application/json' --data-raw '{ \"searchFilters\": { \"platform\": [ \"mac\" ], \"domain\": [ \"thousandeyes.com\" ], \"networkId\": [ \"660b34109d12\", \"660b34109d15\" ] }}' ``` Returns a `results` array of user loaded pages in an endpoint real user test. Pages shown are from the latest round, or based on the time range specified. @@ -979,8 +978,8 @@ class RealUserTestsResultsApi: :type end_date: datetime :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. :type cursor: str - :param endpoint_real_user_test_result_request_filter: - :type endpoint_real_user_test_result_request_filter: EndpointRealUserTestResultRequestFilter + :param real_user_endpoint_test_result_request_filter: + :type real_user_endpoint_test_result_request_filter: RealUserEndpointTestResultRequestFilter :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 @@ -1009,7 +1008,7 @@ class RealUserTestsResultsApi: start_date=start_date, end_date=end_date, cursor=cursor, - endpoint_real_user_test_result_request_filter=endpoint_real_user_test_result_request_filter, + real_user_endpoint_test_result_request_filter=real_user_endpoint_test_result_request_filter, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1017,7 +1016,7 @@ class RealUserTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "RealUserTestPageResults", + '200': "RealUserEndpointTestPageResults", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1046,7 +1045,7 @@ class RealUserTestsResultsApi: start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None, - endpoint_real_user_test_result_request_filter: Optional[EndpointRealUserTestResultRequestFilter] = None, + real_user_endpoint_test_result_request_filter: Optional[RealUserEndpointTestResultRequestFilter] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1074,8 +1073,8 @@ class RealUserTestsResultsApi: :type end_date: datetime :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. :type cursor: str - :param endpoint_real_user_test_result_request_filter: - :type endpoint_real_user_test_result_request_filter: EndpointRealUserTestResultRequestFilter + :param real_user_endpoint_test_result_request_filter: + :type real_user_endpoint_test_result_request_filter: RealUserEndpointTestResultRequestFilter :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 @@ -1104,7 +1103,7 @@ class RealUserTestsResultsApi: start_date=start_date, end_date=end_date, cursor=cursor, - endpoint_real_user_test_result_request_filter=endpoint_real_user_test_result_request_filter, + real_user_endpoint_test_result_request_filter=real_user_endpoint_test_result_request_filter, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1112,7 +1111,7 @@ class RealUserTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "RealUserTestPageResults", + '200': "RealUserEndpointTestPageResults", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1135,7 +1134,7 @@ class RealUserTestsResultsApi: start_date, end_date, cursor, - endpoint_real_user_test_result_request_filter, + real_user_endpoint_test_result_request_filter, _request_auth, _content_type, _headers, @@ -1197,8 +1196,8 @@ class RealUserTestsResultsApi: # process the header parameters # process the form parameters # process the body parameter - if endpoint_real_user_test_result_request_filter is not None: - _body_params = endpoint_real_user_test_result_request_filter + if real_user_endpoint_test_result_request_filter is not None: + _body_params = real_user_endpoint_test_result_request_filter # set the HTTP header `Accept` @@ -1231,7 +1230,7 @@ class RealUserTestsResultsApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/endpoint/test-results/real-user-tests/pages/filter', + resource_path='/endpoint/test-results/real-user-tests/pages/filter', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1265,7 +1264,7 @@ class RealUserTestsResultsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RealUserTestPageDetailResult: + ) -> RealUserEndpointTestPageDetailResult: """Retrieve endpoint real user test page Returns details for endpoint real user test web page request. Provides complete waterfall information with all object requests. Sends back detailed endpoint real user test web page request. Returned object has a single field: `har` which is an HAR object according to the HTTP Archive 1.2 specifications. [You can read more about the specification](http://www.softwareishard.com/blog/har-12-spec/). In addition to standard fields, the object har includes a custom property `systemMetrics` which contain metrics about CPU and physical memory usage. Check `SystemMetrics` on schemas tab for more information. @@ -1309,7 +1308,7 @@ class RealUserTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "RealUserTestPageDetailResult", + '200': "RealUserEndpointTestPageDetailResult", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -1347,7 +1346,7 @@ class RealUserTestsResultsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[RealUserTestPageDetailResult]: + ) -> ApiResponse[RealUserEndpointTestPageDetailResult]: """Retrieve endpoint real user test page Returns details for endpoint real user test web page request. Provides complete waterfall information with all object requests. Sends back detailed endpoint real user test web page request. Returned object has a single field: `har` which is an HAR object according to the HTTP Archive 1.2 specifications. [You can read more about the specification](http://www.softwareishard.com/blog/har-12-spec/). In addition to standard fields, the object har includes a custom property `systemMetrics` which contain metrics about CPU and physical memory usage. Check `SystemMetrics` on schemas tab for more information. @@ -1391,7 +1390,7 @@ class RealUserTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "RealUserTestPageDetailResult", + '200': "RealUserEndpointTestPageDetailResult", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -1473,7 +1472,7 @@ class RealUserTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "RealUserTestPageDetailResult", + '200': "RealUserEndpointTestPageDetailResult", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -1543,7 +1542,7 @@ class RealUserTestsResultsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/endpoint/test-results/real-user-tests/{id}/pages/{pageId}', + resource_path='/endpoint/test-results/real-user-tests/{id}/pages/{pageId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1576,7 +1575,7 @@ class RealUserTestsResultsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> EndpointRealUserTestDetailResults: + ) -> RealUserEndpointTestDetailResults: """Retrieve endpoint real user test Provides details for an endpoint real user test. Returns a results array containing detailed information about endpoint real user tests.\" @@ -1617,7 +1616,7 @@ class RealUserTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "EndpointRealUserTestDetailResults", + '200': "RealUserEndpointTestDetailResults", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -1654,7 +1653,7 @@ class RealUserTestsResultsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[EndpointRealUserTestDetailResults]: + ) -> ApiResponse[RealUserEndpointTestDetailResults]: """Retrieve endpoint real user test Provides details for an endpoint real user test. Returns a results array containing detailed information about endpoint real user tests.\" @@ -1695,7 +1694,7 @@ class RealUserTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "EndpointRealUserTestDetailResults", + '200': "RealUserEndpointTestDetailResults", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -1773,7 +1772,7 @@ class RealUserTestsResultsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "EndpointRealUserTestDetailResults", + '200': "RealUserEndpointTestDetailResults", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -1840,7 +1839,7 @@ class RealUserTestsResultsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/endpoint/test-results/real-user-tests/{id}', + resource_path='/endpoint/test-results/real-user-tests/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/web_http_server_scheduled_test_results_api.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/web_http_server_scheduled_test_results_api.py deleted file mode 100644 index 7b4f950d..00000000 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/web_http_server_scheduled_test_results_api.py +++ /dev/null @@ -1,446 +0,0 @@ -# coding: utf-8 - -""" - Endpoint Test Results API - - Retrieve results for scheduled and dynamic tests on endpoint agents. - - The version of the OpenAPI document: 7.0.8 - 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.endpoint_test_results.models - -from datetime import datetime -from pydantic import Field, StrictStr, field_validator -from typing import List, Optional -from typing_extensions import Annotated -from thousandeyes_sdk.endpoint_test_results.models.expand import Expand -from thousandeyes_sdk.endpoint_test_results.models.http_test_results import HttpTestResults - -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 WebHTTPServerScheduledTestResultsApi: - """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-endpoint-test-results")) - self.api_client = api_client - - - @validate_call - def get_http_server_scheduled_test_results( - self, - test_id: Annotated[StrictStr, Field(description="Test 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, - window: Annotated[Optional[Annotated[str, Field(strict=True)]], Field(description="A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`.")] = None, - start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, - end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, - cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None, - expand: Annotated[Optional[List[Expand]], Field(description="This parameter is optional and determines whether to expand resources related to test results. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as \"header,\" append `?expand=header` to the query.")] = 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, - ) -> HttpTestResults: - """Retrieve HTTP server scheduled test results - - Returns component-level (DNS, Connect, Wait and Receive) timing for the load of an object over HTTP. - - :param test_id: Test ID (required) - :type test_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param window: A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. - :type window: str - :param start_date: Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. - :type start_date: datetime - :param end_date: Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. - :type end_date: datetime - :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. - :type cursor: str - :param expand: This parameter is optional and determines whether to expand resources related to test results. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as \"header,\" append `?expand=header` to the query. - :type expand: List[Expand] - :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_http_server_scheduled_test_results_serialize( - test_id=test_id, - aid=aid, - window=window, - start_date=start_date, - end_date=end_date, - cursor=cursor, - expand=expand, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "HttpTestResults", - '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.endpoint_test_results.models, - ).data - - - @validate_call - def get_http_server_scheduled_test_results_with_http_info( - self, - test_id: Annotated[StrictStr, Field(description="Test 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, - window: Annotated[Optional[Annotated[str, Field(strict=True)]], Field(description="A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`.")] = None, - start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, - end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, - cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None, - expand: Annotated[Optional[List[Expand]], Field(description="This parameter is optional and determines whether to expand resources related to test results. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as \"header,\" append `?expand=header` to the query.")] = 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[HttpTestResults]: - """Retrieve HTTP server scheduled test results - - Returns component-level (DNS, Connect, Wait and Receive) timing for the load of an object over HTTP. - - :param test_id: Test ID (required) - :type test_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param window: A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. - :type window: str - :param start_date: Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. - :type start_date: datetime - :param end_date: Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. - :type end_date: datetime - :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. - :type cursor: str - :param expand: This parameter is optional and determines whether to expand resources related to test results. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as \"header,\" append `?expand=header` to the query. - :type expand: List[Expand] - :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_http_server_scheduled_test_results_serialize( - test_id=test_id, - aid=aid, - window=window, - start_date=start_date, - end_date=end_date, - cursor=cursor, - expand=expand, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "HttpTestResults", - '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.endpoint_test_results.models, - ) - - - @validate_call - def get_http_server_scheduled_test_results_without_preload_content( - self, - test_id: Annotated[StrictStr, Field(description="Test 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, - window: Annotated[Optional[Annotated[str, Field(strict=True)]], Field(description="A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`.")] = None, - start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, - end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, - cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = None, - expand: Annotated[Optional[List[Expand]], Field(description="This parameter is optional and determines whether to expand resources related to test results. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as \"header,\" append `?expand=header` to the query.")] = None, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: - """Retrieve HTTP server scheduled test results - - Returns component-level (DNS, Connect, Wait and Receive) timing for the load of an object over HTTP. - - :param test_id: Test ID (required) - :type test_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param window: A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. - :type window: str - :param start_date: Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. - :type start_date: datetime - :param end_date: Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. - :type end_date: datetime - :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. - :type cursor: str - :param expand: This parameter is optional and determines whether to expand resources related to test results. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as \"header,\" append `?expand=header` to the query. - :type expand: List[Expand] - :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_http_server_scheduled_test_results_serialize( - test_id=test_id, - aid=aid, - window=window, - start_date=start_date, - end_date=end_date, - cursor=cursor, - expand=expand, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "HttpTestResults", - '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_http_server_scheduled_test_results_serialize( - self, - test_id, - aid, - window, - start_date, - end_date, - cursor, - expand, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - 'expand': 'csv', - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, Union[str, bytes]] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if test_id is not None: - _path_params['testId'] = test_id - # process the query parameters - if aid is not None: - - _query_params.append(('aid', aid)) - - if window is not None: - - _query_params.append(('window', window)) - - if start_date is not None: - if isinstance(start_date, datetime): - _query_params.append( - ( - 'startDate', - start_date.strftime( - self.api_client.configuration.datetime_format - ) - ) - ) - else: - _query_params.append(('startDate', start_date)) - - if end_date is not None: - if isinstance(end_date, datetime): - _query_params.append( - ( - 'endDate', - end_date.strftime( - self.api_client.configuration.datetime_format - ) - ) - ) - else: - _query_params.append(('endDate', end_date)) - - if cursor is not None: - - _query_params.append(('cursor', cursor)) - - if expand is not None: - - _query_params.append(('expand', expand)) - - # 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='/v7/endpoint/test-results/scheduled-tests/{testId}/http-server', - 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 - ) - - diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/__init__.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/__init__.py index 23d9ff91..49b421c1 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/__init__.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/__init__.py @@ -6,7 +6,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -14,21 +13,17 @@ # import models into model package -from thousandeyes_sdk.endpoint_test_results.models.alert_direction import AlertDirection -from thousandeyes_sdk.endpoint_test_results.models.alert_rounds_violation_mode import AlertRoundsViolationMode -from thousandeyes_sdk.endpoint_test_results.models.alert_rule import AlertRule -from thousandeyes_sdk.endpoint_test_results.models.alert_type import AlertType from thousandeyes_sdk.endpoint_test_results.models.application_score_quality import ApplicationScoreQuality from thousandeyes_sdk.endpoint_test_results.models.asn_details import AsnDetails from thousandeyes_sdk.endpoint_test_results.models.conditional_operator import ConditionalOperator from thousandeyes_sdk.endpoint_test_results.models.cpu_utilization import CpuUtilization -from thousandeyes_sdk.endpoint_test_results.models.dynamic_base_test_result import DynamicBaseTestResult +from thousandeyes_sdk.endpoint_test_results.models.dynamic_base_endpoint_test_result import DynamicBaseEndpointTestResult +from thousandeyes_sdk.endpoint_test_results.models.dynamic_endpoint_test_webex import DynamicEndpointTestWebex +from thousandeyes_sdk.endpoint_test_results.models.dynamic_endpoint_tests_data_round_search import DynamicEndpointTestsDataRoundSearch +from thousandeyes_sdk.endpoint_test_results.models.dynamic_endpoint_tests_data_search_filter import DynamicEndpointTestsDataSearchFilter from thousandeyes_sdk.endpoint_test_results.models.dynamic_test import DynamicTest from thousandeyes_sdk.endpoint_test_results.models.dynamic_test_links import DynamicTestLinks from thousandeyes_sdk.endpoint_test_results.models.dynamic_test_self_link import DynamicTestSelfLink -from thousandeyes_sdk.endpoint_test_results.models.dynamic_test_webex import DynamicTestWebex -from thousandeyes_sdk.endpoint_test_results.models.dynamic_tests_data_round_search import DynamicTestsDataRoundSearch -from thousandeyes_sdk.endpoint_test_results.models.dynamic_tests_data_search_filter import DynamicTestsDataSearchFilter from thousandeyes_sdk.endpoint_test_results.models.endpoint_agent_labels_selector_config import EndpointAgentLabelsSelectorConfig from thousandeyes_sdk.endpoint_test_results.models.endpoint_agent_selector_config import EndpointAgentSelectorConfig from thousandeyes_sdk.endpoint_test_results.models.endpoint_agent_to_server_test import EndpointAgentToServerTest @@ -39,32 +34,44 @@ from thousandeyes_sdk.endpoint_test_results.models.endpoint_http_server_base_tes from thousandeyes_sdk.endpoint_test_results.models.endpoint_http_server_test import EndpointHttpServerTest from thousandeyes_sdk.endpoint_test_results.models.endpoint_network_topology_result_request import EndpointNetworkTopologyResultRequest from thousandeyes_sdk.endpoint_test_results.models.endpoint_network_topology_result_request_filter import EndpointNetworkTopologyResultRequestFilter +from thousandeyes_sdk.endpoint_test_results.models.endpoint_path_trace import EndpointPathTrace +from thousandeyes_sdk.endpoint_test_results.models.endpoint_path_vis_hop import EndpointPathVisHop +from thousandeyes_sdk.endpoint_test_results.models.endpoint_path_vis_route import EndpointPathVisRoute from thousandeyes_sdk.endpoint_test_results.models.endpoint_ping_data_point_score import EndpointPingDataPointScore -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test import EndpointRealUserTest -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test_base import EndpointRealUserTestBase -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test_detail import EndpointRealUserTestDetail -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test_detail_results import EndpointRealUserTestDetailResults -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test_result_request_filter import EndpointRealUserTestResultRequestFilter -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test_results import EndpointRealUserTestResults -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test_results_request import EndpointRealUserTestResultsRequest from thousandeyes_sdk.endpoint_test_results.models.endpoint_result_request_filter import EndpointResultRequestFilter from thousandeyes_sdk.endpoint_test_results.models.endpoint_scheduled_test import EndpointScheduledTest from thousandeyes_sdk.endpoint_test_results.models.endpoint_scheduled_test_type import EndpointScheduledTestType from thousandeyes_sdk.endpoint_test_results.models.endpoint_specific_agents_selector_config import EndpointSpecificAgentsSelectorConfig from thousandeyes_sdk.endpoint_test_results.models.endpoint_test import EndpointTest from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_auth_type import EndpointTestAuthType +from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_ethernet_profile import EndpointTestEthernetProfile from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_links import EndpointTestLinks from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_protocol import EndpointTestProtocol +from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_result import EndpointTestResult +from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_result_protocol import EndpointTestResultProtocol from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_self_link import EndpointTestSelfLink +from thousandeyes_sdk.endpoint_test_results.models.endpoint_tests_data_rounds_search import EndpointTestsDataRoundsSearch +from thousandeyes_sdk.endpoint_test_results.models.endpoint_tests_data_search_filter import EndpointTestsDataSearchFilter +from thousandeyes_sdk.endpoint_test_results.models.endpoint_tests_data_search_sort import EndpointTestsDataSearchSort +from thousandeyes_sdk.endpoint_test_results.models.endpoint_tests_data_search_sort_key import EndpointTestsDataSearchSortKey +from thousandeyes_sdk.endpoint_test_results.models.endpoint_tests_data_threshold_filter import EndpointTestsDataThresholdFilter +from thousandeyes_sdk.endpoint_test_results.models.endpoint_tests_data_threshold_filters import EndpointTestsDataThresholdFilters from thousandeyes_sdk.endpoint_test_results.models.error import Error -from thousandeyes_sdk.endpoint_test_results.models.ethernet_profile import EthernetProfile -from thousandeyes_sdk.endpoint_test_results.models.expand import Expand +from thousandeyes_sdk.endpoint_test_results.models.expand_endpoint_http_server_options import ExpandEndpointHttpServerOptions from thousandeyes_sdk.endpoint_test_results.models.gateway_network_ping import GatewayNetworkPing from thousandeyes_sdk.endpoint_test_results.models.hop import Hop +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_test_result import HttpEndpointTestResult +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_test_result_headers import HttpEndpointTestResultHeaders +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_test_results import HttpEndpointTestResults +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_tests_data_rounds_search import HttpEndpointTestsDataRoundsSearch +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_tests_data_search_filter import HttpEndpointTestsDataSearchFilter +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_tests_data_search_sort import HttpEndpointTestsDataSearchSort +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_tests_data_search_sort_key import HttpEndpointTestsDataSearchSortKey +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_tests_data_threshold_filter import HttpEndpointTestsDataThresholdFilter +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_tests_data_threshold_filters import HttpEndpointTestsDataThresholdFilters from thousandeyes_sdk.endpoint_test_results.models.http_error_type import HttpErrorType -from thousandeyes_sdk.endpoint_test_results.models.http_test_result import HttpTestResult -from thousandeyes_sdk.endpoint_test_results.models.http_test_result_headers import HttpTestResultHeaders -from thousandeyes_sdk.endpoint_test_results.models.http_test_results import HttpTestResults +from thousandeyes_sdk.endpoint_test_results.models.http_multi_endpoint_test_results import HttpMultiEndpointTestResults +from thousandeyes_sdk.endpoint_test_results.models.http_threshold_filter_name import HttpThresholdFilterName from thousandeyes_sdk.endpoint_test_results.models.interface_hardware_type import InterfaceHardwareType from thousandeyes_sdk.endpoint_test_results.models.link import Link from thousandeyes_sdk.endpoint_test_results.models.local_network_result import LocalNetworkResult @@ -73,71 +80,69 @@ from thousandeyes_sdk.endpoint_test_results.models.local_network_topology_detail from thousandeyes_sdk.endpoint_test_results.models.local_network_topology_result import LocalNetworkTopologyResult from thousandeyes_sdk.endpoint_test_results.models.local_network_topology_result_base import LocalNetworkTopologyResultBase from thousandeyes_sdk.endpoint_test_results.models.local_network_topology_results import LocalNetworkTopologyResults -from thousandeyes_sdk.endpoint_test_results.models.multi_test_id_network_test_results import MultiTestIdNetworkTestResults -from thousandeyes_sdk.endpoint_test_results.models.multi_test_id_tests_data_rounds_search import MultiTestIdTestsDataRoundsSearch -from thousandeyes_sdk.endpoint_test_results.models.multi_test_id_tests_data_search_filter import MultiTestIdTestsDataSearchFilter -from thousandeyes_sdk.endpoint_test_results.models.network_dynamic_test_result import NetworkDynamicTestResult -from thousandeyes_sdk.endpoint_test_results.models.network_dynamic_test_results import NetworkDynamicTestResults +from thousandeyes_sdk.endpoint_test_results.models.multi_test_id_endpoint_tests_data_rounds_search import MultiTestIdEndpointTestsDataRoundsSearch +from thousandeyes_sdk.endpoint_test_results.models.multi_test_id_endpoint_tests_data_search_filter import MultiTestIdEndpointTestsDataSearchFilter +from thousandeyes_sdk.endpoint_test_results.models.multi_test_id_network_endpoint_test_results import MultiTestIdNetworkEndpointTestResults +from thousandeyes_sdk.endpoint_test_results.models.network_dynamic_endpoint_test_result import NetworkDynamicEndpointTestResult +from thousandeyes_sdk.endpoint_test_results.models.network_dynamic_endpoint_test_results import NetworkDynamicEndpointTestResults +from thousandeyes_sdk.endpoint_test_results.models.network_endpoint_test_result import NetworkEndpointTestResult +from thousandeyes_sdk.endpoint_test_results.models.network_endpoint_test_results import NetworkEndpointTestResults from thousandeyes_sdk.endpoint_test_results.models.network_interface import NetworkInterface from thousandeyes_sdk.endpoint_test_results.models.network_metrics import NetworkMetrics from thousandeyes_sdk.endpoint_test_results.models.network_ping import NetworkPing from thousandeyes_sdk.endpoint_test_results.models.network_profile import NetworkProfile from thousandeyes_sdk.endpoint_test_results.models.network_proxy import NetworkProxy from thousandeyes_sdk.endpoint_test_results.models.network_proxy_profile import NetworkProxyProfile -from thousandeyes_sdk.endpoint_test_results.models.network_test_result import NetworkTestResult -from thousandeyes_sdk.endpoint_test_results.models.network_test_results import NetworkTestResults from thousandeyes_sdk.endpoint_test_results.models.network_topology_type import NetworkTopologyType from thousandeyes_sdk.endpoint_test_results.models.network_wireless_profile import NetworkWirelessProfile from thousandeyes_sdk.endpoint_test_results.models.pagination_next_and_self_link import PaginationNextAndSelfLink from thousandeyes_sdk.endpoint_test_results.models.pagination_next_link import PaginationNextLink -from thousandeyes_sdk.endpoint_test_results.models.path_vis_base_test_result import PathVisBaseTestResult -from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_dynamic_test_result import PathVisDetailDynamicTestResult -from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_dynamic_test_results import PathVisDetailDynamicTestResults -from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_test_result import PathVisDetailTestResult -from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_test_results import PathVisDetailTestResults -from thousandeyes_sdk.endpoint_test_results.models.path_vis_dynamic_test_result import PathVisDynamicTestResult -from thousandeyes_sdk.endpoint_test_results.models.path_vis_dynamic_test_results import PathVisDynamicTestResults -from thousandeyes_sdk.endpoint_test_results.models.path_vis_endpoint import PathVisEndpoint -from thousandeyes_sdk.endpoint_test_results.models.path_vis_hop import PathVisHop -from thousandeyes_sdk.endpoint_test_results.models.path_vis_route import PathVisRoute -from thousandeyes_sdk.endpoint_test_results.models.path_vis_test_result import PathVisTestResult -from thousandeyes_sdk.endpoint_test_results.models.path_vis_test_results import PathVisTestResults +from thousandeyes_sdk.endpoint_test_results.models.path_vis_base_endpoint_test_result import PathVisBaseEndpointTestResult +from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_dynamic_endpoint_test_result import PathVisDetailDynamicEndpointTestResult +from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_dynamic_endpoint_test_results import PathVisDetailDynamicEndpointTestResults +from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_endpoint_test_result import PathVisDetailEndpointTestResult +from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_endpoint_test_results import PathVisDetailEndpointTestResults +from thousandeyes_sdk.endpoint_test_results.models.path_vis_dynamic_endpoint_test_result import PathVisDynamicEndpointTestResult +from thousandeyes_sdk.endpoint_test_results.models.path_vis_dynamic_endpoint_test_results import PathVisDynamicEndpointTestResults +from thousandeyes_sdk.endpoint_test_results.models.path_vis_endpoint_test_result import PathVisEndpointTestResult +from thousandeyes_sdk.endpoint_test_results.models.path_vis_endpoint_test_results import PathVisEndpointTestResults from thousandeyes_sdk.endpoint_test_results.models.physical_memory_used_bytes import PhysicalMemoryUsedBytes from thousandeyes_sdk.endpoint_test_results.models.platform import Platform -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_coordinates import RealUserTestCoordinates -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_network import RealUserTestNetwork -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_network_result import RealUserTestNetworkResult -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_network_results import RealUserTestNetworkResults -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_page import RealUserTestPage -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_page_detail_result import RealUserTestPageDetailResult -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_page_result import RealUserTestPageResult -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_page_results import RealUserTestPageResults -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_page_timings import RealUserTestPageTimings +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test import RealUserEndpointTest +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_base import RealUserEndpointTestBase +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_coordinates import RealUserEndpointTestCoordinates +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_detail import RealUserEndpointTestDetail +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_detail_results import RealUserEndpointTestDetailResults +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_network import RealUserEndpointTestNetwork +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_network_result import RealUserEndpointTestNetworkResult +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_network_results import RealUserEndpointTestNetworkResults +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_page import RealUserEndpointTestPage +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_page_detail_result import RealUserEndpointTestPageDetailResult +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_page_result import RealUserEndpointTestPageResult +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_page_results import RealUserEndpointTestPageResults +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_page_timings import RealUserEndpointTestPageTimings +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_result_request_filter import RealUserEndpointTestResultRequestFilter +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_results import RealUserEndpointTestResults +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_results_request import RealUserEndpointTestResultsRequest from thousandeyes_sdk.endpoint_test_results.models.self_links import SelfLinks -from thousandeyes_sdk.endpoint_test_results.models.severity import Severity from thousandeyes_sdk.endpoint_test_results.models.sort_order import SortOrder from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics from thousandeyes_sdk.endpoint_test_results.models.target_network_ping import TargetNetworkPing from thousandeyes_sdk.endpoint_test_results.models.target_profile import TargetProfile from thousandeyes_sdk.endpoint_test_results.models.target_traceroute import TargetTraceroute from thousandeyes_sdk.endpoint_test_results.models.tcp_connect import TcpConnect +from thousandeyes_sdk.endpoint_test_results.models.tcp_path_trace_mode_response import TcpPathTraceModeResponse from thousandeyes_sdk.endpoint_test_results.models.test_interval import TestInterval from thousandeyes_sdk.endpoint_test_results.models.test_label import TestLabel from thousandeyes_sdk.endpoint_test_results.models.test_probe_mode_response import TestProbeModeResponse from thousandeyes_sdk.endpoint_test_results.models.test_protocol import TestProtocol -from thousandeyes_sdk.endpoint_test_results.models.test_result import TestResult from thousandeyes_sdk.endpoint_test_results.models.test_ssl_version_id import TestSslVersionId -from thousandeyes_sdk.endpoint_test_results.models.tests_data_rounds_search import TestsDataRoundsSearch -from thousandeyes_sdk.endpoint_test_results.models.tests_data_search_filter import TestsDataSearchFilter -from thousandeyes_sdk.endpoint_test_results.models.tests_data_search_sort import TestsDataSearchSort -from thousandeyes_sdk.endpoint_test_results.models.tests_data_search_sort_key import TestsDataSearchSortKey -from thousandeyes_sdk.endpoint_test_results.models.tests_data_threshold_filter import TestsDataThresholdFilter -from thousandeyes_sdk.endpoint_test_results.models.tests_data_threshold_filters import TestsDataThresholdFilters from thousandeyes_sdk.endpoint_test_results.models.threshold_filter_name import ThresholdFilterName from thousandeyes_sdk.endpoint_test_results.models.threshold_filter_operator import ThresholdFilterOperator from thousandeyes_sdk.endpoint_test_results.models.traceroute import Traceroute from thousandeyes_sdk.endpoint_test_results.models.traceroute_hop import TracerouteHop from thousandeyes_sdk.endpoint_test_results.models.trigger import Trigger +from thousandeyes_sdk.endpoint_test_results.models.udp_path_trace_mode_response import UdpPathTraceModeResponse from thousandeyes_sdk.endpoint_test_results.models.udp_probe_mode_response import UdpProbeModeResponse from thousandeyes_sdk.endpoint_test_results.models.unauthorized_error import UnauthorizedError from thousandeyes_sdk.endpoint_test_results.models.validation_error import ValidationError diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/alert_rule.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/alert_rule.py deleted file mode 100644 index e4e33278..00000000 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/alert_rule.py +++ /dev/null @@ -1,130 +0,0 @@ -# coding: utf-8 - -""" - Endpoint Test Results API - - Retrieve results for scheduled and dynamic tests on endpoint agents. - - The version of the OpenAPI document: 7.0.8 - 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, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.endpoint_test_results.models.alert_direction import AlertDirection -from thousandeyes_sdk.endpoint_test_results.models.alert_rounds_violation_mode import AlertRoundsViolationMode -from thousandeyes_sdk.endpoint_test_results.models.alert_type import AlertType -from thousandeyes_sdk.endpoint_test_results.models.severity import Severity -from typing import Optional, Set -from typing_extensions import Self - -class AlertRule(BaseModel): - """ - AlertRule - """ # noqa: E501 - rule_id: Optional[StrictStr] = Field(default=None, description="Unique ID of the rule", alias="ruleId") - rule_name: Optional[StrictStr] = Field(default=None, description="Name of the alert rule", alias="ruleName") - expression: Optional[StrictStr] = Field(default=None, description="String expression of alert rule") - direction: Optional[AlertDirection] = None - is_default: Optional[StrictBool] = Field(default=None, description="Alert rules allow up to 1 alert rule to be selected as a default for each type. By checking the default option, this alert rule will be automatically included on subsequently created tests that test a metric used in alerting here", alias="isDefault") - alert_type: Optional[AlertType] = Field(default=None, alias="alertType") - minimum_sources: Optional[StrictInt] = Field(default=None, description="The minimum number of agents or monitors that must meet the specified criteria in order to trigger the alert", alias="minimumSources") - minimum_sources_pct: Optional[StrictInt] = Field(default=None, description="the minimum percentage of all assigned agents or monitors that must meet the specified criteria in order to trigger the alert", alias="minimumSourcesPct") - rounds_violating_mode: Optional[AlertRoundsViolationMode] = Field(default=None, alias="roundsViolatingMode") - rounds_violating_out_of: Optional[StrictInt] = Field(default=None, description="Specifies the divisor (y value) for the “X of Y times” condition.", alias="roundsViolatingOutOf") - rounds_violating_required: Optional[StrictInt] = Field(default=None, description="Specifies the numerator (x value) for the “X of Y times” condition", alias="roundsViolatingRequired") - severity: Optional[Severity] = None - __properties: ClassVar[List[str]] = ["ruleId", "ruleName", "expression", "direction", "isDefault", "alertType", "minimumSources", "minimumSourcesPct", "roundsViolatingMode", "roundsViolatingOutOf", "roundsViolatingRequired", "severity"] - - 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 AlertRule 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([ - "rule_id", - "rule_name", - "expression", - "is_default", - "minimum_sources", - "minimum_sources_pct", - "rounds_violating_out_of", - "rounds_violating_required", - ]) - - _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 AlertRule from a dict""" - if obj is None: - return None - - if not isinstance(obj, dict): - return cls.model_validate(obj) - - _obj = cls.model_validate({ - "ruleId": obj.get("ruleId"), - "ruleName": obj.get("ruleName"), - "expression": obj.get("expression"), - "direction": obj.get("direction"), - "isDefault": obj.get("isDefault"), - "alertType": obj.get("alertType"), - "minimumSources": obj.get("minimumSources"), - "minimumSourcesPct": obj.get("minimumSourcesPct"), - "roundsViolatingMode": obj.get("roundsViolatingMode"), - "roundsViolatingOutOf": obj.get("roundsViolatingOutOf"), - "roundsViolatingRequired": obj.get("roundsViolatingRequired"), - "severity": obj.get("severity") - }) - return _obj - - diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/alert_type.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/alert_type.py deleted file mode 100644 index c8b4c294..00000000 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/alert_type.py +++ /dev/null @@ -1,62 +0,0 @@ -# coding: utf-8 - -""" - Endpoint Test Results API - - Retrieve results for scheduled and dynamic tests on endpoint agents. - - The version of the OpenAPI document: 7.0.8 - 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 AlertType(str, Enum): - """ - Type of alert being triggered. In multi-layered tests, this value represents the layer the alert relates to. See [Alert Details](https://developer.cisco.com/docs/thousandeyes/retrieve-alert-details/) documentation for a list of possible values - """ - - """ - allowed enum values - """ - PAGE_MINUS_LOAD = 'page-load' - HTTP_MINUS_SERVER = 'http-server' - END_MINUS_TO_MINUS_END_MINUS_SERVER = 'end-to-end-server' - END_MINUS_TO_MINUS_END_MINUS_AGENT = 'end-to-end-agent' - VOICE = 'voice' - DNS_MINUS_SERVER = 'dns-server' - DNS_MINUS_TRACE = 'dns-trace' - DNSSEC = 'dnssec' - BGP = 'bgp' - PATH_MINUS_TRACE = 'path-trace' - FTP = 'ftp' - SIP_MINUS_SERVER = 'sip-server' - TRANSACTIONS = 'transactions' - WEB_MINUS_TRANSACTIONS = 'web-transactions' - AGENT = 'agent' - NETWORK_MINUS_OUTAGE = 'network-outage' - APPLICATION_MINUS_OUTAGE = 'application-outage' - DEVICE_MINUS_DEVICE = 'device-device' - DEVICE_MINUS_INTERFACE = 'device-interface' - ENDPOINT_MINUS_NETWORK_MINUS_SERVER = 'endpoint-network-server' - ENDPOINT_MINUS_HTTP_MINUS_SERVER = 'endpoint-http-server' - ENDPOINT_MINUS_PATH_MINUS_TRACE = 'endpoint-path-trace' - ENDPOINT_MINUS_BROWSER_MINUS_SESSIONS_MINUS_AGENT = 'endpoint-browser-sessions-agent' - ENDPOINT_MINUS_BROWSER_MINUS_SESSIONS_MINUS_APPLICATION = 'endpoint-browser-sessions-application' - API = 'api' - WEB_MINUS_TRANSACTION = 'web-transaction' - UNKNOWN = 'unknown' - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Create an instance of AlertType from a JSON string""" - return cls(json.loads(json_str)) - - diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/application_score_quality.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/application_score_quality.py index 847c126a..cfb7d5f4 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/application_score_quality.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/application_score_quality.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class ApplicationScoreQuality(str, Enum): GREAT = 'great' GOOD = 'good' POOR = 'poor' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of ApplicationScoreQuality from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/asn_details.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/asn_details.py index b8965b86..c29c49dc 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/asn_details.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/asn_details.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/conditional_operator.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/conditional_operator.py index 67a1d6db..58c2bd62 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/conditional_operator.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/conditional_operator.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class ConditionalOperator(str, Enum): """ AND = 'and' OR = 'or' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of ConditionalOperator from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/cpu_utilization.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/cpu_utilization.py index b3147440..e2e29a08 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/cpu_utilization.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/cpu_utilization.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_base_test_result.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_base_endpoint_test_result.py similarity index 83% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_base_test_result.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_base_endpoint_test_result.py index a6fa5151..9c6896af 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_base_test_result.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_base_endpoint_test_result.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -19,22 +18,22 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.endpoint_test_results.models.dynamic_test_webex import DynamicTestWebex -from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_protocol import EndpointTestProtocol +from thousandeyes_sdk.endpoint_test_results.models.dynamic_endpoint_test_webex import DynamicEndpointTestWebex +from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_result_protocol import EndpointTestResultProtocol from thousandeyes_sdk.endpoint_test_results.models.test_probe_mode_response import TestProbeModeResponse from thousandeyes_sdk.endpoint_test_results.models.udp_probe_mode_response import UdpProbeModeResponse from typing import Optional, Set from typing_extensions import Self -class DynamicBaseTestResult(BaseModel): +class DynamicBaseEndpointTestResult(BaseModel): """ - DynamicBaseTestResult + DynamicBaseEndpointTestResult """ # noqa: E501 application: Optional[StrictStr] = Field(default=None, description="Which supported application to monitor, can be one of `webex`, `zoom`, `microsoft-teams`.") - protocol: Optional[EndpointTestProtocol] = None + protocol: Optional[EndpointTestResultProtocol] = None tcp_probe_mode: Optional[TestProbeModeResponse] = Field(default=None, alias="tcpProbeMode") udp_probe_mode: Optional[UdpProbeModeResponse] = Field(default=None, alias="udpProbeMode") - webex: Optional[DynamicTestWebex] = None + webex: Optional[DynamicEndpointTestWebex] = None __properties: ClassVar[List[str]] = ["application", "protocol", "tcpProbeMode", "udpProbeMode", "webex"] model_config = ConfigDict( @@ -56,7 +55,7 @@ class DynamicBaseTestResult(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of DynamicBaseTestResult from a JSON string""" + """Create an instance of DynamicBaseEndpointTestResult from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -84,7 +83,7 @@ class DynamicBaseTestResult(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of DynamicBaseTestResult from a dict""" + """Create an instance of DynamicBaseEndpointTestResult from a dict""" if obj is None: return None @@ -96,7 +95,7 @@ class DynamicBaseTestResult(BaseModel): "protocol": obj.get("protocol"), "tcpProbeMode": obj.get("tcpProbeMode"), "udpProbeMode": obj.get("udpProbeMode"), - "webex": DynamicTestWebex.from_dict(obj["webex"]) if obj.get("webex") is not None else None + "webex": DynamicEndpointTestWebex.from_dict(obj["webex"]) if obj.get("webex") is not None else None }) return _obj diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_test_webex.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_endpoint_test_webex.py similarity index 94% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_test_webex.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_endpoint_test_webex.py index ea66fc3f..58255da2 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_test_webex.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_endpoint_test_webex.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,7 +21,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self -class DynamicTestWebex(BaseModel): +class DynamicEndpointTestWebex(BaseModel): """ Contains object with webex information. Only returned for webex applications. """ # noqa: E501 @@ -51,7 +50,7 @@ class DynamicTestWebex(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of DynamicTestWebex from a JSON string""" + """Create an instance of DynamicEndpointTestWebex from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -84,7 +83,7 @@ class DynamicTestWebex(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of DynamicTestWebex from a dict""" + """Create an instance of DynamicEndpointTestWebex from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/tests_data_rounds_search.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_endpoint_tests_data_round_search.py similarity index 67% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/tests_data_rounds_search.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_endpoint_tests_data_round_search.py index 40f29229..61511fa0 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/tests_data_rounds_search.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_endpoint_tests_data_round_search.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -19,19 +18,19 @@ import json from pydantic import BaseModel, ConfigDict, Field from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.endpoint_test_results.models.tests_data_search_filter import TestsDataSearchFilter -from thousandeyes_sdk.endpoint_test_results.models.tests_data_search_sort import TestsDataSearchSort -from thousandeyes_sdk.endpoint_test_results.models.tests_data_threshold_filters import TestsDataThresholdFilters +from thousandeyes_sdk.endpoint_test_results.models.dynamic_endpoint_tests_data_search_filter import DynamicEndpointTestsDataSearchFilter +from thousandeyes_sdk.endpoint_test_results.models.endpoint_tests_data_search_sort import EndpointTestsDataSearchSort +from thousandeyes_sdk.endpoint_test_results.models.endpoint_tests_data_threshold_filters import EndpointTestsDataThresholdFilters from typing import Optional, Set from typing_extensions import Self -class TestsDataRoundsSearch(BaseModel): +class DynamicEndpointTestsDataRoundSearch(BaseModel): """ - TestsDataRoundsSearch + DynamicEndpointTestsDataRoundSearch """ # noqa: E501 - search_sort: Optional[List[TestsDataSearchSort]] = Field(default=None, alias="searchSort") - threshold_filter: Optional[TestsDataThresholdFilters] = Field(default=None, alias="thresholdFilter") - search_filters: Optional[TestsDataSearchFilter] = Field(default=None, alias="searchFilters") + search_sort: Optional[List[EndpointTestsDataSearchSort]] = Field(default=None, alias="searchSort") + threshold_filter: Optional[EndpointTestsDataThresholdFilters] = Field(default=None, alias="thresholdFilter") + search_filters: Optional[DynamicEndpointTestsDataSearchFilter] = Field(default=None, alias="searchFilters") __properties: ClassVar[List[str]] = ["searchSort", "thresholdFilter", "searchFilters"] model_config = ConfigDict( @@ -53,7 +52,7 @@ class TestsDataRoundsSearch(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of TestsDataRoundsSearch from a JSON string""" + """Create an instance of DynamicEndpointTestsDataRoundSearch from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -91,7 +90,7 @@ class TestsDataRoundsSearch(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of TestsDataRoundsSearch from a dict""" + """Create an instance of DynamicEndpointTestsDataRoundSearch from a dict""" if obj is None: return None @@ -99,9 +98,9 @@ class TestsDataRoundsSearch(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ - "searchSort": [TestsDataSearchSort.from_dict(_item) for _item in obj["searchSort"]] if obj.get("searchSort") is not None else None, - "thresholdFilter": TestsDataThresholdFilters.from_dict(obj["thresholdFilter"]) if obj.get("thresholdFilter") is not None else None, - "searchFilters": TestsDataSearchFilter.from_dict(obj["searchFilters"]) if obj.get("searchFilters") is not None else None + "searchSort": [EndpointTestsDataSearchSort.from_dict(_item) for _item in obj["searchSort"]] if obj.get("searchSort") is not None else None, + "thresholdFilter": EndpointTestsDataThresholdFilters.from_dict(obj["thresholdFilter"]) if obj.get("thresholdFilter") is not None else None, + "searchFilters": DynamicEndpointTestsDataSearchFilter.from_dict(obj["searchFilters"]) if obj.get("searchFilters") is not None else None }) return _obj diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_tests_data_search_filter.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_endpoint_tests_data_search_filter.py similarity index 90% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_tests_data_search_filter.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_endpoint_tests_data_search_filter.py index e87a6ae6..176c9219 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_tests_data_search_filter.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_endpoint_tests_data_search_filter.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,9 +21,9 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self -class DynamicTestsDataSearchFilter(BaseModel): +class DynamicEndpointTestsDataSearchFilter(BaseModel): """ - DynamicTestsDataSearchFilter + DynamicEndpointTestsDataSearchFilter """ # noqa: E501 agent_id: Optional[List[StrictStr]] = Field(default=None, description="Filter using the `agent-id`.", alias="agentId") webex_conference_id: Optional[List[StrictStr]] = Field(default=None, description="Filter using the `conference-id` of the webex call.", alias="webexConferenceId") @@ -49,7 +48,7 @@ class DynamicTestsDataSearchFilter(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of DynamicTestsDataSearchFilter from a JSON string""" + """Create an instance of DynamicEndpointTestsDataSearchFilter from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -74,7 +73,7 @@ class DynamicTestsDataSearchFilter(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of DynamicTestsDataSearchFilter from a dict""" + """Create an instance of DynamicEndpointTestsDataSearchFilter from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_test.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_test.py index 504d3cb2..15a13a2a 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_test.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_test.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_test_links.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_test_links.py index 86212522..a79e6357 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_test_links.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_test_links.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_test_self_link.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_test_self_link.py index dbd7c035..7bf5bd67 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_test_self_link.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_test_self_link.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_agent_labels_selector_config.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_agent_labels_selector_config.py index 9c55cf57..c12d8c87 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_agent_labels_selector_config.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_agent_labels_selector_config.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,7 +16,7 @@ import pprint import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated from typing import Optional, Set @@ -28,7 +27,7 @@ class EndpointAgentLabelsSelectorConfig(BaseModel): Agent labels selection object. """ # noqa: E501 agent_selector_type: Annotated[str, Field(strict=True)] = Field(alias="agentSelectorType") - max_machines: Optional[Annotated[int, Field(le=50000, strict=True, ge=1)]] = Field(default=None, description="Maximum number of agents which can execute the test.", alias="maxMachines") + max_machines: Optional[StrictInt] = Field(default=25, description="Maximum number of agents which can execute the test.", alias="maxMachines") endpoint_agent_labels: Optional[List[StrictStr]] = Field(default=None, description="List of endpoint agent label IDs (obtained from `/endpoint/labels` endpoint), required when `agentSelectorType` is set to `agent-labels`.", alias="endpointAgentLabels") __properties: ClassVar[List[str]] = ["agentSelectorType", "maxMachines", "endpointAgentLabels"] @@ -92,7 +91,7 @@ class EndpointAgentLabelsSelectorConfig(BaseModel): _obj = cls.model_validate({ "agentSelectorType": obj.get("agentSelectorType"), - "maxMachines": obj.get("maxMachines"), + "maxMachines": obj.get("maxMachines") if obj.get("maxMachines") is not None else 25, "endpointAgentLabels": obj.get("endpointAgentLabels") }) return _obj diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_agent_selector_config.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_agent_selector_config.py index 1f37804f..0a10e051 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_agent_selector_config.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_agent_selector_config.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_agent_to_server_test.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_agent_to_server_test.py index 109661b6..51cf3512 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_agent_to_server_test.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_agent_to_server_test.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,7 +20,6 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr, field_validator from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.endpoint_test_results.models.alert_rule import AlertRule from thousandeyes_sdk.endpoint_test_results.models.endpoint_agent_selector_config import EndpointAgentSelectorConfig from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_links import EndpointTestLinks from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_protocol import EndpointTestProtocol @@ -45,16 +43,15 @@ class EndpointAgentToServerTest(BaseModel): has_path_trace_in_session: Optional[StrictBool] = Field(default=None, description="Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session.", alias="hasPathTraceInSession") modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") - port: Optional[StrictInt] = Field(default=None, description="Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443).") protocol: Optional[EndpointTestProtocol] = None server: Optional[StrictStr] = Field(default=None, description="Target domain name or IP address.") test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned a unique ID to access test data from other endpoints.", alias="testId") test_name: Optional[StrictStr] = Field(default=None, description="Name of the test.", alias="testName") type: Annotated[str, Field(strict=True)] = Field(description="Type of test being queried.") tcp_probe_mode: Optional[TestProbeModeResponse] = Field(default=None, alias="tcpProbeMode") - alert_rules: Optional[List[AlertRule]] = Field(default=None, description="Contains list of enabled alert rule objects.", alias="alertRules") + port: Optional[StrictInt] = Field(default=443, description="Port number.") labels: Optional[List[TestLabel]] = None - __properties: ClassVar[List[str]] = ["aid", "_links", "agentSelectorConfig", "createdDate", "interval", "isEnabled", "isSavedEvent", "hasPathTraceInSession", "modifiedDate", "networkMeasurements", "port", "protocol", "server", "testId", "testName", "type", "tcpProbeMode", "alertRules", "labels"] + __properties: ClassVar[List[str]] = ["aid", "_links", "agentSelectorConfig", "createdDate", "interval", "isEnabled", "isSavedEvent", "hasPathTraceInSession", "modifiedDate", "networkMeasurements", "protocol", "server", "testId", "testName", "type", "tcpProbeMode", "port", "labels"] @field_validator('type') def type_validate_regular_expression(cls, value): @@ -121,13 +118,6 @@ class EndpointAgentToServerTest(BaseModel): # override the default output from pydantic by calling `to_dict()` of agent_selector_config if self.agent_selector_config: _dict['agentSelectorConfig'] = self.agent_selector_config.to_dict() - # override the default output from pydantic by calling `to_dict()` of each item in alert_rules (list) - _items = [] - if self.alert_rules: - for _item in self.alert_rules: - if _item: - _items.append(_item.to_dict()) - _dict['alertRules'] = _items # override the default output from pydantic by calling `to_dict()` of each item in labels (list) _items = [] if self.labels: @@ -157,14 +147,13 @@ class EndpointAgentToServerTest(BaseModel): "hasPathTraceInSession": obj.get("hasPathTraceInSession"), "modifiedDate": obj.get("modifiedDate"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, - "port": obj.get("port"), "protocol": obj.get("protocol"), "server": obj.get("server"), "testId": obj.get("testId"), "testName": obj.get("testName"), "type": obj.get("type"), "tcpProbeMode": obj.get("tcpProbeMode"), - "alertRules": [AlertRule.from_dict(_item) for _item in obj["alertRules"]] if obj.get("alertRules") is not None else None, + "port": obj.get("port") if obj.get("port") is not None else 443, "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None }) return _obj diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_all_agents_selector_config.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_all_agents_selector_config.py index fff4f025..70ab2c18 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_all_agents_selector_config.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_all_agents_selector_config.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,7 +16,7 @@ import pprint import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, field_validator +from pydantic import BaseModel, ConfigDict, Field, StrictInt, field_validator from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated from typing import Optional, Set @@ -28,7 +27,7 @@ class EndpointAllAgentsSelectorConfig(BaseModel): Any agent selection object. """ # noqa: E501 agent_selector_type: Annotated[str, Field(strict=True)] = Field(alias="agentSelectorType") - max_machines: Optional[Annotated[int, Field(le=50000, strict=True, ge=1)]] = Field(default=None, description="Maximum number of agents which can execute the test.", alias="maxMachines") + max_machines: Optional[StrictInt] = Field(default=25, description="Maximum number of agents which can execute the test.", alias="maxMachines") __properties: ClassVar[List[str]] = ["agentSelectorType", "maxMachines"] @field_validator('agent_selector_type') @@ -91,7 +90,7 @@ class EndpointAllAgentsSelectorConfig(BaseModel): _obj = cls.model_validate({ "agentSelectorType": obj.get("agentSelectorType"), - "maxMachines": obj.get("maxMachines") + "maxMachines": obj.get("maxMachines") if obj.get("maxMachines") is not None else 25 }) return _obj diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_browser.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_browser.py index 9c89e2c8..4b68f556 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_browser.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_browser.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_http_data_point_score.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_http_data_point_score.py index 7353762a..88124630 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_http_data_point_score.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_http_data_point_score.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_http_server_base_test.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_http_server_base_test.py index baefb05d..55765c1b 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_http_server_base_test.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_http_server_base_test.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -32,14 +31,14 @@ class EndpointHttpServerBaseTest(BaseModel): """ # noqa: E501 auth_type: Optional[EndpointTestAuthType] = Field(default=None, alias="authType") has_path_trace_in_session: Optional[StrictBool] = Field(default=None, description="Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session.", alias="hasPathTraceInSession") - http_time_limit: Optional[StrictInt] = Field(default=None, description="Maximum amount of time in milliseconds the agents wait before a request times out.", alias="httpTimeLimit") + http_time_limit: Optional[StrictInt] = Field(default=5000, description="Maximum amount of time in milliseconds the agents wait before a request times out.", alias="httpTimeLimit") protocol: Optional[EndpointTestProtocol] = None - url: Optional[StrictStr] = Field(default=None, description="Test target URL. Optionally, you can specify a protocol (http or https). If no protocol is provided, the default `https` protocol is used.") username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") ssl_version_id: Optional[TestSslVersionId] = Field(default=None, alias="sslVersionId") tcp_probe_mode: Optional[TestProbeModeResponse] = Field(default=None, alias="tcpProbeMode") - verify_certificate: Optional[StrictBool] = Field(default=None, description="Flag indicating if a certificate should be verified.", alias="verifyCertificate") - __properties: ClassVar[List[str]] = ["authType", "hasPathTraceInSession", "httpTimeLimit", "protocol", "url", "username", "sslVersionId", "tcpProbeMode", "verifyCertificate"] + verify_certificate: Optional[StrictBool] = Field(default=True, description="Flag indicating if a certificate should be verified.", alias="verifyCertificate") + url: Optional[StrictStr] = Field(default=None, description="The test target URL.") + __properties: ClassVar[List[str]] = ["authType", "hasPathTraceInSession", "httpTimeLimit", "protocol", "username", "sslVersionId", "tcpProbeMode", "verifyCertificate", "url"] model_config = ConfigDict( populate_by_name=True, @@ -95,13 +94,13 @@ class EndpointHttpServerBaseTest(BaseModel): _obj = cls.model_validate({ "authType": obj.get("authType"), "hasPathTraceInSession": obj.get("hasPathTraceInSession"), - "httpTimeLimit": obj.get("httpTimeLimit"), + "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5000, "protocol": obj.get("protocol"), - "url": obj.get("url"), "username": obj.get("username"), "sslVersionId": obj.get("sslVersionId"), "tcpProbeMode": obj.get("tcpProbeMode"), - "verifyCertificate": obj.get("verifyCertificate") + "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else True, + "url": obj.get("url") }) return _obj diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_http_server_test.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_http_server_test.py index f3bb554a..ce391fba 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_http_server_test.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_http_server_test.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,7 +20,6 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr, field_validator from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.endpoint_test_results.models.alert_rule import AlertRule from thousandeyes_sdk.endpoint_test_results.models.endpoint_agent_selector_config import EndpointAgentSelectorConfig from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_auth_type import EndpointTestAuthType from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_links import EndpointTestLinks @@ -47,30 +45,26 @@ class EndpointHttpServerTest(BaseModel): has_path_trace_in_session: Optional[StrictBool] = Field(default=None, description="Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session.", alias="hasPathTraceInSession") modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") - port: Optional[StrictInt] = Field(default=None, description="Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443).") protocol: Optional[EndpointTestProtocol] = None server: Optional[StrictStr] = Field(default=None, description="Target domain name or IP address.") test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned a unique ID to access test data from other endpoints.", alias="testId") test_name: Optional[StrictStr] = Field(default=None, description="Name of the test.", alias="testName") type: Annotated[str, Field(strict=True)] = Field(description="Type of test being queried.") tcp_probe_mode: Optional[TestProbeModeResponse] = Field(default=None, alias="tcpProbeMode") - alert_rules: Optional[List[AlertRule]] = Field(default=None, description="Contains list of enabled alert rule objects.", alias="alertRules") + port: Optional[StrictInt] = Field(default=443, description="Port number.") auth_type: Optional[EndpointTestAuthType] = Field(default=None, alias="authType") - http_time_limit: Optional[StrictInt] = Field(default=None, description="Maximum amount of time in milliseconds the agents wait before a request times out.", alias="httpTimeLimit") - url: Optional[StrictStr] = Field(default=None, description="Test target URL. Optionally, you can specify a protocol (http or https). If no protocol is provided, the default `https` protocol is used.") + http_time_limit: Optional[StrictInt] = Field(default=5000, description="Maximum amount of time in milliseconds the agents wait before a request times out.", alias="httpTimeLimit") username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") ssl_version_id: Optional[TestSslVersionId] = Field(default=None, alias="sslVersionId") - verify_certificate: Optional[StrictBool] = Field(default=None, description="Flag indicating if a certificate should be verified.", alias="verifyCertificate") - content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") + verify_certificate: Optional[StrictBool] = Field(default=True, description="Flag indicating if a certificate should be verified.", alias="verifyCertificate") + url: Optional[StrictStr] = Field(default=None, description="The test target URL.") follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") http_version: Optional[Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(default=2, description="HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1.", alias="httpVersion") - post_body: Optional[StrictStr] = Field(default=None, description="Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST.", alias="postBody") ssl_version: Optional[StrictStr] = Field(default=None, description="Reflects the verbose SSL protocol version used by a test.", alias="sslVersion") use_ntlm: Optional[StrictBool] = Field(default=None, description="Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set.", alias="useNtlm") - user_agent: Optional[StrictStr] = Field(default=None, description="User-agent string to be provided during the test.", alias="userAgent") labels: Optional[List[TestLabel]] = None - __properties: ClassVar[List[str]] = ["aid", "_links", "agentSelectorConfig", "createdDate", "interval", "isEnabled", "isSavedEvent", "hasPathTraceInSession", "modifiedDate", "networkMeasurements", "port", "protocol", "server", "testId", "testName", "type", "tcpProbeMode", "alertRules", "authType", "httpTimeLimit", "url", "username", "sslVersionId", "verifyCertificate", "contentRegex", "followRedirects", "httpTargetTime", "httpVersion", "postBody", "sslVersion", "useNtlm", "userAgent", "labels"] + __properties: ClassVar[List[str]] = ["aid", "_links", "agentSelectorConfig", "createdDate", "interval", "isEnabled", "isSavedEvent", "hasPathTraceInSession", "modifiedDate", "networkMeasurements", "protocol", "server", "testId", "testName", "type", "tcpProbeMode", "port", "authType", "httpTimeLimit", "username", "sslVersionId", "verifyCertificate", "url", "followRedirects", "httpTargetTime", "httpVersion", "sslVersion", "useNtlm", "labels"] @field_validator('type') def type_validate_regular_expression(cls, value): @@ -139,13 +133,6 @@ class EndpointHttpServerTest(BaseModel): # override the default output from pydantic by calling `to_dict()` of agent_selector_config if self.agent_selector_config: _dict['agentSelectorConfig'] = self.agent_selector_config.to_dict() - # override the default output from pydantic by calling `to_dict()` of each item in alert_rules (list) - _items = [] - if self.alert_rules: - for _item in self.alert_rules: - if _item: - _items.append(_item.to_dict()) - _dict['alertRules'] = _items # override the default output from pydantic by calling `to_dict()` of each item in labels (list) _items = [] if self.labels: @@ -175,28 +162,24 @@ class EndpointHttpServerTest(BaseModel): "hasPathTraceInSession": obj.get("hasPathTraceInSession"), "modifiedDate": obj.get("modifiedDate"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, - "port": obj.get("port"), "protocol": obj.get("protocol"), "server": obj.get("server"), "testId": obj.get("testId"), "testName": obj.get("testName"), "type": obj.get("type"), "tcpProbeMode": obj.get("tcpProbeMode"), - "alertRules": [AlertRule.from_dict(_item) for _item in obj["alertRules"]] if obj.get("alertRules") is not None else None, + "port": obj.get("port") if obj.get("port") is not None else 443, "authType": obj.get("authType"), - "httpTimeLimit": obj.get("httpTimeLimit"), - "url": obj.get("url"), + "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5000, "username": obj.get("username"), "sslVersionId": obj.get("sslVersionId"), - "verifyCertificate": obj.get("verifyCertificate"), - "contentRegex": obj.get("contentRegex"), + "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else True, + "url": obj.get("url"), "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, "httpTargetTime": obj.get("httpTargetTime"), "httpVersion": obj.get("httpVersion") if obj.get("httpVersion") is not None else 2, - "postBody": obj.get("postBody"), "sslVersion": obj.get("sslVersion"), "useNtlm": obj.get("useNtlm"), - "userAgent": obj.get("userAgent"), "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None }) return _obj diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_network_topology_result_request.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_network_topology_result_request.py index 9eb666f2..5ca9c654 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_network_topology_result_request.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_network_topology_result_request.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_network_topology_result_request_filter.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_network_topology_result_request_filter.py index a1ea3c8d..33124943 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_network_topology_result_request_filter.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_network_topology_result_request_filter.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_endpoint.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_path_trace.py similarity index 75% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_endpoint.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_path_trace.py index f753f42b..dc328b62 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_endpoint.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_path_trace.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -19,18 +18,24 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_result_protocol import EndpointTestResultProtocol +from thousandeyes_sdk.endpoint_test_results.models.tcp_path_trace_mode_response import TcpPathTraceModeResponse +from thousandeyes_sdk.endpoint_test_results.models.udp_path_trace_mode_response import UdpPathTraceModeResponse from typing import Optional, Set from typing_extensions import Self -class PathVisEndpoint(BaseModel): +class EndpointPathTrace(BaseModel): """ - PathVisEndpoint + EndpointPathTrace """ # noqa: E501 ip_address: Optional[StrictStr] = Field(default=None, description="IP address of the hop destination.", alias="ipAddress") number_of_hops: Optional[StrictInt] = Field(default=None, description="Number of hops for path trace to destination.", alias="numberOfHops") + protocol: Optional[EndpointTestResultProtocol] = None + tcp_path_trace_mode: Optional[TcpPathTraceModeResponse] = Field(default=None, alias="tcpPathTraceMode") + udp_path_trace_mode: Optional[UdpPathTraceModeResponse] = Field(default=None, alias="udpPathTraceMode") path_id: Optional[StrictStr] = Field(default=None, description="Unique ID of path trace.", alias="pathId") response_time: Optional[StrictInt] = Field(default=None, description="RTT of the path trace to the destination in milliseconds.", alias="responseTime") - __properties: ClassVar[List[str]] = ["ipAddress", "numberOfHops", "pathId", "responseTime"] + __properties: ClassVar[List[str]] = ["ipAddress", "numberOfHops", "protocol", "tcpPathTraceMode", "udpPathTraceMode", "pathId", "responseTime"] model_config = ConfigDict( populate_by_name=True, @@ -51,7 +56,7 @@ class PathVisEndpoint(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of PathVisEndpoint from a JSON string""" + """Create an instance of EndpointPathTrace from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -84,7 +89,7 @@ class PathVisEndpoint(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of PathVisEndpoint from a dict""" + """Create an instance of EndpointPathTrace from a dict""" if obj is None: return None @@ -94,6 +99,9 @@ class PathVisEndpoint(BaseModel): _obj = cls.model_validate({ "ipAddress": obj.get("ipAddress"), "numberOfHops": obj.get("numberOfHops"), + "protocol": obj.get("protocol"), + "tcpPathTraceMode": obj.get("tcpPathTraceMode"), + "udpPathTraceMode": obj.get("udpPathTraceMode"), "pathId": obj.get("pathId"), "responseTime": obj.get("responseTime") }) diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_hop.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_path_vis_hop.py similarity index 94% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_hop.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_path_vis_hop.py index 5d9af1b6..4c5098c6 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_hop.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_path_vis_hop.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,9 +21,9 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self -class PathVisHop(BaseModel): +class EndpointPathVisHop(BaseModel): """ - PathVisHop + EndpointPathVisHop """ # noqa: E501 hop: Optional[StrictInt] = Field(default=None, description="The hop index.") ip_address: Optional[StrictStr] = Field(default=None, description="IP address of the hop.", alias="ipAddress") @@ -54,7 +53,7 @@ class PathVisHop(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of PathVisHop from a JSON string""" + """Create an instance of EndpointPathVisHop from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -93,7 +92,7 @@ class PathVisHop(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of PathVisHop from a dict""" + """Create an instance of EndpointPathVisHop from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_path_vis_route.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_path_vis_route.py new file mode 100644 index 00000000..3cf3d65b --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_path_vis_route.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + Endpoint Test Results API + + Retrieve results for scheduled and dynamic tests on endpoint 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 thousandeyes_sdk.endpoint_test_results.models.endpoint_path_vis_hop import EndpointPathVisHop +from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_result_protocol import EndpointTestResultProtocol +from thousandeyes_sdk.endpoint_test_results.models.tcp_path_trace_mode_response import TcpPathTraceModeResponse +from thousandeyes_sdk.endpoint_test_results.models.udp_path_trace_mode_response import UdpPathTraceModeResponse +from typing import Optional, Set +from typing_extensions import Self + +class EndpointPathVisRoute(BaseModel): + """ + EndpointPathVisRoute + """ # noqa: E501 + path_id: Optional[StrictStr] = Field(default=None, description="Unique ID of path trace.", alias="pathId") + protocol: Optional[EndpointTestResultProtocol] = None + tcp_path_trace_mode: Optional[TcpPathTraceModeResponse] = Field(default=None, alias="tcpPathTraceMode") + udp_path_trace_mode: Optional[UdpPathTraceModeResponse] = Field(default=None, alias="udpPathTraceMode") + hops: Optional[List[EndpointPathVisHop]] = Field(default=None, description="Array of hop objects indicating each step in the traceroute.") + __properties: ClassVar[List[str]] = ["pathId", "protocol", "tcpPathTraceMode", "udpPathTraceMode", "hops"] + + 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 EndpointPathVisRoute from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "path_id", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in hops (list) + _items = [] + if self.hops: + for _item in self.hops: + if _item: + _items.append(_item.to_dict()) + _dict['hops'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of EndpointPathVisRoute from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "pathId": obj.get("pathId"), + "protocol": obj.get("protocol"), + "tcpPathTraceMode": obj.get("tcpPathTraceMode"), + "udpPathTraceMode": obj.get("udpPathTraceMode"), + "hops": [EndpointPathVisHop.from_dict(_item) for _item in obj["hops"]] if obj.get("hops") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_ping_data_point_score.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_ping_data_point_score.py index 5b13e175..e08adb30 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_ping_data_point_score.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_ping_data_point_score.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_result_request_filter.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_result_request_filter.py index b197c300..f146d6ba 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_result_request_filter.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_result_request_filter.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_scheduled_test.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_scheduled_test.py index a2a7f751..2c985b9e 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_scheduled_test.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_scheduled_test.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_scheduled_test_type.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_scheduled_test_type.py index 72f85461..0be8e3f7 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_scheduled_test_type.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_scheduled_test_type.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class EndpointScheduledTestType(str, Enum): """ AGENT_MINUS_TO_MINUS_SERVER = 'agent-to-server' HTTP_MINUS_SERVER = 'http-server' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of EndpointScheduledTestType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_specific_agents_selector_config.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_specific_agents_selector_config.py index 33fab5b4..ea36a795 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_specific_agents_selector_config.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_specific_agents_selector_config.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,7 +16,7 @@ import pprint import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated from typing import Optional, Set @@ -28,7 +27,7 @@ class EndpointSpecificAgentsSelectorConfig(BaseModel): Specific agents selection object. """ # noqa: E501 agent_selector_type: Annotated[str, Field(strict=True)] = Field(alias="agentSelectorType") - max_machines: Optional[Annotated[int, Field(le=50000, strict=True, ge=1)]] = Field(default=None, description="Maximum number of agents which can execute the test.", alias="maxMachines") + max_machines: Optional[StrictInt] = Field(default=25, description="Maximum number of agents which can execute the test.", alias="maxMachines") agents: Optional[List[StrictStr]] = Field(default=None, description="List of endpoint agent IDs (obtained from `/endpoint/agents` endpoint). Required when `agentSelectorType` is set to `specific-agent`.") __properties: ClassVar[List[str]] = ["agentSelectorType", "maxMachines", "agents"] @@ -92,7 +91,7 @@ class EndpointSpecificAgentsSelectorConfig(BaseModel): _obj = cls.model_validate({ "agentSelectorType": obj.get("agentSelectorType"), - "maxMachines": obj.get("maxMachines"), + "maxMachines": obj.get("maxMachines") if obj.get("maxMachines") is not None else 25, "agents": obj.get("agents") }) return _obj diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test.py index f3fec6b1..b4412bba 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,7 +19,6 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.endpoint_test_results.models.alert_rule import AlertRule from thousandeyes_sdk.endpoint_test_results.models.endpoint_agent_selector_config import EndpointAgentSelectorConfig from thousandeyes_sdk.endpoint_test_results.models.endpoint_scheduled_test_type import EndpointScheduledTestType from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_links import EndpointTestLinks @@ -44,15 +42,14 @@ class EndpointTest(BaseModel): has_path_trace_in_session: Optional[StrictBool] = Field(default=None, description="Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session.", alias="hasPathTraceInSession") modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") - port: Optional[StrictInt] = Field(default=None, description="Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443).") protocol: Optional[EndpointTestProtocol] = None server: Optional[StrictStr] = Field(default=None, description="Target domain name or IP address.") test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned a unique ID to access test data from other endpoints.", alias="testId") test_name: Optional[StrictStr] = Field(default=None, description="Name of the test.", alias="testName") type: EndpointScheduledTestType tcp_probe_mode: Optional[TestProbeModeResponse] = Field(default=None, alias="tcpProbeMode") - alert_rules: Optional[List[AlertRule]] = Field(default=None, description="Contains list of enabled alert rule objects.", alias="alertRules") - __properties: ClassVar[List[str]] = ["aid", "_links", "agentSelectorConfig", "createdDate", "interval", "isEnabled", "isSavedEvent", "hasPathTraceInSession", "modifiedDate", "networkMeasurements", "port", "protocol", "server", "testId", "testName", "type", "tcpProbeMode", "alertRules"] + port: Optional[StrictInt] = Field(default=443, description="Port number.") + __properties: ClassVar[List[str]] = ["aid", "_links", "agentSelectorConfig", "createdDate", "interval", "isEnabled", "isSavedEvent", "hasPathTraceInSession", "modifiedDate", "networkMeasurements", "protocol", "server", "testId", "testName", "type", "tcpProbeMode", "port"] model_config = ConfigDict( populate_by_name=True, @@ -108,13 +105,6 @@ class EndpointTest(BaseModel): # override the default output from pydantic by calling `to_dict()` of agent_selector_config if self.agent_selector_config: _dict['agentSelectorConfig'] = self.agent_selector_config.to_dict() - # override the default output from pydantic by calling `to_dict()` of each item in alert_rules (list) - _items = [] - if self.alert_rules: - for _item in self.alert_rules: - if _item: - _items.append(_item.to_dict()) - _dict['alertRules'] = _items return _dict @classmethod @@ -137,14 +127,13 @@ class EndpointTest(BaseModel): "hasPathTraceInSession": obj.get("hasPathTraceInSession"), "modifiedDate": obj.get("modifiedDate"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, - "port": obj.get("port"), "protocol": obj.get("protocol"), "server": obj.get("server"), "testId": obj.get("testId"), "testName": obj.get("testName"), "type": obj.get("type"), "tcpProbeMode": obj.get("tcpProbeMode"), - "alertRules": [AlertRule.from_dict(_item) for _item in obj["alertRules"]] if obj.get("alertRules") is not None else None + "port": obj.get("port") if obj.get("port") is not None else 443 }) return _obj diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test_auth_type.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test_auth_type.py index e28ed8b3..f42e27ff 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test_auth_type.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test_auth_type.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class EndpointTestAuthType(str, Enum): NONE = 'none' BASIC = 'basic' NTLM = 'ntlm' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of EndpointTestAuthType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/ethernet_profile.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test_ethernet_profile.py similarity index 91% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/ethernet_profile.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test_ethernet_profile.py index 32501876..0d203be4 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/ethernet_profile.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test_ethernet_profile.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,9 +21,9 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self -class EthernetProfile(BaseModel): +class EndpointTestEthernetProfile(BaseModel): """ - EthernetProfile + EndpointTestEthernetProfile """ # noqa: E501 link_speed: Optional[StrictInt] = Field(default=None, description="Ethernet profile link speed", alias="linkSpeed") __properties: ClassVar[List[str]] = ["linkSpeed"] @@ -48,7 +47,7 @@ class EthernetProfile(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of EthernetProfile from a JSON string""" + """Create an instance of EndpointTestEthernetProfile from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -75,7 +74,7 @@ class EthernetProfile(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of EthernetProfile from a dict""" + """Create an instance of EndpointTestEthernetProfile from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test_links.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test_links.py index f70496b6..2d19a4b3 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test_links.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test_links.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test_protocol.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test_protocol.py index 6e419959..5dab076a 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test_protocol.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test_protocol.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,7 +19,7 @@ from typing_extensions import Self class EndpointTestProtocol(str, Enum): """ - Protocol used to perform the test. + Protocol requested for the test. """ """ @@ -32,10 +31,15 @@ class EndpointTestProtocol(str, Enum): PREFER_MINUS_TCP = 'prefer-tcp' AST_MINUS_AUTODETECT = 'ast-autodetect' AUTODETECT = 'autodetect' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of EndpointTestProtocol from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/test_result.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test_result.py similarity index 89% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/test_result.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test_result.py index 73c947bf..61fab118 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/test_result.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test_result.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -26,11 +25,12 @@ from thousandeyes_sdk.endpoint_test_results.models.vpn_profile import VpnProfile from typing import Optional, Set from typing_extensions import Self -class TestResult(BaseModel): +class EndpointTestResult(BaseModel): """ - TestResult + EndpointTestResult """ # noqa: E501 aid: Optional[StrictStr] = Field(default=None, description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint.") + test_id: Optional[StrictStr] = Field(default=None, description="Unique ID of endpoint test.", alias="testId") agent_id: Optional[StrictStr] = Field(default=None, description="Unique ID of endpoint agent, from `/endpoint/agents` endpoint.", alias="agentId") round_id: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the start time of the round.", alias="roundId") server_ip: Optional[StrictStr] = Field(default=None, description="IP address of target server.", alias="serverIp") @@ -38,7 +38,7 @@ class TestResult(BaseModel): system_metrics: Optional[SystemMetrics] = Field(default=None, alias="systemMetrics") original_target_profile: Optional[TargetProfile] = Field(default=None, alias="originalTargetProfile") vpn_profile: Optional[VpnProfile] = Field(default=None, alias="vpnProfile") - __properties: ClassVar[List[str]] = ["aid", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "vpnProfile"] + __properties: ClassVar[List[str]] = ["aid", "testId", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "vpnProfile"] model_config = ConfigDict( populate_by_name=True, @@ -59,7 +59,7 @@ class TestResult(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of TestResult from a JSON string""" + """Create an instance of EndpointTestResult from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -74,8 +74,10 @@ class TestResult(BaseModel): * 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([ + "test_id", "agent_id", "round_id", "server_ip", @@ -102,7 +104,7 @@ class TestResult(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of TestResult from a dict""" + """Create an instance of EndpointTestResult from a dict""" if obj is None: return None @@ -111,6 +113,7 @@ class TestResult(BaseModel): _obj = cls.model_validate({ "aid": obj.get("aid"), + "testId": obj.get("testId"), "agentId": obj.get("agentId"), "roundId": obj.get("roundId"), "serverIp": obj.get("serverIp"), diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/alert_direction.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test_result_protocol.py similarity index 53% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/alert_direction.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test_result_protocol.py index 5d86306c..b18bb73e 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/alert_direction.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test_result_protocol.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -18,21 +17,29 @@ from enum import Enum from typing_extensions import Self -class AlertDirection(str, Enum): +class EndpointTestResultProtocol(str, Enum): """ - Direction for applicable alert types (eg. path trace, End-to-End (Agent) etc.) + Protocol used to perform the test. """ """ allowed enum values """ - TO_MINUS_TARGET = 'to-target' - FROM_MINUS_TARGET = 'from-target' - BIDIRECTIONAL = 'bidirectional' + ICMP = 'icmp' + TCP = 'tcp' + UDP = 'udp' + PREFER_MINUS_TCP = 'prefer-tcp' + AST_MINUS_AUTODETECT = 'ast-autodetect' + AUTODETECT = 'autodetect' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: - """Create an instance of AlertDirection from a JSON string""" + """Create an instance of EndpointTestResultProtocol from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test_self_link.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test_self_link.py index bcb12d15..33f76384 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test_self_link.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_test_self_link.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_tests_data_round_search.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_tests_data_rounds_search.py similarity index 68% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_tests_data_round_search.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_tests_data_rounds_search.py index 89fb67a2..2e4c7a00 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/dynamic_tests_data_round_search.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_tests_data_rounds_search.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -19,19 +18,19 @@ import json from pydantic import BaseModel, ConfigDict, Field from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.endpoint_test_results.models.dynamic_tests_data_search_filter import DynamicTestsDataSearchFilter -from thousandeyes_sdk.endpoint_test_results.models.tests_data_search_sort import TestsDataSearchSort -from thousandeyes_sdk.endpoint_test_results.models.tests_data_threshold_filters import TestsDataThresholdFilters +from thousandeyes_sdk.endpoint_test_results.models.endpoint_tests_data_search_filter import EndpointTestsDataSearchFilter +from thousandeyes_sdk.endpoint_test_results.models.endpoint_tests_data_search_sort import EndpointTestsDataSearchSort +from thousandeyes_sdk.endpoint_test_results.models.endpoint_tests_data_threshold_filters import EndpointTestsDataThresholdFilters from typing import Optional, Set from typing_extensions import Self -class DynamicTestsDataRoundSearch(BaseModel): +class EndpointTestsDataRoundsSearch(BaseModel): """ - DynamicTestsDataRoundSearch + EndpointTestsDataRoundsSearch """ # noqa: E501 - search_sort: Optional[List[TestsDataSearchSort]] = Field(default=None, alias="searchSort") - threshold_filter: Optional[TestsDataThresholdFilters] = Field(default=None, alias="thresholdFilter") - search_filters: Optional[DynamicTestsDataSearchFilter] = Field(default=None, alias="searchFilters") + search_sort: Optional[List[EndpointTestsDataSearchSort]] = Field(default=None, alias="searchSort") + threshold_filter: Optional[EndpointTestsDataThresholdFilters] = Field(default=None, alias="thresholdFilter") + search_filters: Optional[EndpointTestsDataSearchFilter] = Field(default=None, alias="searchFilters") __properties: ClassVar[List[str]] = ["searchSort", "thresholdFilter", "searchFilters"] model_config = ConfigDict( @@ -53,7 +52,7 @@ class DynamicTestsDataRoundSearch(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of DynamicTestsDataRoundSearch from a JSON string""" + """Create an instance of EndpointTestsDataRoundsSearch from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -91,7 +90,7 @@ class DynamicTestsDataRoundSearch(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of DynamicTestsDataRoundSearch from a dict""" + """Create an instance of EndpointTestsDataRoundsSearch from a dict""" if obj is None: return None @@ -99,9 +98,9 @@ class DynamicTestsDataRoundSearch(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ - "searchSort": [TestsDataSearchSort.from_dict(_item) for _item in obj["searchSort"]] if obj.get("searchSort") is not None else None, - "thresholdFilter": TestsDataThresholdFilters.from_dict(obj["thresholdFilter"]) if obj.get("thresholdFilter") is not None else None, - "searchFilters": DynamicTestsDataSearchFilter.from_dict(obj["searchFilters"]) if obj.get("searchFilters") is not None else None + "searchSort": [EndpointTestsDataSearchSort.from_dict(_item) for _item in obj["searchSort"]] if obj.get("searchSort") is not None else None, + "thresholdFilter": EndpointTestsDataThresholdFilters.from_dict(obj["thresholdFilter"]) if obj.get("thresholdFilter") is not None else None, + "searchFilters": EndpointTestsDataSearchFilter.from_dict(obj["searchFilters"]) if obj.get("searchFilters") is not None else None }) return _obj diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/tests_data_search_filter.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_tests_data_search_filter.py similarity index 90% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/tests_data_search_filter.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_tests_data_search_filter.py index 82cdecdf..4bdffb53 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/tests_data_search_filter.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_tests_data_search_filter.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,9 +21,9 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self -class TestsDataSearchFilter(BaseModel): +class EndpointTestsDataSearchFilter(BaseModel): """ - TestsDataSearchFilter + EndpointTestsDataSearchFilter """ # noqa: E501 agent_id: Optional[List[StrictStr]] = Field(default=None, description="Filter using the `agent-id`.", alias="agentId") __properties: ClassVar[List[str]] = ["agentId"] @@ -48,7 +47,7 @@ class TestsDataSearchFilter(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of TestsDataSearchFilter from a JSON string""" + """Create an instance of EndpointTestsDataSearchFilter from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -73,7 +72,7 @@ class TestsDataSearchFilter(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of TestsDataSearchFilter from a dict""" + """Create an instance of EndpointTestsDataSearchFilter from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/tests_data_search_sort.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_tests_data_search_sort.py similarity index 85% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/tests_data_search_sort.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_tests_data_search_sort.py index 38066150..471fb384 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/tests_data_search_sort.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_tests_data_search_sort.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -19,16 +18,16 @@ import json from pydantic import BaseModel, ConfigDict from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.endpoint_test_results.models.endpoint_tests_data_search_sort_key import EndpointTestsDataSearchSortKey from thousandeyes_sdk.endpoint_test_results.models.sort_order import SortOrder -from thousandeyes_sdk.endpoint_test_results.models.tests_data_search_sort_key import TestsDataSearchSortKey from typing import Optional, Set from typing_extensions import Self -class TestsDataSearchSort(BaseModel): +class EndpointTestsDataSearchSort(BaseModel): """ - TestsDataSearchSort + EndpointTestsDataSearchSort """ # noqa: E501 - sort: Optional[TestsDataSearchSortKey] = None + sort: Optional[EndpointTestsDataSearchSortKey] = None order: Optional[SortOrder] = None __properties: ClassVar[List[str]] = ["sort", "order"] @@ -51,7 +50,7 @@ class TestsDataSearchSort(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of TestsDataSearchSort from a JSON string""" + """Create an instance of EndpointTestsDataSearchSort from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -76,7 +75,7 @@ class TestsDataSearchSort(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of TestsDataSearchSort from a dict""" + """Create an instance of EndpointTestsDataSearchSort from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/tests_data_search_sort_key.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_tests_data_search_sort_key.py similarity index 69% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/tests_data_search_sort_key.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_tests_data_search_sort_key.py index 8ea1310d..742b88f3 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/tests_data_search_sort_key.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_tests_data_search_sort_key.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -18,9 +17,9 @@ from enum import Enum from typing_extensions import Self -class TestsDataSearchSortKey(str, Enum): +class EndpointTestsDataSearchSortKey(str, Enum): """ - TestsDataSearchSortKey + EndpointTestsDataSearchSortKey """ """ @@ -33,10 +32,15 @@ class TestsDataSearchSortKey(str, Enum): CPU = 'cpu' MEMORY = 'memory' SIGNAL_MINUS_QUALITY = 'signal-quality' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: - """Create an instance of TestsDataSearchSortKey from a JSON string""" + """Create an instance of EndpointTestsDataSearchSortKey from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/tests_data_threshold_filter.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_tests_data_threshold_filter.py similarity index 92% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/tests_data_threshold_filter.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_tests_data_threshold_filter.py index 3276c2c3..4660f2d3 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/tests_data_threshold_filter.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_tests_data_threshold_filter.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -24,7 +23,7 @@ from thousandeyes_sdk.endpoint_test_results.models.threshold_filter_operator imp from typing import Optional, Set from typing_extensions import Self -class TestsDataThresholdFilter(BaseModel): +class EndpointTestsDataThresholdFilter(BaseModel): """ The metric is filtered based on the threshold value and operator provided. """ # noqa: E501 @@ -52,7 +51,7 @@ class TestsDataThresholdFilter(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of TestsDataThresholdFilter from a JSON string""" + """Create an instance of EndpointTestsDataThresholdFilter from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -77,7 +76,7 @@ class TestsDataThresholdFilter(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of TestsDataThresholdFilter from a dict""" + """Create an instance of EndpointTestsDataThresholdFilter from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/tests_data_threshold_filters.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_tests_data_threshold_filters.py similarity index 83% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/tests_data_threshold_filters.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_tests_data_threshold_filters.py index 5120e561..13de55a9 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/tests_data_threshold_filters.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_tests_data_threshold_filters.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,15 +19,15 @@ import json from pydantic import BaseModel, ConfigDict, Field from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.endpoint_test_results.models.conditional_operator import ConditionalOperator -from thousandeyes_sdk.endpoint_test_results.models.tests_data_threshold_filter import TestsDataThresholdFilter +from thousandeyes_sdk.endpoint_test_results.models.endpoint_tests_data_threshold_filter import EndpointTestsDataThresholdFilter from typing import Optional, Set from typing_extensions import Self -class TestsDataThresholdFilters(BaseModel): +class EndpointTestsDataThresholdFilters(BaseModel): """ All filters are applied based on the conditional operator (and/or). """ # noqa: E501 - filters: Optional[List[TestsDataThresholdFilter]] = None + filters: Optional[List[EndpointTestsDataThresholdFilter]] = None conditional_operator: Optional[ConditionalOperator] = Field(default=None, alias="conditionalOperator") __properties: ClassVar[List[str]] = ["filters", "conditionalOperator"] @@ -51,7 +50,7 @@ class TestsDataThresholdFilters(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of TestsDataThresholdFilters from a JSON string""" + """Create an instance of EndpointTestsDataThresholdFilters from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -83,7 +82,7 @@ class TestsDataThresholdFilters(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of TestsDataThresholdFilters from a dict""" + """Create an instance of EndpointTestsDataThresholdFilters from a dict""" if obj is None: return None @@ -91,7 +90,7 @@ class TestsDataThresholdFilters(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ - "filters": [TestsDataThresholdFilter.from_dict(_item) for _item in obj["filters"]] if obj.get("filters") is not None else None, + "filters": [EndpointTestsDataThresholdFilter.from_dict(_item) for _item in obj["filters"]] if obj.get("filters") is not None else None, "conditionalOperator": obj.get("conditionalOperator") }) return _obj diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/error.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/error.py index bccc9879..d6e23d12 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/error.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/error.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/severity.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/expand_endpoint_http_server_options.py similarity index 64% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/severity.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/expand_endpoint_http_server_options.py index 43c4d99d..9890fd53 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/severity.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/expand_endpoint_http_server_options.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -18,23 +17,24 @@ from enum import Enum from typing_extensions import Self -class Severity(str, Enum): +class ExpandEndpointHttpServerOptions(str, Enum): """ - The severity of the alert. + ExpandEndpointHttpServerOptions """ """ allowed enum values """ - INFO = 'info' - MAJOR = 'major' - MINOR = 'minor' - CRITICAL = 'critical' + HEADER = 'header' UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: - """Create an instance of Severity from a JSON string""" + """Create an instance of ExpandEndpointHttpServerOptions from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/gateway_network_ping.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/gateway_network_ping.py index ea25977f..e75cc606 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/gateway_network_ping.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/gateway_network_ping.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/hop.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/hop.py index 0697c08f..351299b0 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/hop.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/hop.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_test_result.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_test_result.py similarity index 88% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_test_result.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_test_result.py index d24190b6..1d7720e2 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_test_result.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_test_result.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -19,8 +18,8 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_test_result_headers import HttpEndpointTestResultHeaders from thousandeyes_sdk.endpoint_test_results.models.http_error_type import HttpErrorType -from thousandeyes_sdk.endpoint_test_results.models.http_test_result_headers import HttpTestResultHeaders from thousandeyes_sdk.endpoint_test_results.models.network_profile import NetworkProfile from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics from thousandeyes_sdk.endpoint_test_results.models.target_profile import TargetProfile @@ -28,11 +27,12 @@ from thousandeyes_sdk.endpoint_test_results.models.vpn_profile import VpnProfile from typing import Optional, Set from typing_extensions import Self -class HttpTestResult(BaseModel): +class HttpEndpointTestResult(BaseModel): """ - HttpTestResult + HttpEndpointTestResult """ # noqa: E501 aid: Optional[StrictStr] = Field(default=None, description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint.") + test_id: Optional[StrictStr] = Field(default=None, description="Unique ID of endpoint test.", alias="testId") agent_id: Optional[StrictStr] = Field(default=None, description="Unique ID of endpoint agent, from `/endpoint/agents` endpoint.", alias="agentId") round_id: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the start time of the round.", alias="roundId") server_ip: Optional[StrictStr] = Field(default=None, description="IP address of destination server.", alias="serverIp") @@ -44,7 +44,7 @@ class HttpTestResult(BaseModel): dns_time: Optional[StrictInt] = Field(default=None, description="Time required to resolve DNS in milliseconds.", alias="dnsTime") error_type: Optional[HttpErrorType] = Field(default=None, alias="errorType") error_details: Optional[StrictStr] = Field(default=None, description="Error details, if an error were encountered.", alias="errorDetails") - headers: Optional[HttpTestResultHeaders] = None + headers: Optional[HttpEndpointTestResultHeaders] = None num_redirects: Optional[StrictInt] = Field(default=None, description="Number of redirects.", alias="numRedirects") receive_time: Optional[StrictInt] = Field(default=None, description="Elapsed time between first and last byte of response in milliseconds.", alias="receiveTime") redirect_time: Optional[StrictInt] = Field(default=None, description="Cumulative redirect timing in milliseconds.", alias="redirectTime") @@ -54,7 +54,7 @@ class HttpTestResult(BaseModel): total_time: Optional[StrictInt] = Field(default=None, description="Total time is the response time + receive time.", alias="totalTime") wait_time: Optional[StrictInt] = Field(default=None, description="Time elapsed between completion of request and first byte of response in milliseconds.", alias="waitTime") wire_size: Optional[StrictInt] = Field(default=None, description="Size of content in bytes.", alias="wireSize") - __properties: ClassVar[List[str]] = ["aid", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "vpnProfile", "connectTime", "dnsTime", "errorType", "errorDetails", "headers", "numRedirects", "receiveTime", "redirectTime", "responseCode", "responseTime", "sslTime", "totalTime", "waitTime", "wireSize"] + __properties: ClassVar[List[str]] = ["aid", "testId", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "vpnProfile", "connectTime", "dnsTime", "errorType", "errorDetails", "headers", "numRedirects", "receiveTime", "redirectTime", "responseCode", "responseTime", "sslTime", "totalTime", "waitTime", "wireSize"] model_config = ConfigDict( populate_by_name=True, @@ -75,7 +75,7 @@ class HttpTestResult(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of HttpTestResult from a JSON string""" + """Create an instance of HttpEndpointTestResult from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -102,8 +102,10 @@ class HttpTestResult(BaseModel): * 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([ + "test_id", "agent_id", "round_id", "server_ip", @@ -145,7 +147,7 @@ class HttpTestResult(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of HttpTestResult from a dict""" + """Create an instance of HttpEndpointTestResult from a dict""" if obj is None: return None @@ -154,6 +156,7 @@ class HttpTestResult(BaseModel): _obj = cls.model_validate({ "aid": obj.get("aid"), + "testId": obj.get("testId"), "agentId": obj.get("agentId"), "roundId": obj.get("roundId"), "serverIp": obj.get("serverIp"), @@ -165,7 +168,7 @@ class HttpTestResult(BaseModel): "dnsTime": obj.get("dnsTime"), "errorType": obj.get("errorType"), "errorDetails": obj.get("errorDetails"), - "headers": HttpTestResultHeaders.from_dict(obj["headers"]) if obj.get("headers") is not None else None, + "headers": HttpEndpointTestResultHeaders.from_dict(obj["headers"]) if obj.get("headers") is not None else None, "numRedirects": obj.get("numRedirects"), "receiveTime": obj.get("receiveTime"), "redirectTime": obj.get("redirectTime"), diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_test_result_headers.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_test_result_headers.py similarity index 92% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_test_result_headers.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_test_result_headers.py index b67c0bab..9f690289 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_test_result_headers.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_test_result_headers.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,7 +21,7 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self -class HttpTestResultHeaders(BaseModel): +class HttpEndpointTestResultHeaders(BaseModel): """ Expandable object containing both request and response headers. """ # noqa: E501 @@ -49,7 +48,7 @@ class HttpTestResultHeaders(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of HttpTestResultHeaders from a JSON string""" + """Create an instance of HttpEndpointTestResultHeaders from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -78,7 +77,7 @@ class HttpTestResultHeaders(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of HttpTestResultHeaders from a dict""" + """Create an instance of HttpEndpointTestResultHeaders from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_test_results.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_test_results.py similarity index 89% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_test_results.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_test_results.py index bbb96532..3473a2ea 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_test_results.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_test_results.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,16 +20,16 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.endpoint_test_results.models.endpoint_http_server_test import EndpointHttpServerTest -from thousandeyes_sdk.endpoint_test_results.models.http_test_result import HttpTestResult +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_test_result import HttpEndpointTestResult from thousandeyes_sdk.endpoint_test_results.models.pagination_next_and_self_link import PaginationNextAndSelfLink from typing import Optional, Set from typing_extensions import Self -class HttpTestResults(BaseModel): +class HttpEndpointTestResults(BaseModel): """ - HttpTestResults + HttpEndpointTestResults """ # noqa: E501 - results: Optional[List[HttpTestResult]] = None + results: Optional[List[HttpEndpointTestResult]] = None test: Optional[EndpointHttpServerTest] = None 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="(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") @@ -56,7 +55,7 @@ class HttpTestResults(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of HttpTestResults from a JSON string""" + """Create an instance of HttpEndpointTestResults from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -98,7 +97,7 @@ class HttpTestResults(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of HttpTestResults from a dict""" + """Create an instance of HttpEndpointTestResults from a dict""" if obj is None: return None @@ -106,7 +105,7 @@ class HttpTestResults(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ - "results": [HttpTestResult.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None, + "results": [HttpEndpointTestResult.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None, "test": EndpointHttpServerTest.from_dict(obj["test"]) if obj.get("test") is not None else None, "startDate": obj.get("startDate"), "endDate": obj.get("endDate"), diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_tests_data_rounds_search.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_tests_data_rounds_search.py new file mode 100644 index 00000000..b213028c --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_tests_data_rounds_search.py @@ -0,0 +1,107 @@ +# coding: utf-8 + +""" + Endpoint Test Results API + + Retrieve results for scheduled and dynamic tests on endpoint 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.endpoint_test_results.models.http_endpoint_tests_data_search_filter import HttpEndpointTestsDataSearchFilter +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_tests_data_search_sort import HttpEndpointTestsDataSearchSort +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_tests_data_threshold_filters import HttpEndpointTestsDataThresholdFilters +from typing import Optional, Set +from typing_extensions import Self + +class HttpEndpointTestsDataRoundsSearch(BaseModel): + """ + HttpEndpointTestsDataRoundsSearch + """ # noqa: E501 + search_sort: Optional[List[HttpEndpointTestsDataSearchSort]] = Field(default=None, alias="searchSort") + threshold_filter: Optional[HttpEndpointTestsDataThresholdFilters] = Field(default=None, alias="thresholdFilter") + search_filters: Optional[HttpEndpointTestsDataSearchFilter] = Field(default=None, alias="searchFilters") + __properties: ClassVar[List[str]] = ["searchSort", "thresholdFilter", "searchFilters"] + + 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 HttpEndpointTestsDataRoundsSearch from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in search_sort (list) + _items = [] + if self.search_sort: + for _item in self.search_sort: + if _item: + _items.append(_item.to_dict()) + _dict['searchSort'] = _items + # override the default output from pydantic by calling `to_dict()` of threshold_filter + if self.threshold_filter: + _dict['thresholdFilter'] = self.threshold_filter.to_dict() + # override the default output from pydantic by calling `to_dict()` of search_filters + if self.search_filters: + _dict['searchFilters'] = self.search_filters.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of HttpEndpointTestsDataRoundsSearch from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "searchSort": [HttpEndpointTestsDataSearchSort.from_dict(_item) for _item in obj["searchSort"]] if obj.get("searchSort") is not None else None, + "thresholdFilter": HttpEndpointTestsDataThresholdFilters.from_dict(obj["thresholdFilter"]) if obj.get("thresholdFilter") is not None else None, + "searchFilters": HttpEndpointTestsDataSearchFilter.from_dict(obj["searchFilters"]) if obj.get("searchFilters") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_tests_data_search_filter.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_tests_data_search_filter.py new file mode 100644 index 00000000..2518e950 --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_tests_data_search_filter.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Endpoint Test Results API + + Retrieve results for scheduled and dynamic tests on endpoint 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 HttpEndpointTestsDataSearchFilter(BaseModel): + """ + HttpEndpointTestsDataSearchFilter + """ # noqa: E501 + test_id: Optional[List[StrictStr]] = Field(default=None, description="Filter by test", alias="testId") + agent_id: Optional[List[StrictStr]] = Field(default=None, description="Filter using the `agent-id`.", alias="agentId") + __properties: ClassVar[List[str]] = ["testId", "agentId"] + + 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 HttpEndpointTestsDataSearchFilter 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 HttpEndpointTestsDataSearchFilter from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "testId": obj.get("testId"), + "agentId": obj.get("agentId") + }) + return _obj + + diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_tests_data_search_sort.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_tests_data_search_sort.py new file mode 100644 index 00000000..e9522b61 --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_tests_data_search_sort.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Endpoint Test Results API + + Retrieve results for scheduled and dynamic tests on endpoint 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 +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_tests_data_search_sort_key import HttpEndpointTestsDataSearchSortKey +from thousandeyes_sdk.endpoint_test_results.models.sort_order import SortOrder +from typing import Optional, Set +from typing_extensions import Self + +class HttpEndpointTestsDataSearchSort(BaseModel): + """ + HttpEndpointTestsDataSearchSort + """ # noqa: E501 + sort: Optional[HttpEndpointTestsDataSearchSortKey] = None + order: Optional[SortOrder] = None + __properties: ClassVar[List[str]] = ["sort", "order"] + + 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 HttpEndpointTestsDataSearchSort 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 HttpEndpointTestsDataSearchSort from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "sort": obj.get("sort"), + "order": obj.get("order") + }) + return _obj + + diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_tests_data_search_sort_key.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_tests_data_search_sort_key.py new file mode 100644 index 00000000..dbf28dad --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_tests_data_search_sort_key.py @@ -0,0 +1,47 @@ +# coding: utf-8 + +""" + Endpoint Test Results API + + Retrieve results for scheduled and dynamic tests on endpoint agents. + + 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 HttpEndpointTestsDataSearchSortKey(str, Enum): + """ + HttpEndpointTestsDataSearchSortKey + """ + + """ + allowed enum values + """ + ROUND_MINUS_ID = 'round-id' + RESPONSE_MINUS_TIME = 'response-time' + DNS_MINUS_TIME = 'dns-time' + CONNECT_MINUS_TIME = 'connect-time' + SSL_MINUS_TIME = 'ssl-time' + WAIT_MINUS_TIME = 'wait-time' + RESPONSE_MINUS_CODE = 'response-code' + WIRE_MINUS_SIZE = 'wire-size' + UNKNOWN = 'unknown' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of HttpEndpointTestsDataSearchSortKey from a JSON string""" + return cls(json.loads(json_str)) + + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN + diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_tests_data_threshold_filter.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_tests_data_threshold_filter.py new file mode 100644 index 00000000..d3e24a46 --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_tests_data_threshold_filter.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Endpoint Test Results API + + Retrieve results for scheduled and dynamic tests on endpoint 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, StrictFloat, StrictInt +from typing import Any, ClassVar, Dict, List, Optional, Union +from thousandeyes_sdk.endpoint_test_results.models.http_threshold_filter_name import HttpThresholdFilterName +from thousandeyes_sdk.endpoint_test_results.models.threshold_filter_operator import ThresholdFilterOperator +from typing import Optional, Set +from typing_extensions import Self + +class HttpEndpointTestsDataThresholdFilter(BaseModel): + """ + The metric is filtered based on the threshold value and operator provided. + """ # noqa: E501 + name: Optional[HttpThresholdFilterName] = None + value: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="The threshold value.") + operator: Optional[ThresholdFilterOperator] = None + __properties: ClassVar[List[str]] = ["name", "value", "operator"] + + 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 HttpEndpointTestsDataThresholdFilter 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 HttpEndpointTestsDataThresholdFilter from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": obj.get("name"), + "value": obj.get("value"), + "operator": obj.get("operator") + }) + return _obj + + diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_route.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_tests_data_threshold_filters.py similarity index 65% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_route.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_tests_data_threshold_filters.py index 147d4b31..49f4ab79 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_route.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_endpoint_tests_data_threshold_filters.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,19 +16,20 @@ import pprint import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictStr +from pydantic import BaseModel, ConfigDict, Field from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.endpoint_test_results.models.path_vis_hop import PathVisHop +from thousandeyes_sdk.endpoint_test_results.models.conditional_operator import ConditionalOperator +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_tests_data_threshold_filter import HttpEndpointTestsDataThresholdFilter from typing import Optional, Set from typing_extensions import Self -class PathVisRoute(BaseModel): +class HttpEndpointTestsDataThresholdFilters(BaseModel): """ - PathVisRoute + All filters are applied based on the conditional operator (and/or). """ # noqa: E501 - path_id: Optional[StrictStr] = Field(default=None, description="Unique ID of path trace.", alias="pathId") - hops: Optional[List[PathVisHop]] = Field(default=None, description="Array of hop objects indicating each step in the traceroute.") - __properties: ClassVar[List[str]] = ["pathId", "hops"] + filters: Optional[List[HttpEndpointTestsDataThresholdFilter]] = None + conditional_operator: Optional[ConditionalOperator] = Field(default=None, alias="conditionalOperator") + __properties: ClassVar[List[str]] = ["filters", "conditionalOperator"] model_config = ConfigDict( populate_by_name=True, @@ -50,7 +50,7 @@ class PathVisRoute(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of PathVisRoute from a JSON string""" + """Create an instance of HttpEndpointTestsDataThresholdFilters from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -62,10 +62,8 @@ class PathVisRoute(BaseModel): * `None` is only added to the output dict for nullable fields that were set at model initialization. Other fields with value `None` are ignored. - * OpenAPI `readOnly` fields are excluded. """ excluded_fields: Set[str] = set([ - "path_id", ]) _dict = self.model_dump( @@ -73,18 +71,18 @@ class PathVisRoute(BaseModel): exclude=excluded_fields, exclude_none=True, ) - # override the default output from pydantic by calling `to_dict()` of each item in hops (list) + # override the default output from pydantic by calling `to_dict()` of each item in filters (list) _items = [] - if self.hops: - for _item in self.hops: + if self.filters: + for _item in self.filters: if _item: _items.append(_item.to_dict()) - _dict['hops'] = _items + _dict['filters'] = _items return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of PathVisRoute from a dict""" + """Create an instance of HttpEndpointTestsDataThresholdFilters from a dict""" if obj is None: return None @@ -92,8 +90,8 @@ class PathVisRoute(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ - "pathId": obj.get("pathId"), - "hops": [PathVisHop.from_dict(_item) for _item in obj["hops"]] if obj.get("hops") is not None else None + "filters": [HttpEndpointTestsDataThresholdFilter.from_dict(_item) for _item in obj["filters"]] if obj.get("filters") is not None else None, + "conditionalOperator": obj.get("conditionalOperator") }) return _obj diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_error_type.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_error_type.py index e17f5d73..74a650bc 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_error_type.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_error_type.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -33,10 +32,15 @@ class HttpErrorType(str, Enum): SEND = 'send' SSL = 'ssl' RECEIVE = 'receive' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of HttpErrorType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_multi_endpoint_test_results.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_multi_endpoint_test_results.py new file mode 100644 index 00000000..1de5bf87 --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_multi_endpoint_test_results.py @@ -0,0 +1,112 @@ +# coding: utf-8 + +""" + Endpoint Test Results API + + Retrieve results for scheduled and dynamic tests on endpoint 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.endpoint_test_results.models.http_endpoint_test_result import HttpEndpointTestResult +from thousandeyes_sdk.endpoint_test_results.models.pagination_next_and_self_link import PaginationNextAndSelfLink +from typing import Optional, Set +from typing_extensions import Self + +class HttpMultiEndpointTestResults(BaseModel): + """ + HttpMultiEndpointTestResults + """ # noqa: E501 + results: Optional[List[HttpEndpointTestResult]] = None + total_hits: Optional[StrictInt] = Field(default=None, description="Total number of measurements that match the search criteria", alias="totalHits") + 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="(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") + links: Optional[PaginationNextAndSelfLink] = Field(default=None, alias="_links") + __properties: ClassVar[List[str]] = ["results", "totalHits", "startDate", "endDate", "_links"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + extra="allow", + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of HttpMultiEndpointTestResults from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "start_date", + "end_date", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in results (list) + _items = [] + if self.results: + for _item in self.results: + if _item: + _items.append(_item.to_dict()) + _dict['results'] = _items + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of HttpMultiEndpointTestResults from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "results": [HttpEndpointTestResult.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None, + "totalHits": obj.get("totalHits"), + "startDate": obj.get("startDate"), + "endDate": obj.get("endDate"), + "_links": PaginationNextAndSelfLink.from_dict(obj["_links"]) if obj.get("_links") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/expand.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_threshold_filter_name.py similarity index 51% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/expand.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_threshold_filter_name.py index a8da898b..dd89be0f 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/expand.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/http_threshold_filter_name.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -18,19 +17,28 @@ from enum import Enum from typing_extensions import Self -class Expand(str, Enum): +class HttpThresholdFilterName(str, Enum): """ - Expand + Metric on which the threshold filter is applied. """ """ allowed enum values """ - HEADER = 'header' + RESPONSE_MINUS_TIME = 'response-time' + DNS_MINUS_TIME = 'dns-time' + CONNECT_MINUS_TIME = 'connect-time' + SSL_MINUS_TIME = 'ssl-time' + WAIT_MINUS_TIME = 'wait-time' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: - """Create an instance of Expand from a JSON string""" + """Create an instance of HttpThresholdFilterName from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/interface_hardware_type.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/interface_hardware_type.py index f719735d..2255f8be 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/interface_hardware_type.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/interface_hardware_type.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -39,4 +38,8 @@ class InterfaceHardwareType(str, Enum): """Create an instance of InterfaceHardwareType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/link.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/link.py index 36bde98b..7131339c 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/link.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/link.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/local_network_result.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/local_network_result.py index 07cbbfb7..1e4fce90 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/local_network_result.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/local_network_result.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/local_network_results.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/local_network_results.py index 4244e834..5fe41f61 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/local_network_results.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/local_network_results.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/local_network_topology_detail_results.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/local_network_topology_detail_results.py index d4c8bed7..f7ff086f 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/local_network_topology_detail_results.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/local_network_topology_detail_results.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/local_network_topology_result.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/local_network_topology_result.py index 2ea319cd..38f01e54 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/local_network_topology_result.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/local_network_topology_result.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -23,7 +22,7 @@ from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.endpoint_test_results.models.network_ping import NetworkPing from thousandeyes_sdk.endpoint_test_results.models.network_profile import NetworkProfile from thousandeyes_sdk.endpoint_test_results.models.network_topology_type import NetworkTopologyType -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_coordinates import RealUserTestCoordinates +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_coordinates import RealUserEndpointTestCoordinates from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics from thousandeyes_sdk.endpoint_test_results.models.tcp_connect import TcpConnect from thousandeyes_sdk.endpoint_test_results.models.traceroute import Traceroute @@ -45,7 +44,7 @@ class LocalNetworkTopologyResult(BaseModel): is_icmp_blocked: Optional[StrictBool] = Field(default=None, description="Set to `true` if network target is blocking ICMP echo (ping) queries.", alias="isIcmpBlocked") tcp_connect: Optional[TcpConnect] = Field(default=None, alias="tcpConnect") system_metrics: Optional[SystemMetrics] = Field(default=None, alias="systemMetrics") - coordinates: Optional[RealUserTestCoordinates] = None + coordinates: Optional[RealUserEndpointTestCoordinates] = None network_profile: Optional[NetworkProfile] = Field(default=None, alias="networkProfile") icmp_traceroute: Optional[Traceroute] = Field(default=None, alias="icmpTraceroute") icmp_traceroutes: Optional[List[Traceroute]] = Field(default=None, alias="icmpTraceroutes") @@ -153,7 +152,7 @@ class LocalNetworkTopologyResult(BaseModel): "isIcmpBlocked": obj.get("isIcmpBlocked"), "tcpConnect": TcpConnect.from_dict(obj["tcpConnect"]) if obj.get("tcpConnect") is not None else None, "systemMetrics": SystemMetrics.from_dict(obj["systemMetrics"]) if obj.get("systemMetrics") is not None else None, - "coordinates": RealUserTestCoordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None, + "coordinates": RealUserEndpointTestCoordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None, "networkProfile": NetworkProfile.from_dict(obj["networkProfile"]) if obj.get("networkProfile") is not None else None, "icmpTraceroute": Traceroute.from_dict(obj["icmpTraceroute"]) if obj.get("icmpTraceroute") is not None else None, "icmpTraceroutes": [Traceroute.from_dict(_item) for _item in obj["icmpTraceroutes"]] if obj.get("icmpTraceroutes") is not None else None diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/local_network_topology_result_base.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/local_network_topology_result_base.py index eb72569f..a513a712 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/local_network_topology_result_base.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/local_network_topology_result_base.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/local_network_topology_results.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/local_network_topology_results.py index eb2ecc9a..dd1e26bd 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/local_network_topology_results.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/local_network_topology_results.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/multi_test_id_tests_data_rounds_search.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/multi_test_id_endpoint_tests_data_rounds_search.py similarity index 68% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/multi_test_id_tests_data_rounds_search.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/multi_test_id_endpoint_tests_data_rounds_search.py index 3269dfed..98353368 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/multi_test_id_tests_data_rounds_search.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/multi_test_id_endpoint_tests_data_rounds_search.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -19,19 +18,19 @@ import json from pydantic import BaseModel, ConfigDict, Field from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.endpoint_test_results.models.multi_test_id_tests_data_search_filter import MultiTestIdTestsDataSearchFilter -from thousandeyes_sdk.endpoint_test_results.models.tests_data_search_sort import TestsDataSearchSort -from thousandeyes_sdk.endpoint_test_results.models.tests_data_threshold_filters import TestsDataThresholdFilters +from thousandeyes_sdk.endpoint_test_results.models.endpoint_tests_data_search_sort import EndpointTestsDataSearchSort +from thousandeyes_sdk.endpoint_test_results.models.endpoint_tests_data_threshold_filters import EndpointTestsDataThresholdFilters +from thousandeyes_sdk.endpoint_test_results.models.multi_test_id_endpoint_tests_data_search_filter import MultiTestIdEndpointTestsDataSearchFilter from typing import Optional, Set from typing_extensions import Self -class MultiTestIdTestsDataRoundsSearch(BaseModel): +class MultiTestIdEndpointTestsDataRoundsSearch(BaseModel): """ - MultiTestIdTestsDataRoundsSearch + MultiTestIdEndpointTestsDataRoundsSearch """ # noqa: E501 - search_sort: Optional[List[TestsDataSearchSort]] = Field(default=None, alias="searchSort") - threshold_filter: Optional[TestsDataThresholdFilters] = Field(default=None, alias="thresholdFilter") - search_filters: Optional[MultiTestIdTestsDataSearchFilter] = Field(default=None, alias="searchFilters") + search_sort: Optional[List[EndpointTestsDataSearchSort]] = Field(default=None, alias="searchSort") + threshold_filter: Optional[EndpointTestsDataThresholdFilters] = Field(default=None, alias="thresholdFilter") + search_filters: Optional[MultiTestIdEndpointTestsDataSearchFilter] = Field(default=None, alias="searchFilters") __properties: ClassVar[List[str]] = ["searchSort", "thresholdFilter", "searchFilters"] model_config = ConfigDict( @@ -53,7 +52,7 @@ class MultiTestIdTestsDataRoundsSearch(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of MultiTestIdTestsDataRoundsSearch from a JSON string""" + """Create an instance of MultiTestIdEndpointTestsDataRoundsSearch from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -91,7 +90,7 @@ class MultiTestIdTestsDataRoundsSearch(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of MultiTestIdTestsDataRoundsSearch from a dict""" + """Create an instance of MultiTestIdEndpointTestsDataRoundsSearch from a dict""" if obj is None: return None @@ -99,9 +98,9 @@ class MultiTestIdTestsDataRoundsSearch(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ - "searchSort": [TestsDataSearchSort.from_dict(_item) for _item in obj["searchSort"]] if obj.get("searchSort") is not None else None, - "thresholdFilter": TestsDataThresholdFilters.from_dict(obj["thresholdFilter"]) if obj.get("thresholdFilter") is not None else None, - "searchFilters": MultiTestIdTestsDataSearchFilter.from_dict(obj["searchFilters"]) if obj.get("searchFilters") is not None else None + "searchSort": [EndpointTestsDataSearchSort.from_dict(_item) for _item in obj["searchSort"]] if obj.get("searchSort") is not None else None, + "thresholdFilter": EndpointTestsDataThresholdFilters.from_dict(obj["thresholdFilter"]) if obj.get("thresholdFilter") is not None else None, + "searchFilters": MultiTestIdEndpointTestsDataSearchFilter.from_dict(obj["searchFilters"]) if obj.get("searchFilters") is not None else None }) return _obj diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/multi_test_id_tests_data_search_filter.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/multi_test_id_endpoint_tests_data_search_filter.py similarity index 89% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/multi_test_id_tests_data_search_filter.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/multi_test_id_endpoint_tests_data_search_filter.py index 6f9d4d0f..e70191d2 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/multi_test_id_tests_data_search_filter.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/multi_test_id_endpoint_tests_data_search_filter.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,9 +21,9 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self -class MultiTestIdTestsDataSearchFilter(BaseModel): +class MultiTestIdEndpointTestsDataSearchFilter(BaseModel): """ - MultiTestIdTestsDataSearchFilter + MultiTestIdEndpointTestsDataSearchFilter """ # noqa: E501 agent_id: Optional[List[StrictStr]] = Field(default=None, description="Filter using the `agent-id`.", alias="agentId") test_id: Optional[List[StrictStr]] = Field(default=None, alias="testId") @@ -49,7 +48,7 @@ class MultiTestIdTestsDataSearchFilter(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of MultiTestIdTestsDataSearchFilter from a JSON string""" + """Create an instance of MultiTestIdEndpointTestsDataSearchFilter from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -74,7 +73,7 @@ class MultiTestIdTestsDataSearchFilter(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of MultiTestIdTestsDataSearchFilter from a dict""" + """Create an instance of MultiTestIdEndpointTestsDataSearchFilter from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/multi_test_id_network_test_results.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/multi_test_id_network_endpoint_test_results.py similarity index 87% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/multi_test_id_network_test_results.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/multi_test_id_network_endpoint_test_results.py index 7673113f..696e9dc3 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/multi_test_id_network_test_results.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/multi_test_id_network_endpoint_test_results.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,16 +19,16 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictInt from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.endpoint_test_results.models.network_test_result import NetworkTestResult +from thousandeyes_sdk.endpoint_test_results.models.network_endpoint_test_result import NetworkEndpointTestResult from thousandeyes_sdk.endpoint_test_results.models.pagination_next_link import PaginationNextLink from typing import Optional, Set from typing_extensions import Self -class MultiTestIdNetworkTestResults(BaseModel): +class MultiTestIdNetworkEndpointTestResults(BaseModel): """ - MultiTestIdNetworkTestResults + MultiTestIdNetworkEndpointTestResults """ # noqa: E501 - results: Optional[List[NetworkTestResult]] = None + results: Optional[List[NetworkEndpointTestResult]] = None total_hits: Optional[StrictInt] = Field(default=None, description="Total number of measurements that match the search criteria", alias="totalHits") 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="(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") @@ -55,7 +54,7 @@ class MultiTestIdNetworkTestResults(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of MultiTestIdNetworkTestResults from a JSON string""" + """Create an instance of MultiTestIdNetworkEndpointTestResults from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -94,7 +93,7 @@ class MultiTestIdNetworkTestResults(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of MultiTestIdNetworkTestResults from a dict""" + """Create an instance of MultiTestIdNetworkEndpointTestResults from a dict""" if obj is None: return None @@ -102,7 +101,7 @@ class MultiTestIdNetworkTestResults(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ - "results": [NetworkTestResult.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None, + "results": [NetworkEndpointTestResult.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None, "totalHits": obj.get("totalHits"), "startDate": obj.get("startDate"), "endDate": obj.get("endDate"), diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_dynamic_test_result.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_dynamic_endpoint_test_result.py similarity index 87% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_dynamic_test_result.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_dynamic_endpoint_test_result.py index fc567df3..54e0dd74 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_dynamic_test_result.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_dynamic_endpoint_test_result.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -19,8 +18,8 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional, Union -from thousandeyes_sdk.endpoint_test_results.models.dynamic_test_webex import DynamicTestWebex -from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_protocol import EndpointTestProtocol +from thousandeyes_sdk.endpoint_test_results.models.dynamic_endpoint_test_webex import DynamicEndpointTestWebex +from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_result_protocol import EndpointTestResultProtocol from thousandeyes_sdk.endpoint_test_results.models.network_profile import NetworkProfile from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics from thousandeyes_sdk.endpoint_test_results.models.target_profile import TargetProfile @@ -30,11 +29,12 @@ from thousandeyes_sdk.endpoint_test_results.models.vpn_profile import VpnProfile from typing import Optional, Set from typing_extensions import Self -class NetworkDynamicTestResult(BaseModel): +class NetworkDynamicEndpointTestResult(BaseModel): """ - NetworkDynamicTestResult + NetworkDynamicEndpointTestResult """ # noqa: E501 aid: Optional[StrictStr] = Field(default=None, description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint.") + test_id: Optional[StrictStr] = Field(default=None, description="Unique ID of endpoint test.", alias="testId") agent_id: Optional[StrictStr] = Field(default=None, description="Unique ID of endpoint agent, from `/endpoint/agents` endpoint.", alias="agentId") round_id: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the start time of the round.", alias="roundId") server_ip: Optional[StrictStr] = Field(default=None, description="IP address of target server.", alias="serverIp") @@ -50,11 +50,11 @@ class NetworkDynamicTestResult(BaseModel): max_latency: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Maximum RTT for packets sent to destination.", alias="maxLatency") min_latency: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Minimum RTT for packets sent to destination.", alias="minLatency") application: Optional[StrictStr] = Field(default=None, description="Which supported application to monitor, can be one of `webex`, `zoom`, `microsoft-teams`.") - protocol: Optional[EndpointTestProtocol] = None + protocol: Optional[EndpointTestResultProtocol] = None tcp_probe_mode: Optional[TestProbeModeResponse] = Field(default=None, alias="tcpProbeMode") udp_probe_mode: Optional[UdpProbeModeResponse] = Field(default=None, alias="udpProbeMode") - webex: Optional[DynamicTestWebex] = None - __properties: ClassVar[List[str]] = ["aid", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "vpnProfile", "avgLatency", "errorDetails", "jitter", "isIcmpBlocked", "loss", "maxLatency", "minLatency", "application", "protocol", "tcpProbeMode", "udpProbeMode", "webex"] + webex: Optional[DynamicEndpointTestWebex] = None + __properties: ClassVar[List[str]] = ["aid", "testId", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "vpnProfile", "avgLatency", "errorDetails", "jitter", "isIcmpBlocked", "loss", "maxLatency", "minLatency", "application", "protocol", "tcpProbeMode", "udpProbeMode", "webex"] model_config = ConfigDict( populate_by_name=True, @@ -75,7 +75,7 @@ class NetworkDynamicTestResult(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of NetworkDynamicTestResult from a JSON string""" + """Create an instance of NetworkDynamicEndpointTestResult from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -97,8 +97,10 @@ class NetworkDynamicTestResult(BaseModel): * 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([ + "test_id", "agent_id", "round_id", "server_ip", @@ -135,7 +137,7 @@ class NetworkDynamicTestResult(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of NetworkDynamicTestResult from a dict""" + """Create an instance of NetworkDynamicEndpointTestResult from a dict""" if obj is None: return None @@ -144,6 +146,7 @@ class NetworkDynamicTestResult(BaseModel): _obj = cls.model_validate({ "aid": obj.get("aid"), + "testId": obj.get("testId"), "agentId": obj.get("agentId"), "roundId": obj.get("roundId"), "serverIp": obj.get("serverIp"), @@ -162,7 +165,7 @@ class NetworkDynamicTestResult(BaseModel): "protocol": obj.get("protocol"), "tcpProbeMode": obj.get("tcpProbeMode"), "udpProbeMode": obj.get("udpProbeMode"), - "webex": DynamicTestWebex.from_dict(obj["webex"]) if obj.get("webex") is not None else None + "webex": DynamicEndpointTestWebex.from_dict(obj["webex"]) if obj.get("webex") is not None else None }) return _obj diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_dynamic_test_results.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_dynamic_endpoint_test_results.py similarity index 89% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_dynamic_test_results.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_dynamic_endpoint_test_results.py index a47cacbe..51c7b328 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_dynamic_test_results.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_dynamic_endpoint_test_results.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,16 +20,16 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictInt from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.endpoint_test_results.models.dynamic_test import DynamicTest -from thousandeyes_sdk.endpoint_test_results.models.network_dynamic_test_result import NetworkDynamicTestResult +from thousandeyes_sdk.endpoint_test_results.models.network_dynamic_endpoint_test_result import NetworkDynamicEndpointTestResult from thousandeyes_sdk.endpoint_test_results.models.pagination_next_link import PaginationNextLink from typing import Optional, Set from typing_extensions import Self -class NetworkDynamicTestResults(BaseModel): +class NetworkDynamicEndpointTestResults(BaseModel): """ - NetworkDynamicTestResults + NetworkDynamicEndpointTestResults """ # noqa: E501 - results: Optional[List[NetworkDynamicTestResult]] = None + results: Optional[List[NetworkDynamicEndpointTestResult]] = None test: Optional[DynamicTest] = None total_hits: Optional[StrictInt] = Field(default=None, description="Total number of measurements that match the search criteria", alias="totalHits") 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") @@ -57,7 +56,7 @@ class NetworkDynamicTestResults(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of NetworkDynamicTestResults from a JSON string""" + """Create an instance of NetworkDynamicEndpointTestResults from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -99,7 +98,7 @@ class NetworkDynamicTestResults(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of NetworkDynamicTestResults from a dict""" + """Create an instance of NetworkDynamicEndpointTestResults from a dict""" if obj is None: return None @@ -107,7 +106,7 @@ class NetworkDynamicTestResults(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ - "results": [NetworkDynamicTestResult.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None, + "results": [NetworkDynamicEndpointTestResult.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None, "test": DynamicTest.from_dict(obj["test"]) if obj.get("test") is not None else None, "totalHits": obj.get("totalHits"), "startDate": obj.get("startDate"), diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_test_result.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_endpoint_test_result.py similarity index 90% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_test_result.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_endpoint_test_result.py index de01eb67..9bc43ad5 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_test_result.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_endpoint_test_result.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -26,11 +25,12 @@ from thousandeyes_sdk.endpoint_test_results.models.vpn_profile import VpnProfile from typing import Optional, Set from typing_extensions import Self -class NetworkTestResult(BaseModel): +class NetworkEndpointTestResult(BaseModel): """ - NetworkTestResult + NetworkEndpointTestResult """ # noqa: E501 aid: Optional[StrictStr] = Field(default=None, description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint.") + test_id: Optional[StrictStr] = Field(default=None, description="Unique ID of endpoint test.", alias="testId") agent_id: Optional[StrictStr] = Field(default=None, description="Unique ID of endpoint agent, from `/endpoint/agents` endpoint.", alias="agentId") round_id: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the start time of the round.", alias="roundId") server_ip: Optional[StrictStr] = Field(default=None, description="IP address of target server.", alias="serverIp") @@ -45,7 +45,7 @@ class NetworkTestResult(BaseModel): loss: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Percentage of packets not reaching destination.") max_latency: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Maximum RTT for packets sent to destination.", alias="maxLatency") min_latency: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Minimum RTT for packets sent to destination.", alias="minLatency") - __properties: ClassVar[List[str]] = ["aid", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "vpnProfile", "avgLatency", "errorDetails", "jitter", "isIcmpBlocked", "loss", "maxLatency", "minLatency"] + __properties: ClassVar[List[str]] = ["aid", "testId", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "vpnProfile", "avgLatency", "errorDetails", "jitter", "isIcmpBlocked", "loss", "maxLatency", "minLatency"] model_config = ConfigDict( populate_by_name=True, @@ -66,7 +66,7 @@ class NetworkTestResult(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of NetworkTestResult from a JSON string""" + """Create an instance of NetworkEndpointTestResult from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -88,8 +88,10 @@ class NetworkTestResult(BaseModel): * 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([ + "test_id", "agent_id", "round_id", "server_ip", @@ -123,7 +125,7 @@ class NetworkTestResult(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of NetworkTestResult from a dict""" + """Create an instance of NetworkEndpointTestResult from a dict""" if obj is None: return None @@ -132,6 +134,7 @@ class NetworkTestResult(BaseModel): _obj = cls.model_validate({ "aid": obj.get("aid"), + "testId": obj.get("testId"), "agentId": obj.get("agentId"), "roundId": obj.get("roundId"), "serverIp": obj.get("serverIp"), diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_test_results.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_endpoint_test_results.py similarity index 89% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_test_results.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_endpoint_test_results.py index 24d29f84..a7bc297f 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_test_results.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_endpoint_test_results.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,16 +20,16 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictInt from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.endpoint_test_results.models.endpoint_scheduled_test import EndpointScheduledTest -from thousandeyes_sdk.endpoint_test_results.models.network_test_result import NetworkTestResult +from thousandeyes_sdk.endpoint_test_results.models.network_endpoint_test_result import NetworkEndpointTestResult from thousandeyes_sdk.endpoint_test_results.models.pagination_next_link import PaginationNextLink from typing import Optional, Set from typing_extensions import Self -class NetworkTestResults(BaseModel): +class NetworkEndpointTestResults(BaseModel): """ - NetworkTestResults + NetworkEndpointTestResults """ # noqa: E501 - results: Optional[List[NetworkTestResult]] = None + results: Optional[List[NetworkEndpointTestResult]] = None total_hits: Optional[StrictInt] = Field(default=None, description="Total number of measurements that match the search criteria", alias="totalHits") test: Optional[EndpointScheduledTest] = None 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") @@ -57,7 +56,7 @@ class NetworkTestResults(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of NetworkTestResults from a JSON string""" + """Create an instance of NetworkEndpointTestResults from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -99,7 +98,7 @@ class NetworkTestResults(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of NetworkTestResults from a dict""" + """Create an instance of NetworkEndpointTestResults from a dict""" if obj is None: return None @@ -107,7 +106,7 @@ class NetworkTestResults(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ - "results": [NetworkTestResult.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None, + "results": [NetworkEndpointTestResult.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None, "totalHits": obj.get("totalHits"), "test": EndpointScheduledTest.from_dict(obj["test"]) if obj.get("test") is not None else None, "startDate": obj.get("startDate"), diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_interface.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_interface.py index 63b6aee5..bdc4435d 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_interface.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_interface.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_metrics.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_metrics.py index e04f8c4e..ba6390d8 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_metrics.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_metrics.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_ping.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_ping.py index 989d18ed..bcc90165 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_ping.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_ping.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_profile.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_profile.py index 11f074a8..a879b49b 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_profile.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_profile.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -19,7 +18,7 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.endpoint_test_results.models.ethernet_profile import EthernetProfile +from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_ethernet_profile import EndpointTestEthernetProfile from thousandeyes_sdk.endpoint_test_results.models.interface_hardware_type import InterfaceHardwareType from thousandeyes_sdk.endpoint_test_results.models.network_interface import NetworkInterface from thousandeyes_sdk.endpoint_test_results.models.network_proxy_profile import NetworkProxyProfile @@ -43,7 +42,7 @@ class NetworkProfile(BaseModel): gateway: Optional[StrictStr] = Field(default=None, description="Network gateway address.") wireless_profile: Optional[NetworkWirelessProfile] = Field(default=None, alias="wirelessProfile") proxy_profile: Optional[NetworkProxyProfile] = Field(default=None, alias="proxyProfile") - ethernet_profile: Optional[EthernetProfile] = Field(default=None, alias="ethernetProfile") + ethernet_profile: Optional[EndpointTestEthernetProfile] = Field(default=None, alias="ethernetProfile") previous_interface: Optional[NetworkInterface] = Field(default=None, alias="previousInterface") __properties: ClassVar[List[str]] = ["ipAddress", "subnetMask", "publicIpAddress", "localPrefix", "publicIpRange", "dnsServers", "hardwareType", "interfaceName", "error", "gateway", "wirelessProfile", "proxyProfile", "ethernetProfile", "previousInterface"] @@ -141,7 +140,7 @@ class NetworkProfile(BaseModel): "gateway": obj.get("gateway"), "wirelessProfile": NetworkWirelessProfile.from_dict(obj["wirelessProfile"]) if obj.get("wirelessProfile") is not None else None, "proxyProfile": NetworkProxyProfile.from_dict(obj["proxyProfile"]) if obj.get("proxyProfile") is not None else None, - "ethernetProfile": EthernetProfile.from_dict(obj["ethernetProfile"]) if obj.get("ethernetProfile") is not None else None, + "ethernetProfile": EndpointTestEthernetProfile.from_dict(obj["ethernetProfile"]) if obj.get("ethernetProfile") is not None else None, "previousInterface": NetworkInterface.from_dict(obj["previousInterface"]) if obj.get("previousInterface") is not None else None }) return _obj diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_proxy.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_proxy.py index 7b76eb60..4fdc6b39 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_proxy.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_proxy.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_proxy_profile.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_proxy_profile.py index cbc65a94..2b9df1c5 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_proxy_profile.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_proxy_profile.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_topology_type.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_topology_type.py index 45c5a2a6..1105933b 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_topology_type.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_topology_type.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class NetworkTopologyType(str, Enum): VPN = 'vpn' PROXY = 'proxy' GATEWAY = 'gateway' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of NetworkTopologyType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_wireless_profile.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_wireless_profile.py index 453d5be0..4f4ecb8a 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_wireless_profile.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_wireless_profile.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/pagination_next_and_self_link.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/pagination_next_and_self_link.py index 0ccbc98a..95ef5026 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/pagination_next_and_self_link.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/pagination_next_and_self_link.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/pagination_next_link.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/pagination_next_link.py index 56c7656d..dcde7cf7 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/pagination_next_link.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/pagination_next_link.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_base_test_result.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_base_endpoint_test_result.py similarity index 90% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_base_test_result.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_base_endpoint_test_result.py index 71266d0d..679cec51 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_base_test_result.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_base_endpoint_test_result.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -27,11 +26,12 @@ from thousandeyes_sdk.endpoint_test_results.models.vpn_profile import VpnProfile from typing import Optional, Set from typing_extensions import Self -class PathVisBaseTestResult(BaseModel): +class PathVisBaseEndpointTestResult(BaseModel): """ - PathVisBaseTestResult + PathVisBaseEndpointTestResult """ # noqa: E501 aid: Optional[StrictStr] = Field(default=None, description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint.") + test_id: Optional[StrictStr] = Field(default=None, description="Unique ID of endpoint test.", alias="testId") agent_id: Optional[StrictStr] = Field(default=None, description="Unique ID of endpoint agent, from `/endpoint/agents` endpoint.", alias="agentId") round_id: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the start time of the round.", alias="roundId") server_ip: Optional[StrictStr] = Field(default=None, description="IP address of target server.", alias="serverIp") @@ -43,7 +43,7 @@ class PathVisBaseTestResult(BaseModel): server: Optional[StrictStr] = Field(default=None, description="Target server, including port.") source_ip: Optional[StrictStr] = Field(default=None, description="IP address of source endpoint agent.", alias="sourceIp") source_prefix: Optional[StrictStr] = Field(default=None, description="IP prefix of source endpoint agent.", alias="sourcePrefix") - __properties: ClassVar[List[str]] = ["aid", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "vpnProfile", "asnDetails", "server", "sourceIp", "sourcePrefix"] + __properties: ClassVar[List[str]] = ["aid", "testId", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "vpnProfile", "asnDetails", "server", "sourceIp", "sourcePrefix"] model_config = ConfigDict( populate_by_name=True, @@ -64,7 +64,7 @@ class PathVisBaseTestResult(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of PathVisBaseTestResult from a JSON string""" + """Create an instance of PathVisBaseEndpointTestResult from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -82,8 +82,10 @@ class PathVisBaseTestResult(BaseModel): * 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([ + "test_id", "agent_id", "round_id", "server_ip", @@ -116,7 +118,7 @@ class PathVisBaseTestResult(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of PathVisBaseTestResult from a dict""" + """Create an instance of PathVisBaseEndpointTestResult from a dict""" if obj is None: return None @@ -125,6 +127,7 @@ class PathVisBaseTestResult(BaseModel): _obj = cls.model_validate({ "aid": obj.get("aid"), + "testId": obj.get("testId"), "agentId": obj.get("agentId"), "roundId": obj.get("roundId"), "serverIp": obj.get("serverIp"), diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_detail_dynamic_test_result.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_detail_dynamic_endpoint_test_result.py similarity index 80% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_detail_dynamic_test_result.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_detail_dynamic_endpoint_test_result.py index 5ff3260b..e6a3d25d 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_detail_dynamic_test_result.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_detail_dynamic_endpoint_test_result.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,10 +19,10 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.endpoint_test_results.models.asn_details import AsnDetails -from thousandeyes_sdk.endpoint_test_results.models.dynamic_test_webex import DynamicTestWebex -from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_protocol import EndpointTestProtocol +from thousandeyes_sdk.endpoint_test_results.models.dynamic_endpoint_test_webex import DynamicEndpointTestWebex +from thousandeyes_sdk.endpoint_test_results.models.endpoint_path_vis_route import EndpointPathVisRoute +from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_result_protocol import EndpointTestResultProtocol from thousandeyes_sdk.endpoint_test_results.models.network_profile import NetworkProfile -from thousandeyes_sdk.endpoint_test_results.models.path_vis_route import PathVisRoute from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics from thousandeyes_sdk.endpoint_test_results.models.target_profile import TargetProfile from thousandeyes_sdk.endpoint_test_results.models.test_probe_mode_response import TestProbeModeResponse @@ -32,11 +31,12 @@ from thousandeyes_sdk.endpoint_test_results.models.vpn_profile import VpnProfile from typing import Optional, Set from typing_extensions import Self -class PathVisDetailDynamicTestResult(BaseModel): +class PathVisDetailDynamicEndpointTestResult(BaseModel): """ - PathVisDetailDynamicTestResult + PathVisDetailDynamicEndpointTestResult """ # noqa: E501 aid: Optional[StrictStr] = Field(default=None, description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint.") + test_id: Optional[StrictStr] = Field(default=None, description="Unique ID of endpoint test.", alias="testId") agent_id: Optional[StrictStr] = Field(default=None, description="Unique ID of endpoint agent, from `/endpoint/agents` endpoint.", alias="agentId") round_id: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the start time of the round.", alias="roundId") server_ip: Optional[StrictStr] = Field(default=None, description="IP address of target server.", alias="serverIp") @@ -48,14 +48,14 @@ class PathVisDetailDynamicTestResult(BaseModel): server: Optional[StrictStr] = Field(default=None, description="Target server, including port.") source_ip: Optional[StrictStr] = Field(default=None, description="IP address of source endpoint agent.", alias="sourceIp") source_prefix: Optional[StrictStr] = Field(default=None, description="IP prefix of source endpoint agent.", alias="sourcePrefix") - path_traces: Optional[List[PathVisRoute]] = Field(default=None, description="Shows iterations of path trace, with each iteration specified by a pathId.", alias="pathTraces") - vpn_path_traces: Optional[List[PathVisRoute]] = Field(default=None, description="Shows iterations of the VPN path trace, with each iteration specified by a pathId.", alias="vpnPathTraces") + path_traces: Optional[List[EndpointPathVisRoute]] = Field(default=None, description="Shows iterations of path trace, with each iteration specified by a pathId.", alias="pathTraces") + vpn_path_traces: Optional[List[EndpointPathVisRoute]] = Field(default=None, description="Shows iterations of the VPN path trace, with each iteration specified by a pathId.", alias="vpnPathTraces") application: Optional[StrictStr] = Field(default=None, description="Which supported application to monitor, can be one of `webex`, `zoom`, `microsoft-teams`.") - protocol: Optional[EndpointTestProtocol] = None + protocol: Optional[EndpointTestResultProtocol] = None tcp_probe_mode: Optional[TestProbeModeResponse] = Field(default=None, alias="tcpProbeMode") udp_probe_mode: Optional[UdpProbeModeResponse] = Field(default=None, alias="udpProbeMode") - webex: Optional[DynamicTestWebex] = None - __properties: ClassVar[List[str]] = ["aid", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "vpnProfile", "asnDetails", "server", "sourceIp", "sourcePrefix", "pathTraces", "vpnPathTraces", "application", "protocol", "tcpProbeMode", "udpProbeMode", "webex"] + webex: Optional[DynamicEndpointTestWebex] = None + __properties: ClassVar[List[str]] = ["aid", "testId", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "vpnProfile", "asnDetails", "server", "sourceIp", "sourcePrefix", "pathTraces", "vpnPathTraces", "application", "protocol", "tcpProbeMode", "udpProbeMode", "webex"] model_config = ConfigDict( populate_by_name=True, @@ -76,7 +76,7 @@ class PathVisDetailDynamicTestResult(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of PathVisDetailDynamicTestResult from a JSON string""" + """Create an instance of PathVisDetailDynamicEndpointTestResult from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -94,8 +94,10 @@ class PathVisDetailDynamicTestResult(BaseModel): * 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([ + "test_id", "agent_id", "round_id", "server_ip", @@ -145,7 +147,7 @@ class PathVisDetailDynamicTestResult(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of PathVisDetailDynamicTestResult from a dict""" + """Create an instance of PathVisDetailDynamicEndpointTestResult from a dict""" if obj is None: return None @@ -154,6 +156,7 @@ class PathVisDetailDynamicTestResult(BaseModel): _obj = cls.model_validate({ "aid": obj.get("aid"), + "testId": obj.get("testId"), "agentId": obj.get("agentId"), "roundId": obj.get("roundId"), "serverIp": obj.get("serverIp"), @@ -165,13 +168,13 @@ class PathVisDetailDynamicTestResult(BaseModel): "server": obj.get("server"), "sourceIp": obj.get("sourceIp"), "sourcePrefix": obj.get("sourcePrefix"), - "pathTraces": [PathVisRoute.from_dict(_item) for _item in obj["pathTraces"]] if obj.get("pathTraces") is not None else None, - "vpnPathTraces": [PathVisRoute.from_dict(_item) for _item in obj["vpnPathTraces"]] if obj.get("vpnPathTraces") is not None else None, + "pathTraces": [EndpointPathVisRoute.from_dict(_item) for _item in obj["pathTraces"]] if obj.get("pathTraces") is not None else None, + "vpnPathTraces": [EndpointPathVisRoute.from_dict(_item) for _item in obj["vpnPathTraces"]] if obj.get("vpnPathTraces") is not None else None, "application": obj.get("application"), "protocol": obj.get("protocol"), "tcpProbeMode": obj.get("tcpProbeMode"), "udpProbeMode": obj.get("udpProbeMode"), - "webex": DynamicTestWebex.from_dict(obj["webex"]) if obj.get("webex") is not None else None + "webex": DynamicEndpointTestWebex.from_dict(obj["webex"]) if obj.get("webex") is not None else None }) return _obj diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_detail_dynamic_test_results.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_detail_dynamic_endpoint_test_results.py similarity index 85% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_detail_dynamic_test_results.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_detail_dynamic_endpoint_test_results.py index ba804f1c..fbfae669 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_detail_dynamic_test_results.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_detail_dynamic_endpoint_test_results.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,16 +19,16 @@ import json from pydantic import BaseModel, ConfigDict, Field from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.endpoint_test_results.models.dynamic_test import DynamicTest -from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_dynamic_test_result import PathVisDetailDynamicTestResult +from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_dynamic_endpoint_test_result import PathVisDetailDynamicEndpointTestResult from thousandeyes_sdk.endpoint_test_results.models.self_links import SelfLinks from typing import Optional, Set from typing_extensions import Self -class PathVisDetailDynamicTestResults(BaseModel): +class PathVisDetailDynamicEndpointTestResults(BaseModel): """ - PathVisDetailDynamicTestResults + PathVisDetailDynamicEndpointTestResults """ # noqa: E501 - results: Optional[List[PathVisDetailDynamicTestResult]] = None + results: Optional[List[PathVisDetailDynamicEndpointTestResult]] = None test: Optional[DynamicTest] = None links: Optional[SelfLinks] = Field(default=None, alias="_links") __properties: ClassVar[List[str]] = ["results", "test", "_links"] @@ -53,7 +52,7 @@ class PathVisDetailDynamicTestResults(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of PathVisDetailDynamicTestResults from a JSON string""" + """Create an instance of PathVisDetailDynamicEndpointTestResults from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -91,7 +90,7 @@ class PathVisDetailDynamicTestResults(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of PathVisDetailDynamicTestResults from a dict""" + """Create an instance of PathVisDetailDynamicEndpointTestResults from a dict""" if obj is None: return None @@ -99,7 +98,7 @@ class PathVisDetailDynamicTestResults(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ - "results": [PathVisDetailDynamicTestResult.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None, + "results": [PathVisDetailDynamicEndpointTestResult.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None, "test": DynamicTest.from_dict(obj["test"]) if obj.get("test") is not None else None, "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None }) diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_detail_test_result.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_detail_endpoint_test_result.py similarity index 82% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_detail_test_result.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_detail_endpoint_test_result.py index 6bf8b405..fec9776b 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_detail_test_result.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_detail_endpoint_test_result.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,19 +19,20 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.endpoint_test_results.models.asn_details import AsnDetails +from thousandeyes_sdk.endpoint_test_results.models.endpoint_path_vis_route import EndpointPathVisRoute from thousandeyes_sdk.endpoint_test_results.models.network_profile import NetworkProfile -from thousandeyes_sdk.endpoint_test_results.models.path_vis_route import PathVisRoute from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics from thousandeyes_sdk.endpoint_test_results.models.target_profile import TargetProfile from thousandeyes_sdk.endpoint_test_results.models.vpn_profile import VpnProfile from typing import Optional, Set from typing_extensions import Self -class PathVisDetailTestResult(BaseModel): +class PathVisDetailEndpointTestResult(BaseModel): """ - PathVisDetailTestResult + PathVisDetailEndpointTestResult """ # noqa: E501 aid: Optional[StrictStr] = Field(default=None, description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint.") + test_id: Optional[StrictStr] = Field(default=None, description="Unique ID of endpoint test.", alias="testId") agent_id: Optional[StrictStr] = Field(default=None, description="Unique ID of endpoint agent, from `/endpoint/agents` endpoint.", alias="agentId") round_id: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the start time of the round.", alias="roundId") server_ip: Optional[StrictStr] = Field(default=None, description="IP address of target server.", alias="serverIp") @@ -44,9 +44,9 @@ class PathVisDetailTestResult(BaseModel): server: Optional[StrictStr] = Field(default=None, description="Target server, including port.") source_ip: Optional[StrictStr] = Field(default=None, description="IP address of source endpoint agent.", alias="sourceIp") source_prefix: Optional[StrictStr] = Field(default=None, description="IP prefix of source endpoint agent.", alias="sourcePrefix") - path_traces: Optional[List[PathVisRoute]] = Field(default=None, description="Shows iterations of path trace, with each iteration specified by a pathId.", alias="pathTraces") - vpn_path_traces: Optional[List[PathVisRoute]] = Field(default=None, description="Shows iterations of the VPN path trace, with each iteration specified by a pathId.", alias="vpnPathTraces") - __properties: ClassVar[List[str]] = ["aid", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "vpnProfile", "asnDetails", "server", "sourceIp", "sourcePrefix", "pathTraces", "vpnPathTraces"] + path_traces: Optional[List[EndpointPathVisRoute]] = Field(default=None, description="Shows iterations of path trace, with each iteration specified by a pathId.", alias="pathTraces") + vpn_path_traces: Optional[List[EndpointPathVisRoute]] = Field(default=None, description="Shows iterations of the VPN path trace, with each iteration specified by a pathId.", alias="vpnPathTraces") + __properties: ClassVar[List[str]] = ["aid", "testId", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "vpnProfile", "asnDetails", "server", "sourceIp", "sourcePrefix", "pathTraces", "vpnPathTraces"] model_config = ConfigDict( populate_by_name=True, @@ -67,7 +67,7 @@ class PathVisDetailTestResult(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of PathVisDetailTestResult from a JSON string""" + """Create an instance of PathVisDetailEndpointTestResult from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -85,8 +85,10 @@ class PathVisDetailTestResult(BaseModel): * 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([ + "test_id", "agent_id", "round_id", "server_ip", @@ -133,7 +135,7 @@ class PathVisDetailTestResult(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of PathVisDetailTestResult from a dict""" + """Create an instance of PathVisDetailEndpointTestResult from a dict""" if obj is None: return None @@ -142,6 +144,7 @@ class PathVisDetailTestResult(BaseModel): _obj = cls.model_validate({ "aid": obj.get("aid"), + "testId": obj.get("testId"), "agentId": obj.get("agentId"), "roundId": obj.get("roundId"), "serverIp": obj.get("serverIp"), @@ -153,8 +156,8 @@ class PathVisDetailTestResult(BaseModel): "server": obj.get("server"), "sourceIp": obj.get("sourceIp"), "sourcePrefix": obj.get("sourcePrefix"), - "pathTraces": [PathVisRoute.from_dict(_item) for _item in obj["pathTraces"]] if obj.get("pathTraces") is not None else None, - "vpnPathTraces": [PathVisRoute.from_dict(_item) for _item in obj["vpnPathTraces"]] if obj.get("vpnPathTraces") is not None else None + "pathTraces": [EndpointPathVisRoute.from_dict(_item) for _item in obj["pathTraces"]] if obj.get("pathTraces") is not None else None, + "vpnPathTraces": [EndpointPathVisRoute.from_dict(_item) for _item in obj["vpnPathTraces"]] if obj.get("vpnPathTraces") is not None else None }) return _obj diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_detail_test_results.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_detail_endpoint_test_results.py similarity index 86% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_detail_test_results.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_detail_endpoint_test_results.py index ba4b951f..190156eb 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_detail_test_results.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_detail_endpoint_test_results.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,16 +19,16 @@ import json from pydantic import BaseModel, ConfigDict, Field from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.endpoint_test_results.models.endpoint_scheduled_test import EndpointScheduledTest -from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_test_result import PathVisDetailTestResult +from thousandeyes_sdk.endpoint_test_results.models.path_vis_detail_endpoint_test_result import PathVisDetailEndpointTestResult from thousandeyes_sdk.endpoint_test_results.models.self_links import SelfLinks from typing import Optional, Set from typing_extensions import Self -class PathVisDetailTestResults(BaseModel): +class PathVisDetailEndpointTestResults(BaseModel): """ - PathVisDetailTestResults + PathVisDetailEndpointTestResults """ # noqa: E501 - results: Optional[List[PathVisDetailTestResult]] = None + results: Optional[List[PathVisDetailEndpointTestResult]] = None test: Optional[EndpointScheduledTest] = None links: Optional[SelfLinks] = Field(default=None, alias="_links") __properties: ClassVar[List[str]] = ["results", "test", "_links"] @@ -53,7 +52,7 @@ class PathVisDetailTestResults(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of PathVisDetailTestResults from a JSON string""" + """Create an instance of PathVisDetailEndpointTestResults from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -91,7 +90,7 @@ class PathVisDetailTestResults(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of PathVisDetailTestResults from a dict""" + """Create an instance of PathVisDetailEndpointTestResults from a dict""" if obj is None: return None @@ -99,7 +98,7 @@ class PathVisDetailTestResults(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ - "results": [PathVisDetailTestResult.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None, + "results": [PathVisDetailEndpointTestResult.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None, "test": EndpointScheduledTest.from_dict(obj["test"]) if obj.get("test") is not None else None, "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None }) diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_dynamic_test_result.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_dynamic_endpoint_test_result.py similarity index 83% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_dynamic_test_result.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_dynamic_endpoint_test_result.py index c934b579..19094d7d 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_dynamic_test_result.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_dynamic_endpoint_test_result.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,10 +19,10 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.endpoint_test_results.models.asn_details import AsnDetails -from thousandeyes_sdk.endpoint_test_results.models.dynamic_test_webex import DynamicTestWebex -from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_protocol import EndpointTestProtocol +from thousandeyes_sdk.endpoint_test_results.models.dynamic_endpoint_test_webex import DynamicEndpointTestWebex +from thousandeyes_sdk.endpoint_test_results.models.endpoint_path_trace import EndpointPathTrace +from thousandeyes_sdk.endpoint_test_results.models.endpoint_test_result_protocol import EndpointTestResultProtocol from thousandeyes_sdk.endpoint_test_results.models.network_profile import NetworkProfile -from thousandeyes_sdk.endpoint_test_results.models.path_vis_endpoint import PathVisEndpoint from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics from thousandeyes_sdk.endpoint_test_results.models.target_profile import TargetProfile from thousandeyes_sdk.endpoint_test_results.models.test_probe_mode_response import TestProbeModeResponse @@ -32,11 +31,12 @@ from thousandeyes_sdk.endpoint_test_results.models.vpn_profile import VpnProfile from typing import Optional, Set from typing_extensions import Self -class PathVisDynamicTestResult(BaseModel): +class PathVisDynamicEndpointTestResult(BaseModel): """ - PathVisDynamicTestResult + PathVisDynamicEndpointTestResult """ # noqa: E501 aid: Optional[StrictStr] = Field(default=None, description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint.") + test_id: Optional[StrictStr] = Field(default=None, description="Unique ID of endpoint test.", alias="testId") agent_id: Optional[StrictStr] = Field(default=None, description="Unique ID of endpoint agent, from `/endpoint/agents` endpoint.", alias="agentId") round_id: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the start time of the round.", alias="roundId") server_ip: Optional[StrictStr] = Field(default=None, description="IP address of target server.", alias="serverIp") @@ -49,13 +49,13 @@ class PathVisDynamicTestResult(BaseModel): source_ip: Optional[StrictStr] = Field(default=None, description="IP address of source endpoint agent.", alias="sourceIp") source_prefix: Optional[StrictStr] = Field(default=None, description="IP prefix of source endpoint agent.", alias="sourcePrefix") application: Optional[StrictStr] = Field(default=None, description="Which supported application to monitor, can be one of `webex`, `zoom`, `microsoft-teams`.") - protocol: Optional[EndpointTestProtocol] = None + protocol: Optional[EndpointTestResultProtocol] = None tcp_probe_mode: Optional[TestProbeModeResponse] = Field(default=None, alias="tcpProbeMode") udp_probe_mode: Optional[UdpProbeModeResponse] = Field(default=None, alias="udpProbeMode") - webex: Optional[DynamicTestWebex] = None + webex: Optional[DynamicEndpointTestWebex] = None location: Optional[StrictStr] = Field(default=None, description="Geographic location of the path visualization.") - path_traces: Optional[List[PathVisEndpoint]] = Field(default=None, description="Shows an iteration of path trace, with each iteration specified by a pathId.", alias="pathTraces") - __properties: ClassVar[List[str]] = ["aid", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "vpnProfile", "asnDetails", "server", "sourceIp", "sourcePrefix", "application", "protocol", "tcpProbeMode", "udpProbeMode", "webex", "location", "pathTraces"] + path_traces: Optional[List[EndpointPathTrace]] = Field(default=None, description="Shows an iteration of path trace, with each iteration specified by a pathId.", alias="pathTraces") + __properties: ClassVar[List[str]] = ["aid", "testId", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "vpnProfile", "asnDetails", "server", "sourceIp", "sourcePrefix", "application", "protocol", "tcpProbeMode", "udpProbeMode", "webex", "location", "pathTraces"] model_config = ConfigDict( populate_by_name=True, @@ -76,7 +76,7 @@ class PathVisDynamicTestResult(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of PathVisDynamicTestResult from a JSON string""" + """Create an instance of PathVisDynamicEndpointTestResult from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -95,8 +95,10 @@ class PathVisDynamicTestResult(BaseModel): * 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([ + "test_id", "agent_id", "round_id", "server_ip", @@ -140,7 +142,7 @@ class PathVisDynamicTestResult(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of PathVisDynamicTestResult from a dict""" + """Create an instance of PathVisDynamicEndpointTestResult from a dict""" if obj is None: return None @@ -149,6 +151,7 @@ class PathVisDynamicTestResult(BaseModel): _obj = cls.model_validate({ "aid": obj.get("aid"), + "testId": obj.get("testId"), "agentId": obj.get("agentId"), "roundId": obj.get("roundId"), "serverIp": obj.get("serverIp"), @@ -164,9 +167,9 @@ class PathVisDynamicTestResult(BaseModel): "protocol": obj.get("protocol"), "tcpProbeMode": obj.get("tcpProbeMode"), "udpProbeMode": obj.get("udpProbeMode"), - "webex": DynamicTestWebex.from_dict(obj["webex"]) if obj.get("webex") is not None else None, + "webex": DynamicEndpointTestWebex.from_dict(obj["webex"]) if obj.get("webex") is not None else None, "location": obj.get("location"), - "pathTraces": [PathVisEndpoint.from_dict(_item) for _item in obj["pathTraces"]] if obj.get("pathTraces") is not None else None + "pathTraces": [EndpointPathTrace.from_dict(_item) for _item in obj["pathTraces"]] if obj.get("pathTraces") is not None else None }) return _obj diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_dynamic_test_results.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_dynamic_endpoint_test_results.py similarity index 83% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_dynamic_test_results.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_dynamic_endpoint_test_results.py index 2cdb8448..ad397988 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_dynamic_test_results.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_dynamic_endpoint_test_results.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -18,24 +17,25 @@ import re # noqa: F401 import json from datetime import datetime -from pydantic import BaseModel, ConfigDict, Field +from pydantic import BaseModel, ConfigDict, Field, StrictInt from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.endpoint_test_results.models.dynamic_test import DynamicTest from thousandeyes_sdk.endpoint_test_results.models.pagination_next_and_self_link import PaginationNextAndSelfLink -from thousandeyes_sdk.endpoint_test_results.models.path_vis_dynamic_test_result import PathVisDynamicTestResult +from thousandeyes_sdk.endpoint_test_results.models.path_vis_dynamic_endpoint_test_result import PathVisDynamicEndpointTestResult from typing import Optional, Set from typing_extensions import Self -class PathVisDynamicTestResults(BaseModel): +class PathVisDynamicEndpointTestResults(BaseModel): """ - PathVisDynamicTestResults + PathVisDynamicEndpointTestResults """ # noqa: E501 - results: Optional[List[PathVisDynamicTestResult]] = None + results: Optional[List[PathVisDynamicEndpointTestResult]] = None test: Optional[DynamicTest] = None 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="(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") + total_hits: Optional[StrictInt] = Field(default=None, description="Total number of measurements that match the search criteria", alias="totalHits") links: Optional[PaginationNextAndSelfLink] = Field(default=None, alias="_links") - __properties: ClassVar[List[str]] = ["results", "test", "startDate", "endDate", "_links"] + __properties: ClassVar[List[str]] = ["results", "test", "startDate", "endDate", "totalHits", "_links"] model_config = ConfigDict( populate_by_name=True, @@ -56,7 +56,7 @@ class PathVisDynamicTestResults(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of PathVisDynamicTestResults from a JSON string""" + """Create an instance of PathVisDynamicEndpointTestResults from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -98,7 +98,7 @@ class PathVisDynamicTestResults(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of PathVisDynamicTestResults from a dict""" + """Create an instance of PathVisDynamicEndpointTestResults from a dict""" if obj is None: return None @@ -106,10 +106,11 @@ class PathVisDynamicTestResults(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ - "results": [PathVisDynamicTestResult.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None, + "results": [PathVisDynamicEndpointTestResult.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None, "test": DynamicTest.from_dict(obj["test"]) if obj.get("test") is not None else None, "startDate": obj.get("startDate"), "endDate": obj.get("endDate"), + "totalHits": obj.get("totalHits"), "_links": PaginationNextAndSelfLink.from_dict(obj["_links"]) if obj.get("_links") is not None else None }) return _obj diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_test_result.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_endpoint_test_result.py similarity index 86% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_test_result.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_endpoint_test_result.py index 5d4d2fe8..3a078f85 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_test_result.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_endpoint_test_result.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,19 +19,20 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.endpoint_test_results.models.asn_details import AsnDetails +from thousandeyes_sdk.endpoint_test_results.models.endpoint_path_trace import EndpointPathTrace from thousandeyes_sdk.endpoint_test_results.models.network_profile import NetworkProfile -from thousandeyes_sdk.endpoint_test_results.models.path_vis_endpoint import PathVisEndpoint from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics from thousandeyes_sdk.endpoint_test_results.models.target_profile import TargetProfile from thousandeyes_sdk.endpoint_test_results.models.vpn_profile import VpnProfile from typing import Optional, Set from typing_extensions import Self -class PathVisTestResult(BaseModel): +class PathVisEndpointTestResult(BaseModel): """ - PathVisTestResult + PathVisEndpointTestResult """ # noqa: E501 aid: Optional[StrictStr] = Field(default=None, description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint.") + test_id: Optional[StrictStr] = Field(default=None, description="Unique ID of endpoint test.", alias="testId") agent_id: Optional[StrictStr] = Field(default=None, description="Unique ID of endpoint agent, from `/endpoint/agents` endpoint.", alias="agentId") round_id: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the start time of the round.", alias="roundId") server_ip: Optional[StrictStr] = Field(default=None, description="IP address of target server.", alias="serverIp") @@ -45,8 +45,8 @@ class PathVisTestResult(BaseModel): source_ip: Optional[StrictStr] = Field(default=None, description="IP address of source endpoint agent.", alias="sourceIp") source_prefix: Optional[StrictStr] = Field(default=None, description="IP prefix of source endpoint agent.", alias="sourcePrefix") location: Optional[StrictStr] = Field(default=None, description="Geographic location of the path visualization.") - path_traces: Optional[List[PathVisEndpoint]] = Field(default=None, description="Shows an iteration of path trace, with each iteration specified by a pathId.", alias="pathTraces") - __properties: ClassVar[List[str]] = ["aid", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "vpnProfile", "asnDetails", "server", "sourceIp", "sourcePrefix", "location", "pathTraces"] + path_traces: Optional[List[EndpointPathTrace]] = Field(default=None, description="Shows an iteration of path trace, with each iteration specified by a pathId.", alias="pathTraces") + __properties: ClassVar[List[str]] = ["aid", "testId", "agentId", "roundId", "serverIp", "networkProfile", "systemMetrics", "originalTargetProfile", "vpnProfile", "asnDetails", "server", "sourceIp", "sourcePrefix", "location", "pathTraces"] model_config = ConfigDict( populate_by_name=True, @@ -67,7 +67,7 @@ class PathVisTestResult(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of PathVisTestResult from a JSON string""" + """Create an instance of PathVisEndpointTestResult from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -86,8 +86,10 @@ class PathVisTestResult(BaseModel): * 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([ + "test_id", "agent_id", "round_id", "server_ip", @@ -128,7 +130,7 @@ class PathVisTestResult(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of PathVisTestResult from a dict""" + """Create an instance of PathVisEndpointTestResult from a dict""" if obj is None: return None @@ -137,6 +139,7 @@ class PathVisTestResult(BaseModel): _obj = cls.model_validate({ "aid": obj.get("aid"), + "testId": obj.get("testId"), "agentId": obj.get("agentId"), "roundId": obj.get("roundId"), "serverIp": obj.get("serverIp"), @@ -149,7 +152,7 @@ class PathVisTestResult(BaseModel): "sourceIp": obj.get("sourceIp"), "sourcePrefix": obj.get("sourcePrefix"), "location": obj.get("location"), - "pathTraces": [PathVisEndpoint.from_dict(_item) for _item in obj["pathTraces"]] if obj.get("pathTraces") is not None else None + "pathTraces": [EndpointPathTrace.from_dict(_item) for _item in obj["pathTraces"]] if obj.get("pathTraces") is not None else None }) return _obj diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_test_results.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_endpoint_test_results.py similarity index 88% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_test_results.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_endpoint_test_results.py index c3854daf..2b87ea43 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_test_results.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_endpoint_test_results.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,15 +21,15 @@ from pydantic import BaseModel, ConfigDict, Field from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.endpoint_test_results.models.endpoint_scheduled_test import EndpointScheduledTest from thousandeyes_sdk.endpoint_test_results.models.pagination_next_and_self_link import PaginationNextAndSelfLink -from thousandeyes_sdk.endpoint_test_results.models.path_vis_test_result import PathVisTestResult +from thousandeyes_sdk.endpoint_test_results.models.path_vis_endpoint_test_result import PathVisEndpointTestResult from typing import Optional, Set from typing_extensions import Self -class PathVisTestResults(BaseModel): +class PathVisEndpointTestResults(BaseModel): """ - PathVisTestResults + PathVisEndpointTestResults """ # noqa: E501 - results: Optional[List[PathVisTestResult]] = None + results: Optional[List[PathVisEndpointTestResult]] = None test: Optional[EndpointScheduledTest] = None 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="(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") @@ -56,7 +55,7 @@ class PathVisTestResults(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of PathVisTestResults from a JSON string""" + """Create an instance of PathVisEndpointTestResults from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -98,7 +97,7 @@ class PathVisTestResults(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of PathVisTestResults from a dict""" + """Create an instance of PathVisEndpointTestResults from a dict""" if obj is None: return None @@ -106,7 +105,7 @@ class PathVisTestResults(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ - "results": [PathVisTestResult.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None, + "results": [PathVisEndpointTestResult.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None, "test": EndpointScheduledTest.from_dict(obj["test"]) if obj.get("test") is not None else None, "startDate": obj.get("startDate"), "endDate": obj.get("endDate"), diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/physical_memory_used_bytes.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/physical_memory_used_bytes.py index f73db2b1..9bf110cd 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/physical_memory_used_bytes.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/physical_memory_used_bytes.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/platform.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/platform.py index 8ba113d4..35902cbc 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/platform.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/platform.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,19 +19,27 @@ from typing_extensions import Self class Platform(str, Enum): """ - OS platform types + OS platform types. Platform \"linux\" was recently renamed to \"roomos\". """ """ allowed enum values """ WINDOWS = 'windows' + ROOMOS = 'roomos' + PHONEOS = 'phoneos' + ELUX = 'elux' LINUX = 'linux' MAC = 'mac' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of Platform from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_real_user_test.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test.py similarity index 96% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_real_user_test.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test.py index 9fbfeb49..73e7653a 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_real_user_test.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -24,9 +23,9 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self -class EndpointRealUserTest(BaseModel): +class RealUserEndpointTest(BaseModel): """ - EndpointRealUserTest + RealUserEndpointTest """ # noqa: E501 agent_id: Optional[StrictStr] = Field(default=None, description="Unique ID of endpoint agent, from `/endpoint/agents` endpoint.", alias="agentId") committed: Optional[datetime] = Field(default=None, description="UTC date when endpoint real user test was committed to the controller (ISO date-time format).") @@ -62,7 +61,7 @@ class EndpointRealUserTest(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of EndpointRealUserTest from a JSON string""" + """Create an instance of RealUserEndpointTest from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -113,7 +112,7 @@ class EndpointRealUserTest(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of EndpointRealUserTest from a dict""" + """Create an instance of RealUserEndpointTest from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_real_user_test_base.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_base.py similarity index 96% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_real_user_test_base.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_base.py index 6f2129bc..2d0dc143 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_real_user_test_base.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_base.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -24,9 +23,9 @@ from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self -class EndpointRealUserTestBase(BaseModel): +class RealUserEndpointTestBase(BaseModel): """ - EndpointRealUserTestBase + RealUserEndpointTestBase """ # noqa: E501 agent_id: Optional[StrictStr] = Field(default=None, description="Unique ID of endpoint agent, from `/endpoint/agents` endpoint.", alias="agentId") committed: Optional[datetime] = Field(default=None, description="UTC date when endpoint real user test was committed to the controller (ISO date-time format).") @@ -61,7 +60,7 @@ class EndpointRealUserTestBase(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of EndpointRealUserTestBase from a JSON string""" + """Create an instance of RealUserEndpointTestBase from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -110,7 +109,7 @@ class EndpointRealUserTestBase(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of EndpointRealUserTestBase from a dict""" + """Create an instance of RealUserEndpointTestBase from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_coordinates.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_coordinates.py similarity index 92% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_coordinates.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_coordinates.py index aa990f9e..bf994543 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_coordinates.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_coordinates.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,7 +21,7 @@ from typing import Any, ClassVar, Dict, List, Optional, Union from typing import Optional, Set from typing_extensions import Self -class RealUserTestCoordinates(BaseModel): +class RealUserEndpointTestCoordinates(BaseModel): """ Contains approximate GPS location of the endpoint agent, based on endpoint agent’s public IP address. """ # noqa: E501 @@ -50,7 +49,7 @@ class RealUserTestCoordinates(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of RealUserTestCoordinates from a JSON string""" + """Create an instance of RealUserEndpointTestCoordinates from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -81,7 +80,7 @@ class RealUserTestCoordinates(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of RealUserTestCoordinates from a dict""" + """Create an instance of RealUserEndpointTestCoordinates from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_real_user_test_detail.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_detail.py similarity index 85% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_real_user_test_detail.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_detail.py index 4b2e7091..37ed3ec3 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_real_user_test_detail.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_detail.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,15 +21,15 @@ from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional, Union from typing_extensions import Annotated from thousandeyes_sdk.endpoint_test_results.models.endpoint_browser import EndpointBrowser -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_coordinates import RealUserTestCoordinates -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_network import RealUserTestNetwork -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_page import RealUserTestPage +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_coordinates import RealUserEndpointTestCoordinates +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_network import RealUserEndpointTestNetwork +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_page import RealUserEndpointTestPage from typing import Optional, Set from typing_extensions import Self -class EndpointRealUserTestDetail(BaseModel): +class RealUserEndpointTestDetail(BaseModel): """ - EndpointRealUserTestDetail + RealUserEndpointTestDetail """ # noqa: E501 agent_id: Optional[StrictStr] = Field(default=None, description="Unique ID of endpoint agent, from `/endpoint/agents` endpoint.", alias="agentId") committed: Optional[datetime] = Field(default=None, description="UTC date when endpoint real user test was committed to the controller (ISO date-time format).") @@ -45,9 +44,9 @@ class EndpointRealUserTestDetail(BaseModel): id: Optional[StrictStr] = Field(default=None, description="Endpoint real user test ID. Each endpoint real user test occurrence has a unique ID.") visited_site: Optional[StrictStr] = Field(default=None, description="Domain used to visit target website.", alias="visitedSite") browser: Optional[EndpointBrowser] = None - coordinates: Optional[RealUserTestCoordinates] = None - pages: Optional[List[RealUserTestPage]] = Field(default=None, description="Web site base domain visited during the session.") - network: Optional[RealUserTestNetwork] = None + coordinates: Optional[RealUserEndpointTestCoordinates] = None + pages: Optional[List[RealUserEndpointTestPage]] = Field(default=None, description="Web site base domain visited during the session.") + network: Optional[RealUserEndpointTestNetwork] = None __properties: ClassVar[List[str]] = ["agentId", "committed", "date", "experienceScore", "numberOfPages", "organizationName", "port", "protocol", "roundId", "sourceAddress", "id", "visitedSite", "browser", "coordinates", "pages", "network"] model_config = ConfigDict( @@ -69,7 +68,7 @@ class EndpointRealUserTestDetail(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of EndpointRealUserTestDetail from a JSON string""" + """Create an instance of RealUserEndpointTestDetail from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -134,7 +133,7 @@ class EndpointRealUserTestDetail(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of EndpointRealUserTestDetail from a dict""" + """Create an instance of RealUserEndpointTestDetail from a dict""" if obj is None: return None @@ -155,9 +154,9 @@ class EndpointRealUserTestDetail(BaseModel): "id": obj.get("id"), "visitedSite": obj.get("visitedSite"), "browser": EndpointBrowser.from_dict(obj["browser"]) if obj.get("browser") is not None else None, - "coordinates": RealUserTestCoordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None, - "pages": [RealUserTestPage.from_dict(_item) for _item in obj["pages"]] if obj.get("pages") is not None else None, - "network": RealUserTestNetwork.from_dict(obj["network"]) if obj.get("network") is not None else None + "coordinates": RealUserEndpointTestCoordinates.from_dict(obj["coordinates"]) if obj.get("coordinates") is not None else None, + "pages": [RealUserEndpointTestPage.from_dict(_item) for _item in obj["pages"]] if obj.get("pages") is not None else None, + "network": RealUserEndpointTestNetwork.from_dict(obj["network"]) if obj.get("network") is not None else None }) return _obj diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_real_user_test_detail_results.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_detail_results.py similarity index 85% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_real_user_test_detail_results.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_detail_results.py index a20915eb..3e70a7f9 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_real_user_test_detail_results.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_detail_results.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -19,16 +18,16 @@ import json from pydantic import BaseModel, ConfigDict, Field from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test_detail import EndpointRealUserTestDetail +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_detail import RealUserEndpointTestDetail from thousandeyes_sdk.endpoint_test_results.models.self_links import SelfLinks from typing import Optional, Set from typing_extensions import Self -class EndpointRealUserTestDetailResults(BaseModel): +class RealUserEndpointTestDetailResults(BaseModel): """ - EndpointRealUserTestDetailResults + RealUserEndpointTestDetailResults """ # noqa: E501 - results: Optional[List[EndpointRealUserTestDetail]] = None + results: Optional[List[RealUserEndpointTestDetail]] = None links: Optional[SelfLinks] = Field(default=None, alias="_links") __properties: ClassVar[List[str]] = ["results", "_links"] @@ -51,7 +50,7 @@ class EndpointRealUserTestDetailResults(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of EndpointRealUserTestDetailResults from a JSON string""" + """Create an instance of RealUserEndpointTestDetailResults from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -86,7 +85,7 @@ class EndpointRealUserTestDetailResults(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of EndpointRealUserTestDetailResults from a dict""" + """Create an instance of RealUserEndpointTestDetailResults from a dict""" if obj is None: return None @@ -94,7 +93,7 @@ class EndpointRealUserTestDetailResults(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ - "results": [EndpointRealUserTestDetail.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None, + "results": [RealUserEndpointTestDetail.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None, "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None }) return _obj diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_network.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_network.py similarity index 96% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_network.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_network.py index eca49f31..dd2ec52c 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_network.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_network.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,7 +28,7 @@ from thousandeyes_sdk.endpoint_test_results.models.vpn_traceroute import VpnTrac from typing import Optional, Set from typing_extensions import Self -class RealUserTestNetwork(BaseModel): +class RealUserEndpointTestNetwork(BaseModel): """ Contains details about network profile and conditions during session. """ # noqa: E501 @@ -64,7 +63,7 @@ class RealUserTestNetwork(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of RealUserTestNetwork from a JSON string""" + """Create an instance of RealUserEndpointTestNetwork from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -116,7 +115,7 @@ class RealUserTestNetwork(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of RealUserTestNetwork from a dict""" + """Create an instance of RealUserEndpointTestNetwork from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_network_result.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_network_result.py similarity index 94% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_network_result.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_network_result.py index 34a86bb5..0d80d3d2 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_network_result.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_network_result.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -25,9 +24,9 @@ from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemM from typing import Optional, Set from typing_extensions import Self -class RealUserTestNetworkResult(BaseModel): +class RealUserEndpointTestNetworkResult(BaseModel): """ - RealUserTestNetworkResult + RealUserEndpointTestNetworkResult """ # noqa: E501 agent_id: Optional[StrictStr] = Field(default=None, description="Unique ID of endpoint agent, from `/endpoint/agents` endpoint.", alias="agentId") var_date: Optional[datetime] = Field(default=None, description="UTC date when endpoint real user test took place (ISO date-time format).", alias="date") @@ -58,7 +57,7 @@ class RealUserTestNetworkResult(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of RealUserTestNetworkResult from a JSON string""" + """Create an instance of RealUserEndpointTestNetworkResult from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -103,7 +102,7 @@ class RealUserTestNetworkResult(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of RealUserTestNetworkResult from a dict""" + """Create an instance of RealUserEndpointTestNetworkResult from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_network_results.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_network_results.py similarity index 86% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_network_results.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_network_results.py index 4ae56cb1..7a2911a9 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_network_results.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_network_results.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,15 +20,15 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.endpoint_test_results.models.pagination_next_link import PaginationNextLink -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_network_result import RealUserTestNetworkResult +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_network_result import RealUserEndpointTestNetworkResult from typing import Optional, Set from typing_extensions import Self -class RealUserTestNetworkResults(BaseModel): +class RealUserEndpointTestNetworkResults(BaseModel): """ - RealUserTestNetworkResults + RealUserEndpointTestNetworkResults """ # noqa: E501 - results: Optional[List[RealUserTestNetworkResult]] = None + results: Optional[List[RealUserEndpointTestNetworkResult]] = None 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="(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") links: Optional[PaginationNextLink] = Field(default=None, alias="_links") @@ -54,7 +53,7 @@ class RealUserTestNetworkResults(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of RealUserTestNetworkResults from a JSON string""" + """Create an instance of RealUserEndpointTestNetworkResults from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -93,7 +92,7 @@ class RealUserTestNetworkResults(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of RealUserTestNetworkResults from a dict""" + """Create an instance of RealUserEndpointTestNetworkResults from a dict""" if obj is None: return None @@ -101,7 +100,7 @@ class RealUserTestNetworkResults(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ - "results": [RealUserTestNetworkResult.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None, + "results": [RealUserEndpointTestNetworkResult.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None, "startDate": obj.get("startDate"), "endDate": obj.get("endDate"), "_links": PaginationNextLink.from_dict(obj["_links"]) if obj.get("_links") is not None else None diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_page.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_page.py similarity index 86% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_page.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_page.py index d191b597..1ed45b7b 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_page.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_page.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,20 +19,20 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_page_timings import RealUserTestPageTimings +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_page_timings import RealUserEndpointTestPageTimings from typing import Optional, Set from typing_extensions import Self -class RealUserTestPage(BaseModel): +class RealUserEndpointTestPage(BaseModel): """ - RealUserTestPage + RealUserEndpointTestPage """ # noqa: E501 page_id: Optional[StrictStr] = Field(default=None, description="Web page ID. The page ID is unique only within an endpoint real user test.", alias="pageId") page_title: Optional[StrictStr] = Field(default=None, description="Web page title.", alias="pageTitle") page_url: Optional[StrictStr] = Field(default=None, description="Web page url", alias="pageUrl") load_date: Optional[datetime] = Field(default=None, description="UTC date when page load started (ISO date-time format).", alias="loadDate") response_code: Optional[StrictInt] = Field(default=None, description="HTTP response code.", alias="responseCode") - page_timings: Optional[RealUserTestPageTimings] = Field(default=None, alias="pageTimings") + page_timings: Optional[RealUserEndpointTestPageTimings] = Field(default=None, alias="pageTimings") __properties: ClassVar[List[str]] = ["pageId", "pageTitle", "pageUrl", "loadDate", "responseCode", "pageTimings"] model_config = ConfigDict( @@ -55,7 +54,7 @@ class RealUserTestPage(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of RealUserTestPage from a JSON string""" + """Create an instance of RealUserEndpointTestPage from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -93,7 +92,7 @@ class RealUserTestPage(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of RealUserTestPage from a dict""" + """Create an instance of RealUserEndpointTestPage from a dict""" if obj is None: return None @@ -106,7 +105,7 @@ class RealUserTestPage(BaseModel): "pageUrl": obj.get("pageUrl"), "loadDate": obj.get("loadDate"), "responseCode": obj.get("responseCode"), - "pageTimings": RealUserTestPageTimings.from_dict(obj["pageTimings"]) if obj.get("pageTimings") is not None else None + "pageTimings": RealUserEndpointTestPageTimings.from_dict(obj["pageTimings"]) if obj.get("pageTimings") is not None else None }) return _obj diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_page_detail_result.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_page_detail_result.py similarity index 91% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_page_detail_result.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_page_detail_result.py index f8056cf5..0319bfa4 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_page_detail_result.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_page_detail_result.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -23,9 +22,9 @@ from thousandeyes_sdk.endpoint_test_results.models.self_links import SelfLinks from typing import Optional, Set from typing_extensions import Self -class RealUserTestPageDetailResult(BaseModel): +class RealUserEndpointTestPageDetailResult(BaseModel): """ - RealUserTestPageDetailResult + RealUserEndpointTestPageDetailResult """ # noqa: E501 har: Optional[Dict[str, Any]] = Field(default=None, description="A HAR object according to the [HTTP Archive 1.2 specifications](http://www.softwareishard.com/blog/har-12-spec/), with an additional `systemMetrics` property.") links: Optional[SelfLinks] = Field(default=None, alias="_links") @@ -50,7 +49,7 @@ class RealUserTestPageDetailResult(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of RealUserTestPageDetailResult from a JSON string""" + """Create an instance of RealUserEndpointTestPageDetailResult from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -78,7 +77,7 @@ class RealUserTestPageDetailResult(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of RealUserTestPageDetailResult from a dict""" + """Create an instance of RealUserEndpointTestPageDetailResult from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_page_result.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_page_result.py similarity index 89% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_page_result.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_page_result.py index 9eebe60f..85b9d882 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_page_result.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_page_result.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,21 +19,21 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_page_timings import RealUserTestPageTimings +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_page_timings import RealUserEndpointTestPageTimings from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics from typing import Optional, Set from typing_extensions import Self -class RealUserTestPageResult(BaseModel): +class RealUserEndpointTestPageResult(BaseModel): """ - RealUserTestPageResult + RealUserEndpointTestPageResult """ # noqa: E501 page_id: Optional[StrictStr] = Field(default=None, description="Web page ID. The page ID is unique only within an endpoint real user test.", alias="pageId") page_title: Optional[StrictStr] = Field(default=None, description="Web page title.", alias="pageTitle") page_url: Optional[StrictStr] = Field(default=None, description="Web page url", alias="pageUrl") load_date: Optional[datetime] = Field(default=None, description="UTC date when page load started (ISO date-time format).", alias="loadDate") response_code: Optional[StrictInt] = Field(default=None, description="HTTP response code.", alias="responseCode") - page_timings: Optional[RealUserTestPageTimings] = Field(default=None, alias="pageTimings") + page_timings: Optional[RealUserEndpointTestPageTimings] = Field(default=None, alias="pageTimings") agent_id: Optional[StrictStr] = Field(default=None, description="Unique ID of endpoint agent, from `/endpoint/agents` endpoint.", alias="agentId") id: Optional[StrictStr] = Field(default=None, description="Endpoint real user test ID. Each endpoint real user test occurrence has a unique ID.") round_id: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the start time of the round.", alias="roundId") @@ -61,7 +60,7 @@ class RealUserTestPageResult(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of RealUserTestPageResult from a JSON string""" + """Create an instance of RealUserEndpointTestPageResult from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -110,7 +109,7 @@ class RealUserTestPageResult(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of RealUserTestPageResult from a dict""" + """Create an instance of RealUserEndpointTestPageResult from a dict""" if obj is None: return None @@ -123,7 +122,7 @@ class RealUserTestPageResult(BaseModel): "pageUrl": obj.get("pageUrl"), "loadDate": obj.get("loadDate"), "responseCode": obj.get("responseCode"), - "pageTimings": RealUserTestPageTimings.from_dict(obj["pageTimings"]) if obj.get("pageTimings") is not None else None, + "pageTimings": RealUserEndpointTestPageTimings.from_dict(obj["pageTimings"]) if obj.get("pageTimings") is not None else None, "agentId": obj.get("agentId"), "id": obj.get("id"), "roundId": obj.get("roundId"), diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_page_results.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_page_results.py similarity index 86% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_page_results.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_page_results.py index aa0b1a04..b9fb6efb 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_page_results.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_page_results.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,15 +20,15 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.endpoint_test_results.models.pagination_next_link import PaginationNextLink -from thousandeyes_sdk.endpoint_test_results.models.real_user_test_page_result import RealUserTestPageResult +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_page_result import RealUserEndpointTestPageResult from typing import Optional, Set from typing_extensions import Self -class RealUserTestPageResults(BaseModel): +class RealUserEndpointTestPageResults(BaseModel): """ - RealUserTestPageResults + RealUserEndpointTestPageResults """ # noqa: E501 - results: Optional[List[RealUserTestPageResult]] = None + results: Optional[List[RealUserEndpointTestPageResult]] = None 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="(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") links: Optional[PaginationNextLink] = Field(default=None, alias="_links") @@ -54,7 +53,7 @@ class RealUserTestPageResults(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of RealUserTestPageResults from a JSON string""" + """Create an instance of RealUserEndpointTestPageResults from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -93,7 +92,7 @@ class RealUserTestPageResults(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of RealUserTestPageResults from a dict""" + """Create an instance of RealUserEndpointTestPageResults from a dict""" if obj is None: return None @@ -101,7 +100,7 @@ class RealUserTestPageResults(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ - "results": [RealUserTestPageResult.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None, + "results": [RealUserEndpointTestPageResult.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None, "startDate": obj.get("startDate"), "endDate": obj.get("endDate"), "_links": PaginationNextLink.from_dict(obj["_links"]) if obj.get("_links") is not None else None diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_page_timings.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_page_timings.py similarity index 91% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_page_timings.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_page_timings.py index f58872c5..94bfece0 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_test_page_timings.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_page_timings.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,9 +21,9 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self -class RealUserTestPageTimings(BaseModel): +class RealUserEndpointTestPageTimings(BaseModel): """ - RealUserTestPageTimings + RealUserEndpointTestPageTimings """ # noqa: E501 on_content_load: Optional[StrictInt] = Field(default=None, description="DOM load time in milliseconds.", alias="onContentLoad") on_load: Optional[StrictInt] = Field(default=None, description="Page load time in milliseconds.", alias="onLoad") @@ -49,7 +48,7 @@ class RealUserTestPageTimings(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of RealUserTestPageTimings from a JSON string""" + """Create an instance of RealUserEndpointTestPageTimings from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -78,7 +77,7 @@ class RealUserTestPageTimings(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of RealUserTestPageTimings from a dict""" + """Create an instance of RealUserEndpointTestPageTimings from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_real_user_test_result_request_filter.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_result_request_filter.py similarity index 94% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_real_user_test_result_request_filter.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_result_request_filter.py index 279cde99..42ec7138 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_real_user_test_result_request_filter.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_result_request_filter.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -25,9 +24,9 @@ from thousandeyes_sdk.endpoint_test_results.models.trigger import Trigger from typing import Optional, Set from typing_extensions import Self -class EndpointRealUserTestResultRequestFilter(BaseModel): +class RealUserEndpointTestResultRequestFilter(BaseModel): """ - EndpointRealUserTestResultRequestFilter + RealUserEndpointTestResultRequestFilter """ # noqa: E501 location: Optional[List[StrictStr]] = Field(default=None, description="Location of the endpoint agent.") connection: Optional[List[InterfaceHardwareType]] = None @@ -64,7 +63,7 @@ class EndpointRealUserTestResultRequestFilter(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of EndpointRealUserTestResultRequestFilter from a JSON string""" + """Create an instance of RealUserEndpointTestResultRequestFilter from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -89,7 +88,7 @@ class EndpointRealUserTestResultRequestFilter(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of EndpointRealUserTestResultRequestFilter from a dict""" + """Create an instance of RealUserEndpointTestResultRequestFilter from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_real_user_test_results.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_results.py similarity index 89% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_real_user_test_results.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_results.py index f9e947af..37424f25 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_real_user_test_results.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_results.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,16 +19,16 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test import EndpointRealUserTest from thousandeyes_sdk.endpoint_test_results.models.pagination_next_link import PaginationNextLink +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test import RealUserEndpointTest from typing import Optional, Set from typing_extensions import Self -class EndpointRealUserTestResults(BaseModel): +class RealUserEndpointTestResults(BaseModel): """ - EndpointRealUserTestResults + RealUserEndpointTestResults """ # noqa: E501 - results: Optional[List[EndpointRealUserTest]] = None + results: Optional[List[RealUserEndpointTest]] = None 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="(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") links: Optional[PaginationNextLink] = Field(default=None, alias="_links") @@ -54,7 +53,7 @@ class EndpointRealUserTestResults(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of EndpointRealUserTestResults from a JSON string""" + """Create an instance of RealUserEndpointTestResults from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -93,7 +92,7 @@ class EndpointRealUserTestResults(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of EndpointRealUserTestResults from a dict""" + """Create an instance of RealUserEndpointTestResults from a dict""" if obj is None: return None @@ -101,7 +100,7 @@ class EndpointRealUserTestResults(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ - "results": [EndpointRealUserTest.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None, + "results": [RealUserEndpointTest.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None, "startDate": obj.get("startDate"), "endDate": obj.get("endDate"), "_links": PaginationNextLink.from_dict(obj["_links"]) if obj.get("_links") is not None else None diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_real_user_test_results_request.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_results_request.py similarity index 83% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_real_user_test_results_request.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_results_request.py index 4ed84326..c241a699 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/endpoint_real_user_test_results_request.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_results_request.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -19,15 +18,15 @@ import json from pydantic import BaseModel, ConfigDict, Field from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.endpoint_test_results.models.endpoint_real_user_test_result_request_filter import EndpointRealUserTestResultRequestFilter +from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_result_request_filter import RealUserEndpointTestResultRequestFilter from typing import Optional, Set from typing_extensions import Self -class EndpointRealUserTestResultsRequest(BaseModel): +class RealUserEndpointTestResultsRequest(BaseModel): """ - EndpointRealUserTestResultsRequest + RealUserEndpointTestResultsRequest """ # noqa: E501 - search_filters: Optional[EndpointRealUserTestResultRequestFilter] = Field(default=None, alias="searchFilters") + search_filters: Optional[RealUserEndpointTestResultRequestFilter] = Field(default=None, alias="searchFilters") __properties: ClassVar[List[str]] = ["searchFilters"] model_config = ConfigDict( @@ -49,7 +48,7 @@ class EndpointRealUserTestResultsRequest(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of EndpointRealUserTestResultsRequest from a JSON string""" + """Create an instance of RealUserEndpointTestResultsRequest from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -77,7 +76,7 @@ class EndpointRealUserTestResultsRequest(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of EndpointRealUserTestResultsRequest from a dict""" + """Create an instance of RealUserEndpointTestResultsRequest from a dict""" if obj is None: return None @@ -85,7 +84,7 @@ class EndpointRealUserTestResultsRequest(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ - "searchFilters": EndpointRealUserTestResultRequestFilter.from_dict(obj["searchFilters"]) if obj.get("searchFilters") is not None else None + "searchFilters": RealUserEndpointTestResultRequestFilter.from_dict(obj["searchFilters"]) if obj.get("searchFilters") is not None else None }) return _obj diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/self_links.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/self_links.py index d63b678c..403070e4 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/self_links.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/self_links.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/sort_order.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/sort_order.py index 7d621e72..df82017e 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/sort_order.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/sort_order.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class SortOrder(str, Enum): """ ASC = 'asc' DESC = 'desc' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of SortOrder from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/system_metrics.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/system_metrics.py index d80d1720..ca9cd0c2 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/system_metrics.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/system_metrics.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/target_network_ping.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/target_network_ping.py index b1a979df..948beea6 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/target_network_ping.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/target_network_ping.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/target_profile.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/target_profile.py index 98fce5ee..48dfd753 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/target_profile.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/target_profile.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/target_traceroute.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/target_traceroute.py index 6748e777..1aebbe99 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/target_traceroute.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/target_traceroute.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/tcp_connect.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/tcp_connect.py index ab805c18..efa1f19c 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/tcp_connect.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/tcp_connect.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/tcp_path_trace_mode_response.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/tcp_path_trace_mode_response.py new file mode 100644 index 00000000..6516bfce --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/tcp_path_trace_mode_response.py @@ -0,0 +1,43 @@ +# coding: utf-8 + +""" + Endpoint Test Results API + + Retrieve results for scheduled and dynamic tests on endpoint agents. + + 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 TcpPathTraceModeResponse(str, Enum): + """ + Path trace mode used by network test. Only valid when the protocol is set to TCP. + """ + + """ + allowed enum values + """ + AUTO = 'auto' + SYN = 'syn' + UNKNOWN = 'unknown' + DATA_MINUS_IN_MINUS_SESSION_MINUS_WITH_MINUS_DECREMENTING_MINUS_TTL = 'data-in-session-with-decrementing-ttl' + DATA_MINUS_IN_MINUS_SESSION = 'data-in-session' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of TcpPathTraceModeResponse from a JSON string""" + return cls(json.loads(json_str)) + + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN + diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/test_interval.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/test_interval.py index 961f2de5..2888ba24 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/test_interval.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/test_interval.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -33,10 +32,15 @@ class TestInterval(int, Enum): NUMBER_900 = 900 NUMBER_1800 = 1800 NUMBER_3600 = 3600 + NUMBER_11184809 = 11184809 @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestInterval from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/test_label.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/test_label.py index 67ead55c..1b11849d 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/test_label.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/test_label.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/test_probe_mode_response.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/test_probe_mode_response.py index a3c45702..28a56fcc 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/test_probe_mode_response.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/test_probe_mode_response.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -36,4 +35,8 @@ class TestProbeModeResponse(str, Enum): """Create an instance of TestProbeModeResponse from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/test_protocol.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/test_protocol.py index 65600f0e..2faf7351 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/test_protocol.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/test_protocol.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class TestProtocol(str, Enum): TCP = 'tcp' ICMP = 'icmp' UDP = 'udp' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestProtocol from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/test_ssl_version_id.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/test_ssl_version_id.py index cbd3d4d8..0ceb54d8 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/test_ssl_version_id.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/test_ssl_version_id.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -31,10 +30,15 @@ class TestSslVersionId(str, Enum): ENUM_4 = '4' ENUM_5 = '5' ENUM_6 = '6' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestSslVersionId from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/threshold_filter_name.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/threshold_filter_name.py index ba004feb..a7670a94 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/threshold_filter_name.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/threshold_filter_name.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -32,10 +31,15 @@ class ThresholdFilterName(str, Enum): CPU = 'cpu' MEMORY = 'memory' SIGNAL_MINUS_QUALITY = 'signal-quality' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of ThresholdFilterName from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/threshold_filter_operator.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/threshold_filter_operator.py index 530db6f3..4d59493c 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/threshold_filter_operator.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/threshold_filter_operator.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class ThresholdFilterOperator(str, Enum): """ GTE = 'gte' LTE = 'lte' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of ThresholdFilterOperator from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/traceroute.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/traceroute.py index 0223253e..d0c70ca9 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/traceroute.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/traceroute.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/traceroute_hop.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/traceroute_hop.py index 6f64d2b6..d32320ac 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/traceroute_hop.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/traceroute_hop.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/trigger.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/trigger.py index c0be365a..4bfc5fbe 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/trigger.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/trigger.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class Trigger(str, Enum): """ AUTO = 'auto' USER = 'user' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of Trigger from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/alert_rounds_violation_mode.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/udp_path_trace_mode_response.py similarity index 59% rename from thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/alert_rounds_violation_mode.py rename to thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/udp_path_trace_mode_response.py index dcbd3253..959b251f 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/alert_rounds_violation_mode.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/udp_path_trace_mode_response.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -18,20 +17,24 @@ from enum import Enum from typing_extensions import Self -class AlertRoundsViolationMode(str, Enum): +class UdpPathTraceModeResponse(str, Enum): """ - `exact` requires that the same agent(s) meet the threshold in consecutive rounds; default is `any` + Path trace mode used by network test. Only valid when the protocol is set to UDP. """ """ allowed enum values """ - EXACT = 'exact' - ANY = 'any' + STUN_MINUS_PCAP = 'stun-pcap' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: - """Create an instance of AlertRoundsViolationMode from a JSON string""" + """Create an instance of UdpPathTraceModeResponse from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/udp_probe_mode_response.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/udp_probe_mode_response.py index 42f31f37..450f188f 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/udp_probe_mode_response.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/udp_probe_mode_response.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -34,4 +33,8 @@ class UdpProbeModeResponse(str, Enum): """Create an instance of UdpProbeModeResponse from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/unauthorized_error.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/unauthorized_error.py index e15b3581..4d6f10cc 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/unauthorized_error.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/unauthorized_error.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/validation_error.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/validation_error.py index 99943197..5ff3f9bc 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/validation_error.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/validation_error.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/validation_error_item.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/validation_error_item.py index 7d8dd058..800c3e0f 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/validation_error_item.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/validation_error_item.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/vpn_network_ping.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/vpn_network_ping.py index f1f08f83..c0ae3b1c 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/vpn_network_ping.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/vpn_network_ping.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/vpn_profile.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/vpn_profile.py index 9de9d10f..f23c48e1 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/vpn_profile.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/vpn_profile.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/vpn_traceroute.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/vpn_traceroute.py index 91f6a4d7..3d3ef061 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/vpn_traceroute.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/vpn_traceroute.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/vpn_type.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/vpn_type.py index f036145c..23370a5b 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/vpn_type.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/vpn_type.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -31,10 +30,15 @@ class VpnType(str, Enum): IVANTI_MINUS_CONNECT_MINUS_SECURE = 'ivanti-connect-secure' ZSCALER_MINUS_INTERNET_MINUS_ACCESS = 'zscaler-internet-access' F5_MINUS_BIG_MINUS_IP = 'f5-big-ip' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of VpnType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-test-results/test/test_web_http_server_scheduled_test_results_api.py b/thousandeyes-sdk-endpoint-test-results/test/test_http_server_endpoint_scheduled_test_results_api.py similarity index 51% rename from thousandeyes-sdk-endpoint-test-results/test/test_web_http_server_scheduled_test_results_api.py rename to thousandeyes-sdk-endpoint-test-results/test/test_http_server_endpoint_scheduled_test_results_api.py index e3eb2822..6e954491 100644 --- a/thousandeyes-sdk-endpoint-test-results/test/test_web_http_server_scheduled_test_results_api.py +++ b/thousandeyes-sdk-endpoint-test-results/test/test_http_server_endpoint_scheduled_test_results_api.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.endpoint_test_results.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.endpoint_test_results.api.web_http_server_scheduled_test_results_api import WebHTTPServerScheduledTestResultsApi +from thousandeyes_sdk.endpoint_test_results.api.http_server_endpoint_scheduled_test_results_api import HTTPServerEndpointScheduledTestResultsApi -class TestWebHTTPServerScheduledTestResultsApi(unittest.TestCase): - """WebHTTPServerScheduledTestResultsApi unit test stubs""" +class TestHTTPServerEndpointScheduledTestResultsApi(unittest.TestCase): + """HTTPServerEndpointScheduledTestResultsApi unit test stubs""" def setUp(self) -> None: - self.api = WebHTTPServerScheduledTestResultsApi() + self.api = HTTPServerEndpointScheduledTestResultsApi() def tearDown(self) -> None: pass @@ -56,46 +55,17 @@ class TestWebHTTPServerScheduledTestResultsApi(unittest.TestCase): "title" : "title" } }, - "alertRules" : [ { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - }, { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - } ], "httpTimeLimit" : 5000, "type" : "http-server", "protocol" : "icmp", "httpVersion" : 2, "followRedirects" : true, - "contentRegex" : "(regex)+", "authType" : "none", "testName" : "Test name", - "verifyCertificate" : false, - "userAgent" : "curl", + "verifyCertificate" : true, "networkMeasurements" : true, "tcpProbeMode" : "auto", - "url" : "www.example.com", + "url" : "https://example.com:443", "labels" : [ { "labelId" : "961", "name" : "Artem label", @@ -106,16 +76,15 @@ class TestWebHTTPServerScheduledTestResultsApi(unittest.TestCase): "isBuiltin" : false } ], "createdDate" : "2022-07-17T22:00:54Z", - "postBody" : "body", - "port" : 80, + "port" : 443, "isEnabled" : true, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "aid" : "1234", "agentSelectorConfig" : { "agentSelectorType" : "all-agents", - "maxMachines" : 10 + "maxMachines" : 25 }, "hasPathTraceInSession" : true, "httpTargetTime" : 100, @@ -239,6 +208,7 @@ class TestWebHTTPServerScheduledTestResultsApi(unittest.TestCase): "dnsServers" : [ "8.8.8.8", "8.8.8.4" ], "gateway" : "10.0.0.1" }, + "testId" : "584739201", "sslTime" : 9, "aid" : "1234", "roundId" : 1384309800, @@ -339,6 +309,7 @@ class TestWebHTTPServerScheduledTestResultsApi(unittest.TestCase): "dnsServers" : [ "8.8.8.8", "8.8.8.4" ], "gateway" : "10.0.0.1" }, + "testId" : "584739201", "sslTime" : 9, "aid" : "1234", "roundId" : 1384309800, @@ -350,7 +321,276 @@ class TestWebHTTPServerScheduledTestResultsApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.endpoint_test_results.models.HttpTestResults.from_json(response_body_json) + response_from_json = thousandeyes_sdk.endpoint_test_results.models.HttpEndpointTestResults.from_json(response_body_json) + assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) + + def test_get_multi_test_filtered_http_server_scheduled_test_results_models_validation(self) -> None: + """Test case for get_multi_test_filtered_http_server_scheduled_test_results request and response models""" + request_body_json = """ + { + "searchSort" : [ { + "sort" : "round-id", + "order" : "desc" + }, { + "sort" : "round-id", + "order" : "desc" + } ], + "searchFilters" : { + "agentId" : [ "52455b09-ff1b-4849-8194-99026cc890e0", "52455b09-ff1b-4849-8194-99026cc890e0" ], + "testId" : [ "5", "5" ] + }, + "thresholdFilter" : { + "conditionalOperator" : "and", + "filters" : [ { + "name" : "response-time", + "value" : 10.0, + "operator" : "gte" + }, { + "name" : "response-time", + "value" : 10.0, + "operator" : "gte" + } ] + } + }""" + + request_loaded_json = json.loads(request_body_json) + request_from_json = thousandeyes_sdk.endpoint_test_results.models.HttpEndpointTestsDataRoundsSearch.from_json(request_body_json) + assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) + + response_body_json = """ + { + "totalHits" : 12, + "endDate" : "2022-07-18T22:00:54Z", + "_links" : { + "next" : { + "hreflang" : "hreflang", + "templated" : true, + "profile" : "profile", + "name" : "name", + "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", + "type" : "type", + "deprecation" : "deprecation", + "title" : "title" + }, + "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" + } + }, + "results" : [ { + "originalTargetProfile" : { + "protocol" : "tcp", + "remotePort" : 80, + "remoteIpAddress" : "120.98.134.7" + }, + "headers" : { + "requestHeaders" : "GET / HTTP/1.1\\r\\nHost: www.thousandeyes.com\\r\\nUser-Agent: curl/7.58.0-DEV\\r\\nAccept: */*\\r\\nAccept-Encoding: deflate, gzip\\r\\nX-ThousandEyes-Agent: yes\\r\\n", + "responseHeaders" : "HTTP/1.1 200 OK\\r\\nContent-Type: text/html;charset=UTF-8\\r\\nContent-Length: 9993\\r\\nConnection: keep-alive\\r\\nDate: Mon, 04 May 2020 16:13:00 GMT\\r\\nServer: Apache\\r\\nContent-Language: en-US\\r\\nContent-Encoding: gzip\\r\\nX-Frame-Options: sameorigin\\r\\nCache-Control: max-age=600, must-revalidate\\r\\nStrict-Transport-Security: max-age=31536000\\r\\nX-Content-Type-Options: nosniff\\r\\nX-XSS-Protection: 1; mode=block\\r\\nVary: Accept-Encoding\\r\\nX-Cache: Hit from cloudfront\\r\\nVia: 1.1 7ba3caf71ae7a52dd411d1a543e80cd8.cloudfront.net (CloudFront)\\r\\nX-Amz-Cf-Pop: SFO5-C3\\r\\nX-Amz-Cf-Id: w4h42tkoJD-rEpkRDZUvnQBmy26GVGe6pUsuRr1Dphf7oajYbjXaOA==\\r\\nAge: 132\\r\\n" + }, + "agentId" : "861b7557-cd57-4bbb-b648-00bddf88ef49", + "redirectTime" : 10, + "numRedirects" : 0, + "vpnProfile" : { + "vpnClientNetworkRange" : [ "9.88.37.27", "9.88.37.27" ], + "vpnGatewayAddress" : "120.98.134.7", + "vpnType" : "cisco-anyconnect", + "vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ] + }, + "errorType" : "connect", + "responseTime" : 14, + "totalTime" : 15, + "responseCode" : 200, + "receiveTime" : 1, + "systemMetrics" : { + "cpuUtilization" : { + "min" : 0.22, + "median" : 0.61, + "max" : 0.75, + "mean" : 0.55, + "count" : 150, + "stdDev" : 0.01 + }, + "physicalMemoryTotalBytes" : 1024, + "startTimeMs" : 1581508857327, + "physicalMemoryUsedBytes" : { + "min" : 1.2, + "median" : 1.85, + "max" : 2.5, + "mean" : 1.77, + "count" : 155, + "stdDev" : 0.25 + }, + "endTimeMs" : 1581508867333 + }, + "connectTime" : 2, + "dnsTime" : 0, + "serverIp" : "193.2.1.88", + "networkProfile" : { + "previousInterface" : { + "publicIpAddress" : "84.255.241.1", + "publicIpRange" : "84.255.241.0-84.255.241.255", + "ipAddress" : "10.0.0.13", + "hardwareType" : "wireless", + "localPrefix" : "10.0.0.0", + "interfaceName" : "en0", + "subnetMask" : "255.255.255.0", + "dnsServers" : [ "8.8.8.8", "8.8.8.4" ] + }, + "ethernetProfile" : { + "linkSpeed" : 860 + }, + "publicIpAddress" : "84.255.241.1", + "publicIpRange" : "84.255.241.0-84.255.241.255", + "ipAddress" : "10.0.0.13", + "hardwareType" : "wireless", + "localPrefix" : "10.0.0.0", + "proxyProfile" : { + "method" : "System", + "proxies" : [ { + "bypass" : "*.local;169.254/16", + "proxy" : "" + }, { + "bypass" : "*.local;169.254/16", + "proxy" : "" + } ] + }, + "subnetMask" : "255.255.255.0", + "error" : "An operation timed out.", + "wirelessProfile" : { + "rssi" : -38, + "bssid" : "4c:ba:ba:f4:fa:fa", + "vendor" : "Cisco", + "txRate" : 130, + "channel" : 1, + "noise" : -95, + "phyMode" : "802.11n", + "ssid" : "Internet for the masses", + "quality" : 100 + }, + "interfaceName" : "en0", + "dnsServers" : [ "8.8.8.8", "8.8.8.4" ], + "gateway" : "10.0.0.1" + }, + "testId" : "584739201", + "sslTime" : 9, + "aid" : "1234", + "roundId" : 1384309800, + "waitTime" : 3, + "errorDetails" : "errorDetails", + "wireSize" : 9993 + }, { + "originalTargetProfile" : { + "protocol" : "tcp", + "remotePort" : 80, + "remoteIpAddress" : "120.98.134.7" + }, + "headers" : { + "requestHeaders" : "GET / HTTP/1.1\\r\\nHost: www.thousandeyes.com\\r\\nUser-Agent: curl/7.58.0-DEV\\r\\nAccept: */*\\r\\nAccept-Encoding: deflate, gzip\\r\\nX-ThousandEyes-Agent: yes\\r\\n", + "responseHeaders" : "HTTP/1.1 200 OK\\r\\nContent-Type: text/html;charset=UTF-8\\r\\nContent-Length: 9993\\r\\nConnection: keep-alive\\r\\nDate: Mon, 04 May 2020 16:13:00 GMT\\r\\nServer: Apache\\r\\nContent-Language: en-US\\r\\nContent-Encoding: gzip\\r\\nX-Frame-Options: sameorigin\\r\\nCache-Control: max-age=600, must-revalidate\\r\\nStrict-Transport-Security: max-age=31536000\\r\\nX-Content-Type-Options: nosniff\\r\\nX-XSS-Protection: 1; mode=block\\r\\nVary: Accept-Encoding\\r\\nX-Cache: Hit from cloudfront\\r\\nVia: 1.1 7ba3caf71ae7a52dd411d1a543e80cd8.cloudfront.net (CloudFront)\\r\\nX-Amz-Cf-Pop: SFO5-C3\\r\\nX-Amz-Cf-Id: w4h42tkoJD-rEpkRDZUvnQBmy26GVGe6pUsuRr1Dphf7oajYbjXaOA==\\r\\nAge: 132\\r\\n" + }, + "agentId" : "861b7557-cd57-4bbb-b648-00bddf88ef49", + "redirectTime" : 10, + "numRedirects" : 0, + "vpnProfile" : { + "vpnClientNetworkRange" : [ "9.88.37.27", "9.88.37.27" ], + "vpnGatewayAddress" : "120.98.134.7", + "vpnType" : "cisco-anyconnect", + "vpnClientAddresses" : [ "184.81.113.85", "13.129.91.62" ] + }, + "errorType" : "connect", + "responseTime" : 14, + "totalTime" : 15, + "responseCode" : 200, + "receiveTime" : 1, + "systemMetrics" : { + "cpuUtilization" : { + "min" : 0.22, + "median" : 0.61, + "max" : 0.75, + "mean" : 0.55, + "count" : 150, + "stdDev" : 0.01 + }, + "physicalMemoryTotalBytes" : 1024, + "startTimeMs" : 1581508857327, + "physicalMemoryUsedBytes" : { + "min" : 1.2, + "median" : 1.85, + "max" : 2.5, + "mean" : 1.77, + "count" : 155, + "stdDev" : 0.25 + }, + "endTimeMs" : 1581508867333 + }, + "connectTime" : 2, + "dnsTime" : 0, + "serverIp" : "193.2.1.88", + "networkProfile" : { + "previousInterface" : { + "publicIpAddress" : "84.255.241.1", + "publicIpRange" : "84.255.241.0-84.255.241.255", + "ipAddress" : "10.0.0.13", + "hardwareType" : "wireless", + "localPrefix" : "10.0.0.0", + "interfaceName" : "en0", + "subnetMask" : "255.255.255.0", + "dnsServers" : [ "8.8.8.8", "8.8.8.4" ] + }, + "ethernetProfile" : { + "linkSpeed" : 860 + }, + "publicIpAddress" : "84.255.241.1", + "publicIpRange" : "84.255.241.0-84.255.241.255", + "ipAddress" : "10.0.0.13", + "hardwareType" : "wireless", + "localPrefix" : "10.0.0.0", + "proxyProfile" : { + "method" : "System", + "proxies" : [ { + "bypass" : "*.local;169.254/16", + "proxy" : "" + }, { + "bypass" : "*.local;169.254/16", + "proxy" : "" + } ] + }, + "subnetMask" : "255.255.255.0", + "error" : "An operation timed out.", + "wirelessProfile" : { + "rssi" : -38, + "bssid" : "4c:ba:ba:f4:fa:fa", + "vendor" : "Cisco", + "txRate" : 130, + "channel" : 1, + "noise" : -95, + "phyMode" : "802.11n", + "ssid" : "Internet for the masses", + "quality" : 100 + }, + "interfaceName" : "en0", + "dnsServers" : [ "8.8.8.8", "8.8.8.4" ], + "gateway" : "10.0.0.1" + }, + "testId" : "584739201", + "sslTime" : 9, + "aid" : "1234", + "roundId" : 1384309800, + "waitTime" : 3, + "errorDetails" : "errorDetails", + "wireSize" : 9993 + } ], + "startDate" : "2022-07-17T22:00:54Z" + }""" + + response_loaded_json = json.loads(response_body_json) + response_from_json = thousandeyes_sdk.endpoint_test_results.models.HttpMultiEndpointTestResults.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) diff --git a/thousandeyes-sdk-endpoint-test-results/test/test_local_network_tests_results_api.py b/thousandeyes-sdk-endpoint-test-results/test/test_local_network_endpoint_test_results_api.py similarity index 98% rename from thousandeyes-sdk-endpoint-test-results/test/test_local_network_tests_results_api.py rename to thousandeyes-sdk-endpoint-test-results/test/test_local_network_endpoint_test_results_api.py index 6c0c96dc..a89529d1 100644 --- a/thousandeyes-sdk-endpoint-test-results/test/test_local_network_tests_results_api.py +++ b/thousandeyes-sdk-endpoint-test-results/test/test_local_network_endpoint_test_results_api.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.endpoint_test_results.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.endpoint_test_results.api.local_network_tests_results_api import LocalNetworkTestsResultsApi +from thousandeyes_sdk.endpoint_test_results.api.local_network_endpoint_test_results_api import LocalNetworkEndpointTestResultsApi -class TestLocalNetworkTestsResultsApi(unittest.TestCase): - """LocalNetworkTestsResultsApi unit test stubs""" +class TestLocalNetworkEndpointTestResultsApi(unittest.TestCase): + """LocalNetworkEndpointTestResultsApi unit test stubs""" def setUp(self) -> None: - self.api = LocalNetworkTestsResultsApi() + self.api = LocalNetworkEndpointTestResultsApi() def tearDown(self) -> None: pass diff --git a/thousandeyes-sdk-endpoint-test-results/test/test_network_dynamic_tests_results_api.py b/thousandeyes-sdk-endpoint-test-results/test/test_network_dynamic_endpoint_test_results_api.py similarity index 93% rename from thousandeyes-sdk-endpoint-test-results/test/test_network_dynamic_tests_results_api.py rename to thousandeyes-sdk-endpoint-test-results/test/test_network_dynamic_endpoint_test_results_api.py index 9e7fa756..acdde4da 100644 --- a/thousandeyes-sdk-endpoint-test-results/test/test_network_dynamic_tests_results_api.py +++ b/thousandeyes-sdk-endpoint-test-results/test/test_network_dynamic_endpoint_test_results_api.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.endpoint_test_results.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.endpoint_test_results.api.network_dynamic_tests_results_api import NetworkDynamicTestsResultsApi +from thousandeyes_sdk.endpoint_test_results.api.network_dynamic_endpoint_test_results_api import NetworkDynamicEndpointTestResultsApi -class TestNetworkDynamicTestsResultsApi(unittest.TestCase): - """NetworkDynamicTestsResultsApi unit test stubs""" +class TestNetworkDynamicEndpointTestResultsApi(unittest.TestCase): + """NetworkDynamicEndpointTestResultsApi unit test stubs""" def setUp(self) -> None: - self.api = NetworkDynamicTestsResultsApi() + self.api = NetworkDynamicEndpointTestResultsApi() def tearDown(self) -> None: pass @@ -59,7 +58,7 @@ class TestNetworkDynamicTestsResultsApi(unittest.TestCase): }""" request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.endpoint_test_results.models.DynamicTestsDataRoundSearch.from_json(request_body_json) + request_from_json = thousandeyes_sdk.endpoint_test_results.models.DynamicEndpointTestsDataRoundSearch.from_json(request_body_json) assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) response_body_json = """ @@ -100,12 +99,12 @@ class TestNetworkDynamicTestsResultsApi(unittest.TestCase): "hasTraceroute" : true, "isEnabled" : true, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "aid" : "1234", "agentSelectorConfig" : { "agentSelectorType" : "all-agents", - "maxMachines" : 10 + "maxMachines" : 25 }, "hasPathTraceInSession" : true, "testName" : "Test name" @@ -144,7 +143,7 @@ class TestNetworkDynamicTestsResultsApi(unittest.TestCase): "maxLatency" : 168.0, "tcpProbeMode" : "auto", "loss" : 0.0, - "protocol" : "icmp", + "protocol" : "tcp", "systemMetrics" : { "cpuUtilization" : { "min" : 0.22, @@ -215,6 +214,7 @@ class TestNetworkDynamicTestsResultsApi(unittest.TestCase): "dnsServers" : [ "8.8.8.8", "8.8.8.4" ], "gateway" : "10.0.0.1" }, + "testId" : "584739201", "webex" : { "remoteSipSessionId" : "22581707460321454", "localSipSessionId" : "22581707460321454", @@ -244,7 +244,7 @@ class TestNetworkDynamicTestsResultsApi(unittest.TestCase): "maxLatency" : 168.0, "tcpProbeMode" : "auto", "loss" : 0.0, - "protocol" : "icmp", + "protocol" : "tcp", "systemMetrics" : { "cpuUtilization" : { "min" : 0.22, @@ -315,6 +315,7 @@ class TestNetworkDynamicTestsResultsApi(unittest.TestCase): "dnsServers" : [ "8.8.8.8", "8.8.8.4" ], "gateway" : "10.0.0.1" }, + "testId" : "584739201", "webex" : { "remoteSipSessionId" : "22581707460321454", "localSipSessionId" : "22581707460321454", @@ -329,7 +330,7 @@ class TestNetworkDynamicTestsResultsApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.endpoint_test_results.models.NetworkDynamicTestResults.from_json(response_body_json) + response_from_json = thousandeyes_sdk.endpoint_test_results.models.NetworkDynamicEndpointTestResults.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_get_dynamic_test_path_vis_agent_round_results_models_validation(self) -> None: @@ -373,12 +374,12 @@ class TestNetworkDynamicTestsResultsApi(unittest.TestCase): "hasTraceroute" : true, "isEnabled" : true, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "aid" : "1234", "agentSelectorConfig" : { "agentSelectorType" : "all-agents", - "maxMachines" : 10 + "maxMachines" : 25 }, "hasPathTraceInSession" : true, "testName" : "Test name" @@ -416,7 +417,7 @@ class TestNetworkDynamicTestsResultsApi(unittest.TestCase): }, "sourcePrefix" : "196.40.96.0/20", "tcpProbeMode" : "auto", - "protocol" : "icmp", + "protocol" : "tcp", "systemMetrics" : { "cpuUtilization" : { "min" : 0.22, @@ -441,6 +442,8 @@ class TestNetworkDynamicTestsResultsApi(unittest.TestCase): "sourceIp" : "196.40.106.237", "application" : "webex", "pathTraces" : [ { + "protocol" : "tcp", + "udpPathTraceMode" : "unknown", "hops" : [ { "rdns" : "core-router1.cpt2.host-h.net", "prefix" : "196.40.96.0/20", @@ -458,8 +461,11 @@ class TestNetworkDynamicTestsResultsApi(unittest.TestCase): "location" : "Cape Town, South Africa", "network" : "HETZNER (Pty) Ltd (AS 37153)" } ], - "pathId" : "4711301366345855606023718047703941305741293841502186803" + "pathId" : "4711301366345855606023718047703941305741293841502186803", + "tcpPathTraceMode" : "auto" }, { + "protocol" : "tcp", + "udpPathTraceMode" : "unknown", "hops" : [ { "rdns" : "core-router1.cpt2.host-h.net", "prefix" : "196.40.96.0/20", @@ -477,9 +483,12 @@ class TestNetworkDynamicTestsResultsApi(unittest.TestCase): "location" : "Cape Town, South Africa", "network" : "HETZNER (Pty) Ltd (AS 37153)" } ], - "pathId" : "4711301366345855606023718047703941305741293841502186803" + "pathId" : "4711301366345855606023718047703941305741293841502186803", + "tcpPathTraceMode" : "auto" } ], "vpnPathTraces" : [ { + "protocol" : "tcp", + "udpPathTraceMode" : "unknown", "hops" : [ { "rdns" : "core-router1.cpt2.host-h.net", "prefix" : "196.40.96.0/20", @@ -497,8 +506,11 @@ class TestNetworkDynamicTestsResultsApi(unittest.TestCase): "location" : "Cape Town, South Africa", "network" : "HETZNER (Pty) Ltd (AS 37153)" } ], - "pathId" : "4711301366345855606023718047703941305741293841502186803" + "pathId" : "4711301366345855606023718047703941305741293841502186803", + "tcpPathTraceMode" : "auto" }, { + "protocol" : "tcp", + "udpPathTraceMode" : "unknown", "hops" : [ { "rdns" : "core-router1.cpt2.host-h.net", "prefix" : "196.40.96.0/20", @@ -516,7 +528,8 @@ class TestNetworkDynamicTestsResultsApi(unittest.TestCase): "location" : "Cape Town, South Africa", "network" : "HETZNER (Pty) Ltd (AS 37153)" } ], - "pathId" : "4711301366345855606023718047703941305741293841502186803" + "pathId" : "4711301366345855606023718047703941305741293841502186803", + "tcpPathTraceMode" : "auto" } ], "serverIp" : "185.199.108.153", "networkProfile" : { @@ -565,6 +578,7 @@ class TestNetworkDynamicTestsResultsApi(unittest.TestCase): "dnsServers" : [ "8.8.8.8", "8.8.8.4" ], "gateway" : "10.0.0.1" }, + "testId" : "584739201", "webex" : { "remoteSipSessionId" : "22581707460321454", "localSipSessionId" : "22581707460321454", @@ -594,7 +608,7 @@ class TestNetworkDynamicTestsResultsApi(unittest.TestCase): }, "sourcePrefix" : "196.40.96.0/20", "tcpProbeMode" : "auto", - "protocol" : "icmp", + "protocol" : "tcp", "systemMetrics" : { "cpuUtilization" : { "min" : 0.22, @@ -619,6 +633,8 @@ class TestNetworkDynamicTestsResultsApi(unittest.TestCase): "sourceIp" : "196.40.106.237", "application" : "webex", "pathTraces" : [ { + "protocol" : "tcp", + "udpPathTraceMode" : "unknown", "hops" : [ { "rdns" : "core-router1.cpt2.host-h.net", "prefix" : "196.40.96.0/20", @@ -636,8 +652,11 @@ class TestNetworkDynamicTestsResultsApi(unittest.TestCase): "location" : "Cape Town, South Africa", "network" : "HETZNER (Pty) Ltd (AS 37153)" } ], - "pathId" : "4711301366345855606023718047703941305741293841502186803" + "pathId" : "4711301366345855606023718047703941305741293841502186803", + "tcpPathTraceMode" : "auto" }, { + "protocol" : "tcp", + "udpPathTraceMode" : "unknown", "hops" : [ { "rdns" : "core-router1.cpt2.host-h.net", "prefix" : "196.40.96.0/20", @@ -655,9 +674,12 @@ class TestNetworkDynamicTestsResultsApi(unittest.TestCase): "location" : "Cape Town, South Africa", "network" : "HETZNER (Pty) Ltd (AS 37153)" } ], - "pathId" : "4711301366345855606023718047703941305741293841502186803" + "pathId" : "4711301366345855606023718047703941305741293841502186803", + "tcpPathTraceMode" : "auto" } ], "vpnPathTraces" : [ { + "protocol" : "tcp", + "udpPathTraceMode" : "unknown", "hops" : [ { "rdns" : "core-router1.cpt2.host-h.net", "prefix" : "196.40.96.0/20", @@ -675,8 +697,11 @@ class TestNetworkDynamicTestsResultsApi(unittest.TestCase): "location" : "Cape Town, South Africa", "network" : "HETZNER (Pty) Ltd (AS 37153)" } ], - "pathId" : "4711301366345855606023718047703941305741293841502186803" + "pathId" : "4711301366345855606023718047703941305741293841502186803", + "tcpPathTraceMode" : "auto" }, { + "protocol" : "tcp", + "udpPathTraceMode" : "unknown", "hops" : [ { "rdns" : "core-router1.cpt2.host-h.net", "prefix" : "196.40.96.0/20", @@ -694,7 +719,8 @@ class TestNetworkDynamicTestsResultsApi(unittest.TestCase): "location" : "Cape Town, South Africa", "network" : "HETZNER (Pty) Ltd (AS 37153)" } ], - "pathId" : "4711301366345855606023718047703941305741293841502186803" + "pathId" : "4711301366345855606023718047703941305741293841502186803", + "tcpPathTraceMode" : "auto" } ], "serverIp" : "185.199.108.153", "networkProfile" : { @@ -743,6 +769,7 @@ class TestNetworkDynamicTestsResultsApi(unittest.TestCase): "dnsServers" : [ "8.8.8.8", "8.8.8.4" ], "gateway" : "10.0.0.1" }, + "testId" : "584739201", "webex" : { "remoteSipSessionId" : "22581707460321454", "localSipSessionId" : "22581707460321454", @@ -755,7 +782,7 @@ class TestNetworkDynamicTestsResultsApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.endpoint_test_results.models.PathVisDetailDynamicTestResults.from_json(response_body_json) + response_from_json = thousandeyes_sdk.endpoint_test_results.models.PathVisDetailDynamicEndpointTestResults.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_get_dynamic_test_path_vis_results_models_validation(self) -> None: @@ -799,17 +826,18 @@ class TestNetworkDynamicTestsResultsApi(unittest.TestCase): "hasTraceroute" : true, "isEnabled" : true, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "aid" : "1234", "agentSelectorConfig" : { "agentSelectorType" : "all-agents", - "maxMachines" : 10 + "maxMachines" : 25 }, "hasPathTraceInSession" : true, "testName" : "Test name" }, "endDate" : "2022-07-18T22:00:54Z", + "totalHits" : 12, "_links" : { "next" : { "hreflang" : "hreflang", @@ -853,7 +881,7 @@ class TestNetworkDynamicTestsResultsApi(unittest.TestCase): }, "sourcePrefix" : "196.40.96.0/20", "tcpProbeMode" : "auto", - "protocol" : "icmp", + "protocol" : "tcp", "systemMetrics" : { "cpuUtilization" : { "min" : 0.22, @@ -878,15 +906,21 @@ class TestNetworkDynamicTestsResultsApi(unittest.TestCase): "sourceIp" : "196.40.106.237", "application" : "webex", "pathTraces" : [ { + "protocol" : "tcp", "numberOfHops" : 15, "responseTime" : 1500, "ipAddress" : "196.40.106.237", - "pathId" : "1230899668701775614109128428722974545787322404682781961521" + "udpPathTraceMode" : "unknown", + "pathId" : "1230899668701775614109128428722974545787322404682781961521", + "tcpPathTraceMode" : "auto" }, { + "protocol" : "tcp", "numberOfHops" : 15, "responseTime" : 1500, "ipAddress" : "196.40.106.237", - "pathId" : "1230899668701775614109128428722974545787322404682781961521" + "udpPathTraceMode" : "unknown", + "pathId" : "1230899668701775614109128428722974545787322404682781961521", + "tcpPathTraceMode" : "auto" } ], "serverIp" : "185.199.108.153", "networkProfile" : { @@ -935,6 +969,7 @@ class TestNetworkDynamicTestsResultsApi(unittest.TestCase): "dnsServers" : [ "8.8.8.8", "8.8.8.4" ], "gateway" : "10.0.0.1" }, + "testId" : "584739201", "location" : "San Francisco Area", "webex" : { "remoteSipSessionId" : "22581707460321454", @@ -965,7 +1000,7 @@ class TestNetworkDynamicTestsResultsApi(unittest.TestCase): }, "sourcePrefix" : "196.40.96.0/20", "tcpProbeMode" : "auto", - "protocol" : "icmp", + "protocol" : "tcp", "systemMetrics" : { "cpuUtilization" : { "min" : 0.22, @@ -990,15 +1025,21 @@ class TestNetworkDynamicTestsResultsApi(unittest.TestCase): "sourceIp" : "196.40.106.237", "application" : "webex", "pathTraces" : [ { + "protocol" : "tcp", "numberOfHops" : 15, "responseTime" : 1500, "ipAddress" : "196.40.106.237", - "pathId" : "1230899668701775614109128428722974545787322404682781961521" + "udpPathTraceMode" : "unknown", + "pathId" : "1230899668701775614109128428722974545787322404682781961521", + "tcpPathTraceMode" : "auto" }, { + "protocol" : "tcp", "numberOfHops" : 15, "responseTime" : 1500, "ipAddress" : "196.40.106.237", - "pathId" : "1230899668701775614109128428722974545787322404682781961521" + "udpPathTraceMode" : "unknown", + "pathId" : "1230899668701775614109128428722974545787322404682781961521", + "tcpPathTraceMode" : "auto" } ], "serverIp" : "185.199.108.153", "networkProfile" : { @@ -1047,6 +1088,7 @@ class TestNetworkDynamicTestsResultsApi(unittest.TestCase): "dnsServers" : [ "8.8.8.8", "8.8.8.4" ], "gateway" : "10.0.0.1" }, + "testId" : "584739201", "location" : "San Francisco Area", "webex" : { "remoteSipSessionId" : "22581707460321454", @@ -1061,7 +1103,7 @@ class TestNetworkDynamicTestsResultsApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.endpoint_test_results.models.PathVisDynamicTestResults.from_json(response_body_json) + response_from_json = thousandeyes_sdk.endpoint_test_results.models.PathVisDynamicEndpointTestResults.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) diff --git a/thousandeyes-sdk-endpoint-test-results/test/test_network_scheduled_tests_results_api.py b/thousandeyes-sdk-endpoint-test-results/test/test_network_endpoint_scheduled_test_results_api.py similarity index 91% rename from thousandeyes-sdk-endpoint-test-results/test/test_network_scheduled_tests_results_api.py rename to thousandeyes-sdk-endpoint-test-results/test/test_network_endpoint_scheduled_test_results_api.py index 208fe4a6..56147a58 100644 --- a/thousandeyes-sdk-endpoint-test-results/test/test_network_scheduled_tests_results_api.py +++ b/thousandeyes-sdk-endpoint-test-results/test/test_network_endpoint_scheduled_test_results_api.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.endpoint_test_results.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.endpoint_test_results.api.network_scheduled_tests_results_api import NetworkScheduledTestsResultsApi +from thousandeyes_sdk.endpoint_test_results.api.network_endpoint_scheduled_test_results_api import NetworkEndpointScheduledTestResultsApi -class TestNetworkScheduledTestsResultsApi(unittest.TestCase): - """NetworkScheduledTestsResultsApi unit test stubs""" +class TestNetworkEndpointScheduledTestResultsApi(unittest.TestCase): + """NetworkEndpointScheduledTestResultsApi unit test stubs""" def setUp(self) -> None: - self.api = NetworkScheduledTestsResultsApi() + self.api = NetworkEndpointScheduledTestResultsApi() def tearDown(self) -> None: pass @@ -58,7 +57,7 @@ class TestNetworkScheduledTestsResultsApi(unittest.TestCase): }""" request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.endpoint_test_results.models.TestsDataRoundsSearch.from_json(request_body_json) + request_from_json = thousandeyes_sdk.endpoint_test_results.models.EndpointTestsDataRoundsSearch.from_json(request_body_json) assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) response_body_json = """ @@ -83,33 +82,6 @@ class TestNetworkScheduledTestsResultsApi(unittest.TestCase): "title" : "title" } }, - "alertRules" : [ { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - }, { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - } ], "networkMeasurements" : true, "type" : "agent-to-server", "tcpProbeMode" : "auto", @@ -124,15 +96,15 @@ class TestNetworkScheduledTestsResultsApi(unittest.TestCase): } ], "protocol" : "icmp", "createdDate" : "2022-07-17T22:00:54Z", - "port" : 80, + "port" : 443, "isEnabled" : true, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "aid" : "1234", "agentSelectorConfig" : { "agentSelectorType" : "all-agents", - "maxMachines" : 10 + "maxMachines" : 25 }, "hasPathTraceInSession" : true, "testName" : "Test name" @@ -238,6 +210,7 @@ class TestNetworkScheduledTestsResultsApi(unittest.TestCase): "dnsServers" : [ "8.8.8.8", "8.8.8.4" ], "gateway" : "10.0.0.1" }, + "testId" : "584739201", "aid" : "1234", "roundId" : 1384309800, "errorDetails" : "Error" @@ -328,6 +301,7 @@ class TestNetworkScheduledTestsResultsApi(unittest.TestCase): "dnsServers" : [ "8.8.8.8", "8.8.8.4" ], "gateway" : "10.0.0.1" }, + "testId" : "584739201", "aid" : "1234", "roundId" : 1384309800, "errorDetails" : "Error" @@ -336,7 +310,7 @@ class TestNetworkScheduledTestsResultsApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.endpoint_test_results.models.NetworkTestResults.from_json(response_body_json) + response_from_json = thousandeyes_sdk.endpoint_test_results.models.NetworkEndpointTestResults.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_filter_scheduled_tests_network_results_models_validation(self) -> None: @@ -369,7 +343,7 @@ class TestNetworkScheduledTestsResultsApi(unittest.TestCase): }""" request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.endpoint_test_results.models.MultiTestIdTestsDataRoundsSearch.from_json(request_body_json) + request_from_json = thousandeyes_sdk.endpoint_test_results.models.MultiTestIdEndpointTestsDataRoundsSearch.from_json(request_body_json) assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) response_body_json = """ @@ -475,6 +449,7 @@ class TestNetworkScheduledTestsResultsApi(unittest.TestCase): "dnsServers" : [ "8.8.8.8", "8.8.8.4" ], "gateway" : "10.0.0.1" }, + "testId" : "584739201", "aid" : "1234", "roundId" : 1384309800, "errorDetails" : "Error" @@ -565,6 +540,7 @@ class TestNetworkScheduledTestsResultsApi(unittest.TestCase): "dnsServers" : [ "8.8.8.8", "8.8.8.4" ], "gateway" : "10.0.0.1" }, + "testId" : "584739201", "aid" : "1234", "roundId" : 1384309800, "errorDetails" : "Error" @@ -573,7 +549,7 @@ class TestNetworkScheduledTestsResultsApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.endpoint_test_results.models.MultiTestIdNetworkTestResults.from_json(response_body_json) + response_from_json = thousandeyes_sdk.endpoint_test_results.models.MultiTestIdNetworkEndpointTestResults.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_get_scheduled_test_path_vis_agent_round_results_models_validation(self) -> None: @@ -601,33 +577,6 @@ class TestNetworkScheduledTestsResultsApi(unittest.TestCase): "title" : "title" } }, - "alertRules" : [ { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - }, { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - } ], "networkMeasurements" : true, "type" : "agent-to-server", "tcpProbeMode" : "auto", @@ -642,15 +591,15 @@ class TestNetworkScheduledTestsResultsApi(unittest.TestCase): } ], "protocol" : "icmp", "createdDate" : "2022-07-17T22:00:54Z", - "port" : 80, + "port" : 443, "isEnabled" : true, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "aid" : "1234", "agentSelectorConfig" : { "agentSelectorType" : "all-agents", - "maxMachines" : 10 + "maxMachines" : 25 }, "hasPathTraceInSession" : true, "testName" : "Test name" @@ -709,6 +658,8 @@ class TestNetworkScheduledTestsResultsApi(unittest.TestCase): }, "sourceIp" : "196.40.106.237", "pathTraces" : [ { + "protocol" : "tcp", + "udpPathTraceMode" : "unknown", "hops" : [ { "rdns" : "core-router1.cpt2.host-h.net", "prefix" : "196.40.96.0/20", @@ -726,8 +677,11 @@ class TestNetworkScheduledTestsResultsApi(unittest.TestCase): "location" : "Cape Town, South Africa", "network" : "HETZNER (Pty) Ltd (AS 37153)" } ], - "pathId" : "4711301366345855606023718047703941305741293841502186803" + "pathId" : "4711301366345855606023718047703941305741293841502186803", + "tcpPathTraceMode" : "auto" }, { + "protocol" : "tcp", + "udpPathTraceMode" : "unknown", "hops" : [ { "rdns" : "core-router1.cpt2.host-h.net", "prefix" : "196.40.96.0/20", @@ -745,9 +699,12 @@ class TestNetworkScheduledTestsResultsApi(unittest.TestCase): "location" : "Cape Town, South Africa", "network" : "HETZNER (Pty) Ltd (AS 37153)" } ], - "pathId" : "4711301366345855606023718047703941305741293841502186803" + "pathId" : "4711301366345855606023718047703941305741293841502186803", + "tcpPathTraceMode" : "auto" } ], "vpnPathTraces" : [ { + "protocol" : "tcp", + "udpPathTraceMode" : "unknown", "hops" : [ { "rdns" : "core-router1.cpt2.host-h.net", "prefix" : "196.40.96.0/20", @@ -765,8 +722,11 @@ class TestNetworkScheduledTestsResultsApi(unittest.TestCase): "location" : "Cape Town, South Africa", "network" : "HETZNER (Pty) Ltd (AS 37153)" } ], - "pathId" : "4711301366345855606023718047703941305741293841502186803" + "pathId" : "4711301366345855606023718047703941305741293841502186803", + "tcpPathTraceMode" : "auto" }, { + "protocol" : "tcp", + "udpPathTraceMode" : "unknown", "hops" : [ { "rdns" : "core-router1.cpt2.host-h.net", "prefix" : "196.40.96.0/20", @@ -784,7 +744,8 @@ class TestNetworkScheduledTestsResultsApi(unittest.TestCase): "location" : "Cape Town, South Africa", "network" : "HETZNER (Pty) Ltd (AS 37153)" } ], - "pathId" : "4711301366345855606023718047703941305741293841502186803" + "pathId" : "4711301366345855606023718047703941305741293841502186803", + "tcpPathTraceMode" : "auto" } ], "serverIp" : "185.199.108.153", "networkProfile" : { @@ -833,6 +794,7 @@ class TestNetworkScheduledTestsResultsApi(unittest.TestCase): "dnsServers" : [ "8.8.8.8", "8.8.8.4" ], "gateway" : "10.0.0.1" }, + "testId" : "584739201", "aid" : "1234", "roundId" : 1384309800 }, { @@ -877,6 +839,8 @@ class TestNetworkScheduledTestsResultsApi(unittest.TestCase): }, "sourceIp" : "196.40.106.237", "pathTraces" : [ { + "protocol" : "tcp", + "udpPathTraceMode" : "unknown", "hops" : [ { "rdns" : "core-router1.cpt2.host-h.net", "prefix" : "196.40.96.0/20", @@ -894,8 +858,11 @@ class TestNetworkScheduledTestsResultsApi(unittest.TestCase): "location" : "Cape Town, South Africa", "network" : "HETZNER (Pty) Ltd (AS 37153)" } ], - "pathId" : "4711301366345855606023718047703941305741293841502186803" + "pathId" : "4711301366345855606023718047703941305741293841502186803", + "tcpPathTraceMode" : "auto" }, { + "protocol" : "tcp", + "udpPathTraceMode" : "unknown", "hops" : [ { "rdns" : "core-router1.cpt2.host-h.net", "prefix" : "196.40.96.0/20", @@ -913,9 +880,12 @@ class TestNetworkScheduledTestsResultsApi(unittest.TestCase): "location" : "Cape Town, South Africa", "network" : "HETZNER (Pty) Ltd (AS 37153)" } ], - "pathId" : "4711301366345855606023718047703941305741293841502186803" + "pathId" : "4711301366345855606023718047703941305741293841502186803", + "tcpPathTraceMode" : "auto" } ], "vpnPathTraces" : [ { + "protocol" : "tcp", + "udpPathTraceMode" : "unknown", "hops" : [ { "rdns" : "core-router1.cpt2.host-h.net", "prefix" : "196.40.96.0/20", @@ -933,8 +903,11 @@ class TestNetworkScheduledTestsResultsApi(unittest.TestCase): "location" : "Cape Town, South Africa", "network" : "HETZNER (Pty) Ltd (AS 37153)" } ], - "pathId" : "4711301366345855606023718047703941305741293841502186803" + "pathId" : "4711301366345855606023718047703941305741293841502186803", + "tcpPathTraceMode" : "auto" }, { + "protocol" : "tcp", + "udpPathTraceMode" : "unknown", "hops" : [ { "rdns" : "core-router1.cpt2.host-h.net", "prefix" : "196.40.96.0/20", @@ -952,7 +925,8 @@ class TestNetworkScheduledTestsResultsApi(unittest.TestCase): "location" : "Cape Town, South Africa", "network" : "HETZNER (Pty) Ltd (AS 37153)" } ], - "pathId" : "4711301366345855606023718047703941305741293841502186803" + "pathId" : "4711301366345855606023718047703941305741293841502186803", + "tcpPathTraceMode" : "auto" } ], "serverIp" : "185.199.108.153", "networkProfile" : { @@ -1001,13 +975,14 @@ class TestNetworkScheduledTestsResultsApi(unittest.TestCase): "dnsServers" : [ "8.8.8.8", "8.8.8.4" ], "gateway" : "10.0.0.1" }, + "testId" : "584739201", "aid" : "1234", "roundId" : 1384309800 } ] }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.endpoint_test_results.models.PathVisDetailTestResults.from_json(response_body_json) + response_from_json = thousandeyes_sdk.endpoint_test_results.models.PathVisDetailEndpointTestResults.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_get_scheduled_test_path_vis_results_models_validation(self) -> None: @@ -1035,33 +1010,6 @@ class TestNetworkScheduledTestsResultsApi(unittest.TestCase): "title" : "title" } }, - "alertRules" : [ { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - }, { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - } ], "networkMeasurements" : true, "type" : "agent-to-server", "tcpProbeMode" : "auto", @@ -1076,15 +1024,15 @@ class TestNetworkScheduledTestsResultsApi(unittest.TestCase): } ], "protocol" : "icmp", "createdDate" : "2022-07-17T22:00:54Z", - "port" : 80, + "port" : 443, "isEnabled" : true, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "aid" : "1234", "agentSelectorConfig" : { "agentSelectorType" : "all-agents", - "maxMachines" : 10 + "maxMachines" : 25 }, "hasPathTraceInSession" : true, "testName" : "Test name" @@ -1154,15 +1102,21 @@ class TestNetworkScheduledTestsResultsApi(unittest.TestCase): }, "sourceIp" : "196.40.106.237", "pathTraces" : [ { + "protocol" : "tcp", "numberOfHops" : 15, "responseTime" : 1500, "ipAddress" : "196.40.106.237", - "pathId" : "1230899668701775614109128428722974545787322404682781961521" + "udpPathTraceMode" : "unknown", + "pathId" : "1230899668701775614109128428722974545787322404682781961521", + "tcpPathTraceMode" : "auto" }, { + "protocol" : "tcp", "numberOfHops" : 15, "responseTime" : 1500, "ipAddress" : "196.40.106.237", - "pathId" : "1230899668701775614109128428722974545787322404682781961521" + "udpPathTraceMode" : "unknown", + "pathId" : "1230899668701775614109128428722974545787322404682781961521", + "tcpPathTraceMode" : "auto" } ], "serverIp" : "185.199.108.153", "networkProfile" : { @@ -1211,6 +1165,7 @@ class TestNetworkScheduledTestsResultsApi(unittest.TestCase): "dnsServers" : [ "8.8.8.8", "8.8.8.4" ], "gateway" : "10.0.0.1" }, + "testId" : "584739201", "location" : "San Francisco Area", "aid" : "1234", "roundId" : 1384309800 @@ -1256,15 +1211,21 @@ class TestNetworkScheduledTestsResultsApi(unittest.TestCase): }, "sourceIp" : "196.40.106.237", "pathTraces" : [ { + "protocol" : "tcp", "numberOfHops" : 15, "responseTime" : 1500, "ipAddress" : "196.40.106.237", - "pathId" : "1230899668701775614109128428722974545787322404682781961521" + "udpPathTraceMode" : "unknown", + "pathId" : "1230899668701775614109128428722974545787322404682781961521", + "tcpPathTraceMode" : "auto" }, { + "protocol" : "tcp", "numberOfHops" : 15, "responseTime" : 1500, "ipAddress" : "196.40.106.237", - "pathId" : "1230899668701775614109128428722974545787322404682781961521" + "udpPathTraceMode" : "unknown", + "pathId" : "1230899668701775614109128428722974545787322404682781961521", + "tcpPathTraceMode" : "auto" } ], "serverIp" : "185.199.108.153", "networkProfile" : { @@ -1313,6 +1274,7 @@ class TestNetworkScheduledTestsResultsApi(unittest.TestCase): "dnsServers" : [ "8.8.8.8", "8.8.8.4" ], "gateway" : "10.0.0.1" }, + "testId" : "584739201", "location" : "San Francisco Area", "aid" : "1234", "roundId" : 1384309800 @@ -1321,7 +1283,7 @@ class TestNetworkScheduledTestsResultsApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.endpoint_test_results.models.PathVisTestResults.from_json(response_body_json) + response_from_json = thousandeyes_sdk.endpoint_test_results.models.PathVisEndpointTestResults.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) diff --git a/thousandeyes-sdk-endpoint-test-results/test/test_real_user_tests_results_api.py b/thousandeyes-sdk-endpoint-test-results/test/test_real_user_endpoint_test_results_api.py similarity index 98% rename from thousandeyes-sdk-endpoint-test-results/test/test_real_user_tests_results_api.py rename to thousandeyes-sdk-endpoint-test-results/test/test_real_user_endpoint_test_results_api.py index 18999928..0c170d6f 100644 --- a/thousandeyes-sdk-endpoint-test-results/test/test_real_user_tests_results_api.py +++ b/thousandeyes-sdk-endpoint-test-results/test/test_real_user_endpoint_test_results_api.py @@ -5,7 +5,6 @@ Retrieve results for scheduled and dynamic tests on endpoint agents. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.endpoint_test_results.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.endpoint_test_results.api.real_user_tests_results_api import RealUserTestsResultsApi +from thousandeyes_sdk.endpoint_test_results.api.real_user_endpoint_test_results_api import RealUserEndpointTestResultsApi -class TestRealUserTestsResultsApi(unittest.TestCase): - """RealUserTestsResultsApi unit test stubs""" +class TestRealUserEndpointTestResultsApi(unittest.TestCase): + """RealUserEndpointTestResultsApi unit test stubs""" def setUp(self) -> None: - self.api = RealUserTestsResultsApi() + self.api = RealUserEndpointTestResultsApi() def tearDown(self) -> None: pass @@ -52,7 +51,7 @@ class TestRealUserTestsResultsApi(unittest.TestCase): }""" request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.endpoint_test_results.models.EndpointRealUserTestResultsRequest.from_json(request_body_json) + request_from_json = thousandeyes_sdk.endpoint_test_results.models.RealUserEndpointTestResultsRequest.from_json(request_body_json) assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) response_body_json = """ @@ -163,7 +162,7 @@ class TestRealUserTestsResultsApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.endpoint_test_results.models.RealUserTestNetworkResults.from_json(response_body_json) + response_from_json = thousandeyes_sdk.endpoint_test_results.models.RealUserEndpointTestNetworkResults.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_filter_real_user_tests_results_models_validation(self) -> None: @@ -189,7 +188,7 @@ class TestRealUserTestsResultsApi(unittest.TestCase): }""" request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.endpoint_test_results.models.EndpointRealUserTestResultsRequest.from_json(request_body_json) + request_from_json = thousandeyes_sdk.endpoint_test_results.models.RealUserEndpointTestResultsRequest.from_json(request_body_json) assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) response_body_json = """ @@ -240,7 +239,7 @@ class TestRealUserTestsResultsApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.endpoint_test_results.models.EndpointRealUserTestResults.from_json(response_body_json) + response_from_json = thousandeyes_sdk.endpoint_test_results.models.RealUserEndpointTestResults.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_filter_real_user_tests_visited_pages_results_models_validation(self) -> None: @@ -264,7 +263,7 @@ class TestRealUserTestsResultsApi(unittest.TestCase): }""" request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.endpoint_test_results.models.EndpointRealUserTestResultRequestFilter.from_json(request_body_json) + request_from_json = thousandeyes_sdk.endpoint_test_results.models.RealUserEndpointTestResultRequestFilter.from_json(request_body_json) assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) response_body_json = """ @@ -357,7 +356,7 @@ class TestRealUserTestsResultsApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.endpoint_test_results.models.RealUserTestPageResults.from_json(response_body_json) + response_from_json = thousandeyes_sdk.endpoint_test_results.models.RealUserEndpointTestPageResults.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_get_real_user_test_page_results_models_validation(self) -> None: @@ -381,11 +380,11 @@ class TestRealUserTestsResultsApi(unittest.TestCase): "log" : { "browser" : { "name" : "Google Chrome", - "version" : "7.0.8.98" + "version" : "7.0.20.98" }, "creator" : { "name" : "ThousandEyes Endpoint Agent", - "version" : "7.0.8" + "version" : "7.0.20" }, "entries" : [ { "pageref" : "page_1", @@ -603,7 +602,7 @@ class TestRealUserTestsResultsApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.endpoint_test_results.models.RealUserTestPageDetailResult.from_json(response_body_json) + response_from_json = thousandeyes_sdk.endpoint_test_results.models.RealUserEndpointTestPageDetailResult.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_get_real_user_test_results_models_validation(self) -> None: @@ -1009,7 +1008,7 @@ class TestRealUserTestsResultsApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.endpoint_test_results.models.EndpointRealUserTestDetailResults.from_json(response_body_json) + response_from_json = thousandeyes_sdk.endpoint_test_results.models.RealUserEndpointTestDetailResults.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) diff --git a/thousandeyes-sdk-endpoint-tests/.openapi-generator/FILES b/thousandeyes-sdk-endpoint-tests/.openapi-generator/FILES index c553bf67..0da7ad99 100644 --- a/thousandeyes-sdk-endpoint-tests/.openapi-generator/FILES +++ b/thousandeyes-sdk-endpoint-tests/.openapi-generator/FILES @@ -1,16 +1,13 @@ .openapi-generator-ignore MANIFEST.in README.md -docs/AlertDirection.md -docs/AlertRoundsViolationMode.md -docs/AlertRule.md -docs/AlertType.md +docs/AgentToServerEndpointDynamicTestsApi.md +docs/AgentToServerEndpointScheduledTestsApi.md docs/DynamicTest.md docs/DynamicTestLinks.md docs/DynamicTestRequest.md docs/DynamicTestSelfLink.md docs/DynamicTests.md -docs/DynamicTestsAgentToServerApi.md docs/EndpointAgentLabelsSelectorConfig.md docs/EndpointAgentSelectorConfig.md docs/EndpointAgentToServerInstantTest.md @@ -28,6 +25,7 @@ docs/EndpointHttpTestUpdate.md docs/EndpointInstantTest.md docs/EndpointNetworkTestUpdate.md docs/EndpointScheduledTestType.md +docs/EndpointScheduledTestsApi.md docs/EndpointSpecificAgentsSelectorConfig.md docs/EndpointTest.md docs/EndpointTestAgentSelectorType.md @@ -37,12 +35,9 @@ docs/EndpointTestProtocol.md docs/EndpointTestSelfLink.md docs/EndpointTests.md docs/Error.md +docs/HTTPServerEndpointScheduledTestsApi.md docs/Link.md -docs/ListEndpointScheduledTestsApi.md -docs/ScheduledTestsAgentToServerApi.md -docs/ScheduledTestsHTTPServerApi.md docs/SelfLinks.md -docs/Severity.md docs/TestInterval.md docs/TestLabel.md docs/TestProbeMode.md @@ -56,15 +51,11 @@ pyproject.toml setup.cfg src/thousandeyes_sdk/endpoint_tests/__init__.py src/thousandeyes_sdk/endpoint_tests/api/__init__.py -src/thousandeyes_sdk/endpoint_tests/api/dynamic_tests_agent_to_server_api.py -src/thousandeyes_sdk/endpoint_tests/api/list_endpoint_scheduled_tests_api.py -src/thousandeyes_sdk/endpoint_tests/api/scheduled_tests_agent_to_server_api.py -src/thousandeyes_sdk/endpoint_tests/api/scheduled_tests_http_server_api.py +src/thousandeyes_sdk/endpoint_tests/api/agent_to_server_endpoint_dynamic_tests_api.py +src/thousandeyes_sdk/endpoint_tests/api/agent_to_server_endpoint_scheduled_tests_api.py +src/thousandeyes_sdk/endpoint_tests/api/endpoint_scheduled_tests_api.py +src/thousandeyes_sdk/endpoint_tests/api/http_server_endpoint_scheduled_tests_api.py src/thousandeyes_sdk/endpoint_tests/models/__init__.py -src/thousandeyes_sdk/endpoint_tests/models/alert_direction.py -src/thousandeyes_sdk/endpoint_tests/models/alert_rounds_violation_mode.py -src/thousandeyes_sdk/endpoint_tests/models/alert_rule.py -src/thousandeyes_sdk/endpoint_tests/models/alert_type.py src/thousandeyes_sdk/endpoint_tests/models/dynamic_test.py src/thousandeyes_sdk/endpoint_tests/models/dynamic_test_links.py src/thousandeyes_sdk/endpoint_tests/models/dynamic_test_request.py @@ -98,7 +89,6 @@ src/thousandeyes_sdk/endpoint_tests/models/endpoint_tests.py src/thousandeyes_sdk/endpoint_tests/models/error.py src/thousandeyes_sdk/endpoint_tests/models/link.py src/thousandeyes_sdk/endpoint_tests/models/self_links.py -src/thousandeyes_sdk/endpoint_tests/models/severity.py src/thousandeyes_sdk/endpoint_tests/models/test_interval.py src/thousandeyes_sdk/endpoint_tests/models/test_label.py src/thousandeyes_sdk/endpoint_tests/models/test_probe_mode.py @@ -110,8 +100,8 @@ src/thousandeyes_sdk/endpoint_tests/models/validation_error.py src/thousandeyes_sdk/endpoint_tests/models/validation_error_item.py src/thousandeyes_sdk/endpoint_tests/py.typed test/__init__.py -test/test_dynamic_tests_agent_to_server_api.py -test/test_list_endpoint_scheduled_tests_api.py -test/test_scheduled_tests_agent_to_server_api.py -test/test_scheduled_tests_http_server_api.py +test/test_agent_to_server_endpoint_dynamic_tests_api.py +test/test_agent_to_server_endpoint_scheduled_tests_api.py +test/test_endpoint_scheduled_tests_api.py +test/test_http_server_endpoint_scheduled_tests_api.py test/test_utils.py diff --git a/thousandeyes-sdk-endpoint-tests/README.md b/thousandeyes-sdk-endpoint-tests/README.md index 111367cc..29a0871b 100644 --- a/thousandeyes-sdk-endpoint-tests/README.md +++ b/thousandeyes-sdk-endpoint-tests/README.md @@ -5,7 +5,7 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 7.0.8 +- API version: 7.0.20 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator @@ -57,10 +57,10 @@ import thousandeyes_sdk.endpoint_tests from thousandeyes_sdk.core.exceptions import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -77,50 +77,46 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.core.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_tests.DynamicTestsAgentToServerApi(api_client) + api_instance = thousandeyes_sdk.endpoint_tests.AgentToServerEndpointDynamicTestsApi(api_client) dynamic_test_request = thousandeyes_sdk.endpoint_tests.DynamicTestRequest() # DynamicTestRequest | aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) try: # Create endpoint dynamic test api_response = api_instance.create_agent_to_server_endpoint_dynamic_test(dynamic_test_request, aid=aid) - print("The response of DynamicTestsAgentToServerApi->create_agent_to_server_endpoint_dynamic_test:\n") + print("The response of AgentToServerEndpointDynamicTestsApi->create_agent_to_server_endpoint_dynamic_test:\n") pprint(api_response) except ApiException as e: - print("Exception when calling DynamicTestsAgentToServerApi->create_agent_to_server_endpoint_dynamic_test: %s\n" % e) + print("Exception when calling AgentToServerEndpointDynamicTestsApi->create_agent_to_server_endpoint_dynamic_test: %s\n" % e) ``` ## Documentation for API Endpoints -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- -*DynamicTestsAgentToServerApi* | [**create_agent_to_server_endpoint_dynamic_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/DynamicTestsAgentToServerApi.md#create_agent_to_server_endpoint_dynamic_test) | **POST** /v7/endpoint/tests/dynamic-tests/agent-to-server | Create endpoint dynamic test -*DynamicTestsAgentToServerApi* | [**delete_agent_to_server_endpoint_dynamic_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/DynamicTestsAgentToServerApi.md#delete_agent_to_server_endpoint_dynamic_test) | **DELETE** /v7/endpoint/tests/dynamic-tests/agent-to-server/{testId} | Delete agent to server dynamic test -*DynamicTestsAgentToServerApi* | [**get_agent_to_server_endpoint_dynamic_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/DynamicTestsAgentToServerApi.md#get_agent_to_server_endpoint_dynamic_test) | **GET** /v7/endpoint/tests/dynamic-tests/agent-to-server/{testId} | Retrieve endpoint dynamic test -*DynamicTestsAgentToServerApi* | [**get_agent_to_server_endpoint_dynamic_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/DynamicTestsAgentToServerApi.md#get_agent_to_server_endpoint_dynamic_tests) | **GET** /v7/endpoint/tests/dynamic-tests/agent-to-server | List endpoint dynamic tests -*DynamicTestsAgentToServerApi* | [**update_agent_to_server_endpoint_dynamic_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/DynamicTestsAgentToServerApi.md#update_agent_to_server_endpoint_dynamic_test) | **PATCH** /v7/endpoint/tests/dynamic-tests/agent-to-server/{testId} | Update agent to server dynamic test -*ListEndpointScheduledTestsApi* | [**get_endpoint_scheduled_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/ListEndpointScheduledTestsApi.md#get_endpoint_scheduled_tests) | **GET** /v7/endpoint/tests/scheduled-tests | List endpoint scheduled tests -*ScheduledTestsAgentToServerApi* | [**create_agent_to_server_endpoint_scheduled_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/ScheduledTestsAgentToServerApi.md#create_agent_to_server_endpoint_scheduled_test) | **POST** /v7/endpoint/tests/scheduled-tests/agent-to-server | Creates agent to server endpoint scheduled test -*ScheduledTestsAgentToServerApi* | [**delete_agent_to_server_endpoint_scheduled_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/ScheduledTestsAgentToServerApi.md#delete_agent_to_server_endpoint_scheduled_test) | **DELETE** /v7/endpoint/tests/scheduled-tests/agent-to-server/{testId} | Delete agent to server scheduled test -*ScheduledTestsAgentToServerApi* | [**get_agent_to_server_endpoint_scheduled_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/ScheduledTestsAgentToServerApi.md#get_agent_to_server_endpoint_scheduled_test) | **GET** /v7/endpoint/tests/scheduled-tests/agent-to-server/{testId} | Retrieve agent to server endpoint scheduled test -*ScheduledTestsAgentToServerApi* | [**get_agent_to_server_endpoint_scheduled_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/ScheduledTestsAgentToServerApi.md#get_agent_to_server_endpoint_scheduled_tests) | **GET** /v7/endpoint/tests/scheduled-tests/agent-to-server | List agent to server endpoint scheduled tests -*ScheduledTestsAgentToServerApi* | [**update_agent_to_server_endpoint_scheduled_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/ScheduledTestsAgentToServerApi.md#update_agent_to_server_endpoint_scheduled_test) | **PATCH** /v7/endpoint/tests/scheduled-tests/agent-to-server/{testId} | Update agent to server endpoint scheduled test -*ScheduledTestsHTTPServerApi* | [**create_http_server_endpoint_scheduled_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/ScheduledTestsHTTPServerApi.md#create_http_server_endpoint_scheduled_test) | **POST** /v7/endpoint/tests/scheduled-tests/http-server | Create HTTP server endpoint scheduled test -*ScheduledTestsHTTPServerApi* | [**delete_http_server_endpoint_scheduled_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/ScheduledTestsHTTPServerApi.md#delete_http_server_endpoint_scheduled_test) | **DELETE** /v7/endpoint/tests/scheduled-tests/http-server/{testId} | Delete HTTP server scheduled test -*ScheduledTestsHTTPServerApi* | [**get_http_server_endpoint_scheduled_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/ScheduledTestsHTTPServerApi.md#get_http_server_endpoint_scheduled_test) | **GET** /v7/endpoint/tests/scheduled-tests/http-server/{testId} | Retrieves HTTP server endpoint scheduled test -*ScheduledTestsHTTPServerApi* | [**get_http_server_endpoint_scheduled_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/ScheduledTestsHTTPServerApi.md#get_http_server_endpoint_scheduled_tests) | **GET** /v7/endpoint/tests/scheduled-tests/http-server | List HTTP server endpoint scheduled tests -*ScheduledTestsHTTPServerApi* | [**update_http_server_endpoint_scheduled_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/ScheduledTestsHTTPServerApi.md#update_http_server_endpoint_scheduled_test) | **PATCH** /v7/endpoint/tests/scheduled-tests/http-server/{testId} | Update HTTP server endpoint scheduled test +*AgentToServerEndpointDynamicTestsApi* | [**create_agent_to_server_endpoint_dynamic_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/AgentToServerEndpointDynamicTestsApi.md#create_agent_to_server_endpoint_dynamic_test) | **POST** /endpoint/tests/dynamic-tests/agent-to-server | Create endpoint dynamic test +*AgentToServerEndpointDynamicTestsApi* | [**delete_agent_to_server_endpoint_dynamic_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/AgentToServerEndpointDynamicTestsApi.md#delete_agent_to_server_endpoint_dynamic_test) | **DELETE** /endpoint/tests/dynamic-tests/agent-to-server/{testId} | Delete agent to server dynamic test +*AgentToServerEndpointDynamicTestsApi* | [**get_agent_to_server_endpoint_dynamic_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/AgentToServerEndpointDynamicTestsApi.md#get_agent_to_server_endpoint_dynamic_test) | **GET** /endpoint/tests/dynamic-tests/agent-to-server/{testId} | Retrieve endpoint dynamic test +*AgentToServerEndpointDynamicTestsApi* | [**get_agent_to_server_endpoint_dynamic_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/AgentToServerEndpointDynamicTestsApi.md#get_agent_to_server_endpoint_dynamic_tests) | **GET** /endpoint/tests/dynamic-tests/agent-to-server | List endpoint dynamic tests +*AgentToServerEndpointDynamicTestsApi* | [**update_agent_to_server_endpoint_dynamic_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/AgentToServerEndpointDynamicTestsApi.md#update_agent_to_server_endpoint_dynamic_test) | **PATCH** /endpoint/tests/dynamic-tests/agent-to-server/{testId} | Update agent to server dynamic test +*AgentToServerEndpointScheduledTestsApi* | [**create_agent_to_server_endpoint_scheduled_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/AgentToServerEndpointScheduledTestsApi.md#create_agent_to_server_endpoint_scheduled_test) | **POST** /endpoint/tests/scheduled-tests/agent-to-server | Creates agent to server endpoint scheduled test +*AgentToServerEndpointScheduledTestsApi* | [**delete_agent_to_server_endpoint_scheduled_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/AgentToServerEndpointScheduledTestsApi.md#delete_agent_to_server_endpoint_scheduled_test) | **DELETE** /endpoint/tests/scheduled-tests/agent-to-server/{testId} | Delete agent to server scheduled test +*AgentToServerEndpointScheduledTestsApi* | [**get_agent_to_server_endpoint_scheduled_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/AgentToServerEndpointScheduledTestsApi.md#get_agent_to_server_endpoint_scheduled_test) | **GET** /endpoint/tests/scheduled-tests/agent-to-server/{testId} | Retrieve agent to server endpoint scheduled test +*AgentToServerEndpointScheduledTestsApi* | [**get_agent_to_server_endpoint_scheduled_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/AgentToServerEndpointScheduledTestsApi.md#get_agent_to_server_endpoint_scheduled_tests) | **GET** /endpoint/tests/scheduled-tests/agent-to-server | List agent to server endpoint scheduled tests +*AgentToServerEndpointScheduledTestsApi* | [**update_agent_to_server_endpoint_scheduled_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/AgentToServerEndpointScheduledTestsApi.md#update_agent_to_server_endpoint_scheduled_test) | **PATCH** /endpoint/tests/scheduled-tests/agent-to-server/{testId} | Update agent to server endpoint scheduled test +*EndpointScheduledTestsApi* | [**get_endpoint_scheduled_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/EndpointScheduledTestsApi.md#get_endpoint_scheduled_tests) | **GET** /endpoint/tests/scheduled-tests | List endpoint scheduled tests +*HTTPServerEndpointScheduledTestsApi* | [**create_http_server_endpoint_scheduled_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/HTTPServerEndpointScheduledTestsApi.md#create_http_server_endpoint_scheduled_test) | **POST** /endpoint/tests/scheduled-tests/http-server | Create HTTP server endpoint scheduled test +*HTTPServerEndpointScheduledTestsApi* | [**delete_http_server_endpoint_scheduled_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/HTTPServerEndpointScheduledTestsApi.md#delete_http_server_endpoint_scheduled_test) | **DELETE** /endpoint/tests/scheduled-tests/http-server/{testId} | Delete HTTP server scheduled test +*HTTPServerEndpointScheduledTestsApi* | [**get_http_server_endpoint_scheduled_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/HTTPServerEndpointScheduledTestsApi.md#get_http_server_endpoint_scheduled_test) | **GET** /endpoint/tests/scheduled-tests/http-server/{testId} | Retrieves HTTP server endpoint scheduled test +*HTTPServerEndpointScheduledTestsApi* | [**get_http_server_endpoint_scheduled_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/HTTPServerEndpointScheduledTestsApi.md#get_http_server_endpoint_scheduled_tests) | **GET** /endpoint/tests/scheduled-tests/http-server | List HTTP server endpoint scheduled tests +*HTTPServerEndpointScheduledTestsApi* | [**update_http_server_endpoint_scheduled_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/HTTPServerEndpointScheduledTestsApi.md#update_http_server_endpoint_scheduled_test) | **PATCH** /endpoint/tests/scheduled-tests/http-server/{testId} | Update HTTP server endpoint scheduled test ## Documentation For Models - - [AlertDirection](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/AlertDirection.md) - - [AlertRoundsViolationMode](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/AlertRoundsViolationMode.md) - - [AlertRule](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/AlertRule.md) - - [AlertType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/AlertType.md) - [DynamicTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/DynamicTest.md) - [DynamicTestLinks](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/DynamicTestLinks.md) - [DynamicTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/DynamicTestRequest.md) @@ -154,7 +150,6 @@ Class | Method | HTTP request | Description - [Error](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/Error.md) - [Link](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/Link.md) - [SelfLinks](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/SelfLinks.md) - - [Severity](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/Severity.md) - [TestInterval](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/TestInterval.md) - [TestLabel](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/TestLabel.md) - [TestProbeMode](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-tests/docs/TestProbeMode.md) diff --git a/thousandeyes-sdk-endpoint-tests/docs/DynamicTestsAgentToServerApi.md b/thousandeyes-sdk-endpoint-tests/docs/AgentToServerEndpointDynamicTestsApi.md similarity index 84% rename from thousandeyes-sdk-endpoint-tests/docs/DynamicTestsAgentToServerApi.md rename to thousandeyes-sdk-endpoint-tests/docs/AgentToServerEndpointDynamicTestsApi.md index d8e00f35..ad81ffba 100644 --- a/thousandeyes-sdk-endpoint-tests/docs/DynamicTestsAgentToServerApi.md +++ b/thousandeyes-sdk-endpoint-tests/docs/AgentToServerEndpointDynamicTestsApi.md @@ -1,14 +1,14 @@ -# thousandeyes_sdk.endpoint_tests.DynamicTestsAgentToServerApi +# thousandeyes_sdk.endpoint_tests.AgentToServerEndpointDynamicTestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_agent_to_server_endpoint_dynamic_test**](DynamicTestsAgentToServerApi.md#create_agent_to_server_endpoint_dynamic_test) | **POST** /v7/endpoint/tests/dynamic-tests/agent-to-server | Create endpoint dynamic test -[**delete_agent_to_server_endpoint_dynamic_test**](DynamicTestsAgentToServerApi.md#delete_agent_to_server_endpoint_dynamic_test) | **DELETE** /v7/endpoint/tests/dynamic-tests/agent-to-server/{testId} | Delete agent to server dynamic test -[**get_agent_to_server_endpoint_dynamic_test**](DynamicTestsAgentToServerApi.md#get_agent_to_server_endpoint_dynamic_test) | **GET** /v7/endpoint/tests/dynamic-tests/agent-to-server/{testId} | Retrieve endpoint dynamic test -[**get_agent_to_server_endpoint_dynamic_tests**](DynamicTestsAgentToServerApi.md#get_agent_to_server_endpoint_dynamic_tests) | **GET** /v7/endpoint/tests/dynamic-tests/agent-to-server | List endpoint dynamic tests -[**update_agent_to_server_endpoint_dynamic_test**](DynamicTestsAgentToServerApi.md#update_agent_to_server_endpoint_dynamic_test) | **PATCH** /v7/endpoint/tests/dynamic-tests/agent-to-server/{testId} | Update agent to server dynamic test +[**create_agent_to_server_endpoint_dynamic_test**](AgentToServerEndpointDynamicTestsApi.md#create_agent_to_server_endpoint_dynamic_test) | **POST** /endpoint/tests/dynamic-tests/agent-to-server | Create endpoint dynamic test +[**delete_agent_to_server_endpoint_dynamic_test**](AgentToServerEndpointDynamicTestsApi.md#delete_agent_to_server_endpoint_dynamic_test) | **DELETE** /endpoint/tests/dynamic-tests/agent-to-server/{testId} | Delete agent to server dynamic test +[**get_agent_to_server_endpoint_dynamic_test**](AgentToServerEndpointDynamicTestsApi.md#get_agent_to_server_endpoint_dynamic_test) | **GET** /endpoint/tests/dynamic-tests/agent-to-server/{testId} | Retrieve endpoint dynamic test +[**get_agent_to_server_endpoint_dynamic_tests**](AgentToServerEndpointDynamicTestsApi.md#get_agent_to_server_endpoint_dynamic_tests) | **GET** /endpoint/tests/dynamic-tests/agent-to-server | List endpoint dynamic tests +[**update_agent_to_server_endpoint_dynamic_test**](AgentToServerEndpointDynamicTestsApi.md#update_agent_to_server_endpoint_dynamic_test) | **PATCH** /endpoint/tests/dynamic-tests/agent-to-server/{testId} | Update agent to server dynamic test # **create_agent_to_server_endpoint_dynamic_test** @@ -29,10 +29,10 @@ from thousandeyes_sdk.endpoint_tests.models.dynamic_test_request import DynamicT from thousandeyes_sdk.endpoint_tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -48,17 +48,17 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_tests.DynamicTestsAgentToServerApi(api_client) + api_instance = thousandeyes_sdk.endpoint_tests.AgentToServerEndpointDynamicTestsApi(api_client) dynamic_test_request = thousandeyes_sdk.endpoint_tests.DynamicTestRequest() # DynamicTestRequest | aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) try: # Create endpoint dynamic test api_response = api_instance.create_agent_to_server_endpoint_dynamic_test(dynamic_test_request, aid=aid) - print("The response of DynamicTestsAgentToServerApi->create_agent_to_server_endpoint_dynamic_test:\n") + print("The response of AgentToServerEndpointDynamicTestsApi->create_agent_to_server_endpoint_dynamic_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling DynamicTestsAgentToServerApi->create_agent_to_server_endpoint_dynamic_test: %s\n" % e) + print("Exception when calling AgentToServerEndpointDynamicTestsApi->create_agent_to_server_endpoint_dynamic_test: %s\n" % e) ``` @@ -116,10 +116,10 @@ import thousandeyes_sdk.endpoint_tests from thousandeyes_sdk.endpoint_tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -135,7 +135,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_tests.DynamicTestsAgentToServerApi(api_client) + api_instance = thousandeyes_sdk.endpoint_tests.AgentToServerEndpointDynamicTestsApi(api_client) test_id = '584739201' # str | Unique ID of endpoint test. 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) @@ -143,7 +143,7 @@ with thousandeyes_sdk.endpoint_tests.ApiClient(configuration) as api_client: # Delete agent to server dynamic test api_instance.delete_agent_to_server_endpoint_dynamic_test(test_id, aid=aid) except Exception as e: - print("Exception when calling DynamicTestsAgentToServerApi->delete_agent_to_server_endpoint_dynamic_test: %s\n" % e) + print("Exception when calling AgentToServerEndpointDynamicTestsApi->delete_agent_to_server_endpoint_dynamic_test: %s\n" % e) ``` @@ -202,10 +202,10 @@ from thousandeyes_sdk.endpoint_tests.models.dynamic_test import DynamicTest from thousandeyes_sdk.endpoint_tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -221,17 +221,17 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_tests.DynamicTestsAgentToServerApi(api_client) + api_instance = thousandeyes_sdk.endpoint_tests.AgentToServerEndpointDynamicTestsApi(api_client) test_id = '584739201' # str | Unique ID of endpoint test. aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) try: # Retrieve endpoint dynamic test api_response = api_instance.get_agent_to_server_endpoint_dynamic_test(test_id, aid=aid) - print("The response of DynamicTestsAgentToServerApi->get_agent_to_server_endpoint_dynamic_test:\n") + print("The response of AgentToServerEndpointDynamicTestsApi->get_agent_to_server_endpoint_dynamic_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling DynamicTestsAgentToServerApi->get_agent_to_server_endpoint_dynamic_test: %s\n" % e) + print("Exception when calling AgentToServerEndpointDynamicTestsApi->get_agent_to_server_endpoint_dynamic_test: %s\n" % e) ``` @@ -289,10 +289,10 @@ from thousandeyes_sdk.endpoint_tests.models.dynamic_tests import DynamicTests from thousandeyes_sdk.endpoint_tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -308,16 +308,16 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_tests.DynamicTestsAgentToServerApi(api_client) + api_instance = thousandeyes_sdk.endpoint_tests.AgentToServerEndpointDynamicTestsApi(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 endpoint dynamic tests api_response = api_instance.get_agent_to_server_endpoint_dynamic_tests(aid=aid) - print("The response of DynamicTestsAgentToServerApi->get_agent_to_server_endpoint_dynamic_tests:\n") + print("The response of AgentToServerEndpointDynamicTestsApi->get_agent_to_server_endpoint_dynamic_tests:\n") pprint(api_response) except Exception as e: - print("Exception when calling DynamicTestsAgentToServerApi->get_agent_to_server_endpoint_dynamic_tests: %s\n" % e) + print("Exception when calling AgentToServerEndpointDynamicTestsApi->get_agent_to_server_endpoint_dynamic_tests: %s\n" % e) ``` @@ -374,10 +374,10 @@ from thousandeyes_sdk.endpoint_tests.models.endpoint_dynamic_test_update import from thousandeyes_sdk.endpoint_tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -393,7 +393,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_tests.DynamicTestsAgentToServerApi(api_client) + api_instance = thousandeyes_sdk.endpoint_tests.AgentToServerEndpointDynamicTestsApi(api_client) test_id = '584739201' # str | Unique ID of endpoint test. endpoint_dynamic_test_update = thousandeyes_sdk.endpoint_tests.EndpointDynamicTestUpdate() # EndpointDynamicTestUpdate | 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) @@ -401,10 +401,10 @@ with thousandeyes_sdk.endpoint_tests.ApiClient(configuration) as api_client: try: # Update agent to server dynamic test api_response = api_instance.update_agent_to_server_endpoint_dynamic_test(test_id, endpoint_dynamic_test_update, aid=aid) - print("The response of DynamicTestsAgentToServerApi->update_agent_to_server_endpoint_dynamic_test:\n") + print("The response of AgentToServerEndpointDynamicTestsApi->update_agent_to_server_endpoint_dynamic_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling DynamicTestsAgentToServerApi->update_agent_to_server_endpoint_dynamic_test: %s\n" % e) + print("Exception when calling AgentToServerEndpointDynamicTestsApi->update_agent_to_server_endpoint_dynamic_test: %s\n" % e) ``` diff --git a/thousandeyes-sdk-endpoint-tests/docs/ScheduledTestsAgentToServerApi.md b/thousandeyes-sdk-endpoint-tests/docs/AgentToServerEndpointScheduledTestsApi.md similarity index 83% rename from thousandeyes-sdk-endpoint-tests/docs/ScheduledTestsAgentToServerApi.md rename to thousandeyes-sdk-endpoint-tests/docs/AgentToServerEndpointScheduledTestsApi.md index 50047299..c6ca014a 100644 --- a/thousandeyes-sdk-endpoint-tests/docs/ScheduledTestsAgentToServerApi.md +++ b/thousandeyes-sdk-endpoint-tests/docs/AgentToServerEndpointScheduledTestsApi.md @@ -1,14 +1,14 @@ -# thousandeyes_sdk.endpoint_tests.ScheduledTestsAgentToServerApi +# thousandeyes_sdk.endpoint_tests.AgentToServerEndpointScheduledTestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_agent_to_server_endpoint_scheduled_test**](ScheduledTestsAgentToServerApi.md#create_agent_to_server_endpoint_scheduled_test) | **POST** /v7/endpoint/tests/scheduled-tests/agent-to-server | Creates agent to server endpoint scheduled test -[**delete_agent_to_server_endpoint_scheduled_test**](ScheduledTestsAgentToServerApi.md#delete_agent_to_server_endpoint_scheduled_test) | **DELETE** /v7/endpoint/tests/scheduled-tests/agent-to-server/{testId} | Delete agent to server scheduled test -[**get_agent_to_server_endpoint_scheduled_test**](ScheduledTestsAgentToServerApi.md#get_agent_to_server_endpoint_scheduled_test) | **GET** /v7/endpoint/tests/scheduled-tests/agent-to-server/{testId} | Retrieve agent to server endpoint scheduled test -[**get_agent_to_server_endpoint_scheduled_tests**](ScheduledTestsAgentToServerApi.md#get_agent_to_server_endpoint_scheduled_tests) | **GET** /v7/endpoint/tests/scheduled-tests/agent-to-server | List agent to server endpoint scheduled tests -[**update_agent_to_server_endpoint_scheduled_test**](ScheduledTestsAgentToServerApi.md#update_agent_to_server_endpoint_scheduled_test) | **PATCH** /v7/endpoint/tests/scheduled-tests/agent-to-server/{testId} | Update agent to server endpoint scheduled test +[**create_agent_to_server_endpoint_scheduled_test**](AgentToServerEndpointScheduledTestsApi.md#create_agent_to_server_endpoint_scheduled_test) | **POST** /endpoint/tests/scheduled-tests/agent-to-server | Creates agent to server endpoint scheduled test +[**delete_agent_to_server_endpoint_scheduled_test**](AgentToServerEndpointScheduledTestsApi.md#delete_agent_to_server_endpoint_scheduled_test) | **DELETE** /endpoint/tests/scheduled-tests/agent-to-server/{testId} | Delete agent to server scheduled test +[**get_agent_to_server_endpoint_scheduled_test**](AgentToServerEndpointScheduledTestsApi.md#get_agent_to_server_endpoint_scheduled_test) | **GET** /endpoint/tests/scheduled-tests/agent-to-server/{testId} | Retrieve agent to server endpoint scheduled test +[**get_agent_to_server_endpoint_scheduled_tests**](AgentToServerEndpointScheduledTestsApi.md#get_agent_to_server_endpoint_scheduled_tests) | **GET** /endpoint/tests/scheduled-tests/agent-to-server | List agent to server endpoint scheduled tests +[**update_agent_to_server_endpoint_scheduled_test**](AgentToServerEndpointScheduledTestsApi.md#update_agent_to_server_endpoint_scheduled_test) | **PATCH** /endpoint/tests/scheduled-tests/agent-to-server/{testId} | Update agent to server endpoint scheduled test # **create_agent_to_server_endpoint_scheduled_test** @@ -29,10 +29,10 @@ from thousandeyes_sdk.endpoint_tests.models.endpoint_agent_to_server_test_reques from thousandeyes_sdk.endpoint_tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -48,17 +48,17 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_tests.ScheduledTestsAgentToServerApi(api_client) + api_instance = thousandeyes_sdk.endpoint_tests.AgentToServerEndpointScheduledTestsApi(api_client) endpoint_agent_to_server_test_request = thousandeyes_sdk.endpoint_tests.EndpointAgentToServerTestRequest() # EndpointAgentToServerTestRequest | 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: # Creates agent to server endpoint scheduled test api_response = api_instance.create_agent_to_server_endpoint_scheduled_test(endpoint_agent_to_server_test_request, aid=aid) - print("The response of ScheduledTestsAgentToServerApi->create_agent_to_server_endpoint_scheduled_test:\n") + print("The response of AgentToServerEndpointScheduledTestsApi->create_agent_to_server_endpoint_scheduled_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling ScheduledTestsAgentToServerApi->create_agent_to_server_endpoint_scheduled_test: %s\n" % e) + print("Exception when calling AgentToServerEndpointScheduledTestsApi->create_agent_to_server_endpoint_scheduled_test: %s\n" % e) ``` @@ -116,10 +116,10 @@ import thousandeyes_sdk.endpoint_tests from thousandeyes_sdk.endpoint_tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -135,7 +135,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_tests.ScheduledTestsAgentToServerApi(api_client) + api_instance = thousandeyes_sdk.endpoint_tests.AgentToServerEndpointScheduledTestsApi(api_client) test_id = '584739201' # str | Unique ID of endpoint test. 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) @@ -143,7 +143,7 @@ with thousandeyes_sdk.endpoint_tests.ApiClient(configuration) as api_client: # Delete agent to server scheduled test api_instance.delete_agent_to_server_endpoint_scheduled_test(test_id, aid=aid) except Exception as e: - print("Exception when calling ScheduledTestsAgentToServerApi->delete_agent_to_server_endpoint_scheduled_test: %s\n" % e) + print("Exception when calling AgentToServerEndpointScheduledTestsApi->delete_agent_to_server_endpoint_scheduled_test: %s\n" % e) ``` @@ -202,10 +202,10 @@ from thousandeyes_sdk.endpoint_tests.models.endpoint_agent_to_server_test import from thousandeyes_sdk.endpoint_tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -221,17 +221,17 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_tests.ScheduledTestsAgentToServerApi(api_client) + api_instance = thousandeyes_sdk.endpoint_tests.AgentToServerEndpointScheduledTestsApi(api_client) test_id = '584739201' # str | Unique ID of endpoint test. aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) try: # Retrieve agent to server endpoint scheduled test api_response = api_instance.get_agent_to_server_endpoint_scheduled_test(test_id, aid=aid) - print("The response of ScheduledTestsAgentToServerApi->get_agent_to_server_endpoint_scheduled_test:\n") + print("The response of AgentToServerEndpointScheduledTestsApi->get_agent_to_server_endpoint_scheduled_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling ScheduledTestsAgentToServerApi->get_agent_to_server_endpoint_scheduled_test: %s\n" % e) + print("Exception when calling AgentToServerEndpointScheduledTestsApi->get_agent_to_server_endpoint_scheduled_test: %s\n" % e) ``` @@ -289,10 +289,10 @@ from thousandeyes_sdk.endpoint_tests.models.endpoint_agent_to_server_tests impor from thousandeyes_sdk.endpoint_tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -308,16 +308,16 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_tests.ScheduledTestsAgentToServerApi(api_client) + api_instance = thousandeyes_sdk.endpoint_tests.AgentToServerEndpointScheduledTestsApi(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 to server endpoint scheduled tests api_response = api_instance.get_agent_to_server_endpoint_scheduled_tests(aid=aid) - print("The response of ScheduledTestsAgentToServerApi->get_agent_to_server_endpoint_scheduled_tests:\n") + print("The response of AgentToServerEndpointScheduledTestsApi->get_agent_to_server_endpoint_scheduled_tests:\n") pprint(api_response) except Exception as e: - print("Exception when calling ScheduledTestsAgentToServerApi->get_agent_to_server_endpoint_scheduled_tests: %s\n" % e) + print("Exception when calling AgentToServerEndpointScheduledTestsApi->get_agent_to_server_endpoint_scheduled_tests: %s\n" % e) ``` @@ -374,10 +374,10 @@ from thousandeyes_sdk.endpoint_tests.models.endpoint_network_test_update import from thousandeyes_sdk.endpoint_tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -393,7 +393,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_tests.ScheduledTestsAgentToServerApi(api_client) + api_instance = thousandeyes_sdk.endpoint_tests.AgentToServerEndpointScheduledTestsApi(api_client) test_id = '584739201' # str | Unique ID of endpoint test. endpoint_network_test_update = thousandeyes_sdk.endpoint_tests.EndpointNetworkTestUpdate() # EndpointNetworkTestUpdate | 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) @@ -401,10 +401,10 @@ with thousandeyes_sdk.endpoint_tests.ApiClient(configuration) as api_client: try: # Update agent to server endpoint scheduled test api_response = api_instance.update_agent_to_server_endpoint_scheduled_test(test_id, endpoint_network_test_update, aid=aid) - print("The response of ScheduledTestsAgentToServerApi->update_agent_to_server_endpoint_scheduled_test:\n") + print("The response of AgentToServerEndpointScheduledTestsApi->update_agent_to_server_endpoint_scheduled_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling ScheduledTestsAgentToServerApi->update_agent_to_server_endpoint_scheduled_test: %s\n" % e) + print("Exception when calling AgentToServerEndpointScheduledTestsApi->update_agent_to_server_endpoint_scheduled_test: %s\n" % e) ``` diff --git a/thousandeyes-sdk-endpoint-tests/docs/AlertDirection.md b/thousandeyes-sdk-endpoint-tests/docs/AlertDirection.md deleted file mode 100644 index 8902e9bf..00000000 --- a/thousandeyes-sdk-endpoint-tests/docs/AlertDirection.md +++ /dev/null @@ -1,12 +0,0 @@ -# AlertDirection - -Direction for applicable alert types (eg. path trace, End-to-End (Agent) etc.) - -## 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) - - diff --git a/thousandeyes-sdk-endpoint-tests/docs/AlertRoundsViolationMode.md b/thousandeyes-sdk-endpoint-tests/docs/AlertRoundsViolationMode.md deleted file mode 100644 index efe78921..00000000 --- a/thousandeyes-sdk-endpoint-tests/docs/AlertRoundsViolationMode.md +++ /dev/null @@ -1,12 +0,0 @@ -# AlertRoundsViolationMode - -`exact` requires that the same agent(s) meet the threshold in consecutive rounds; default is `any` - -## 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) - - diff --git a/thousandeyes-sdk-endpoint-tests/docs/AlertRule.md b/thousandeyes-sdk-endpoint-tests/docs/AlertRule.md deleted file mode 100644 index ad25aa34..00000000 --- a/thousandeyes-sdk-endpoint-tests/docs/AlertRule.md +++ /dev/null @@ -1,40 +0,0 @@ -# AlertRule - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**rule_id** | **str** | Unique ID of the rule | [optional] [readonly] -**rule_name** | **str** | Name of the alert rule | [optional] [readonly] -**expression** | **str** | String expression of alert rule | [optional] [readonly] -**direction** | [**AlertDirection**](AlertDirection.md) | | [optional] -**is_default** | **bool** | Alert rules allow up to 1 alert rule to be selected as a default for each type. By checking the default option, this alert rule will be automatically included on subsequently created tests that test a metric used in alerting here | [optional] [readonly] -**alert_type** | [**AlertType**](AlertType.md) | | [optional] -**minimum_sources** | **int** | The minimum number of agents or monitors that must meet the specified criteria in order to trigger the alert | [optional] [readonly] -**minimum_sources_pct** | **int** | the minimum percentage of all assigned agents or monitors that must meet the specified criteria in order to trigger the alert | [optional] [readonly] -**rounds_violating_mode** | [**AlertRoundsViolationMode**](AlertRoundsViolationMode.md) | | [optional] -**rounds_violating_out_of** | **int** | Specifies the divisor (y value) for the “X of Y times” condition. | [optional] [readonly] -**rounds_violating_required** | **int** | Specifies the numerator (x value) for the “X of Y times” condition | [optional] [readonly] -**severity** | [**Severity**](Severity.md) | | [optional] - -## Example - -```python -from thousandeyes_sdk.endpoint_tests.models.alert_rule import AlertRule - -# TODO update the JSON string below -json = "{}" -# create an instance of AlertRule from a JSON string -alert_rule_instance = AlertRule.from_json(json) -# print the JSON string representation of the object -print(AlertRule.to_json()) - -# convert the object into a dict -alert_rule_dict = alert_rule_instance.to_dict() -# create an instance of AlertRule from a dict -alert_rule_from_dict = AlertRule.from_dict(alert_rule_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) - - diff --git a/thousandeyes-sdk-endpoint-tests/docs/AlertType.md b/thousandeyes-sdk-endpoint-tests/docs/AlertType.md deleted file mode 100644 index 484f18d4..00000000 --- a/thousandeyes-sdk-endpoint-tests/docs/AlertType.md +++ /dev/null @@ -1,12 +0,0 @@ -# AlertType - -Type of alert being triggered. In multi-layered tests, this value represents the layer the alert relates to. See [Alert Details](https://developer.cisco.com/docs/thousandeyes/retrieve-alert-details/) documentation for a list of possible values - -## 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) - - diff --git a/thousandeyes-sdk-endpoint-tests/docs/DynamicTestRequest.md b/thousandeyes-sdk-endpoint-tests/docs/DynamicTestRequest.md index 588b32d4..97b68d6e 100644 --- a/thousandeyes-sdk-endpoint-tests/docs/DynamicTestRequest.md +++ b/thousandeyes-sdk-endpoint-tests/docs/DynamicTestRequest.md @@ -5,27 +5,16 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**aid** | **str** | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. | [optional] -**links** | [**DynamicTestLinks**](DynamicTestLinks.md) | | [optional] -**agent_selector_config** | [**EndpointAgentSelectorConfig**](EndpointAgentSelectorConfig.md) | | [optional] -**application** | **str** | Which supported application to monitor, can be one of `webex`, `zoom`, `microsoft-teams`. | [optional] -**created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] -**interval** | [**TestInterval**](TestInterval.md) | | [optional] -**is_enabled** | **bool** | Indicates if test is enabled. | [optional] [default to True] -**has_path_trace_in_session** | **bool** | Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session. | [optional] -**has_ping** | **bool** | Optional flag indicating if the test should run ping. | [optional] [default to True] -**has_traceroute** | **bool** | Optional flag indicating if the test should run traceroute. | [optional] [default to True] -**modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] -**network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] -**protocol** | [**EndpointTestProtocol**](EndpointTestProtocol.md) | | [optional] -**tcp_probe_mode** | [**TestProbeModeResponse**](TestProbeModeResponse.md) | | [optional] -**test_id** | **str** | Each test is assigned a unique ID; this is used to access test information and results from other endpoints. | [optional] [readonly] -**test_name** | **str** | Name of the test. | [optional] -**labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] **agent_selector_type** | [**EndpointTestAgentSelectorType**](EndpointTestAgentSelectorType.md) | | [optional] **agents** | **List[str]** | List of endpoint agent IDs (obtained from `/endpoint/agents` endpoint). Required when `agentSelectorType` is set to `specific-agent`. | [optional] **endpoint_agent_labels** | **List[str]** | List of endpoint agent label IDs (obtained from `/endpoint/labels` endpoint), required when `agentSelectorType` is set to `agent-labels`. | [optional] -**max_machines** | **int** | Maximum number of agents which can execute this test. | [optional] +**interval** | [**TestInterval**](TestInterval.md) | | [optional] +**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] [default to 25] +**application** | **str** | Which supported application to monitor, can be one of `webex`, `zoom`, `microsoft-teams`. | +**protocol** | [**EndpointTestProtocol**](EndpointTestProtocol.md) | | [optional] +**tcp_probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] +**test_name** | **str** | Name of the test. | +**has_path_trace_in_session** | **bool** | Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session. | [optional] ## Example diff --git a/thousandeyes-sdk-endpoint-tests/docs/EndpointAgentLabelsSelectorConfig.md b/thousandeyes-sdk-endpoint-tests/docs/EndpointAgentLabelsSelectorConfig.md index 5a68f3d1..989376a2 100644 --- a/thousandeyes-sdk-endpoint-tests/docs/EndpointAgentLabelsSelectorConfig.md +++ b/thousandeyes-sdk-endpoint-tests/docs/EndpointAgentLabelsSelectorConfig.md @@ -7,7 +7,7 @@ Agent labels selection object. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **agent_selector_type** | **str** | | -**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] +**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] [default to 25] **endpoint_agent_labels** | **List[str]** | List of endpoint agent label IDs (obtained from `/endpoint/labels` endpoint), required when `agentSelectorType` is set to `agent-labels`. | [optional] ## Example diff --git a/thousandeyes-sdk-endpoint-tests/docs/EndpointAgentSelectorConfig.md b/thousandeyes-sdk-endpoint-tests/docs/EndpointAgentSelectorConfig.md index 8ba641fc..6d9b4f6a 100644 --- a/thousandeyes-sdk-endpoint-tests/docs/EndpointAgentSelectorConfig.md +++ b/thousandeyes-sdk-endpoint-tests/docs/EndpointAgentSelectorConfig.md @@ -7,7 +7,7 @@ Agents selection object based on agentSelectorType. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **agent_selector_type** | **str** | | -**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] +**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] [default to 25] **endpoint_agent_labels** | **List[str]** | List of endpoint agent label IDs (obtained from `/endpoint/labels` endpoint), required when `agentSelectorType` is set to `agent-labels`. | [optional] **agents** | **List[str]** | List of endpoint agent IDs (obtained from `/endpoint/agents` endpoint). Required when `agentSelectorType` is set to `specific-agent`. | [optional] diff --git a/thousandeyes-sdk-endpoint-tests/docs/EndpointAgentToServerInstantTest.md b/thousandeyes-sdk-endpoint-tests/docs/EndpointAgentToServerInstantTest.md index 4bcb8dba..ddac5130 100644 --- a/thousandeyes-sdk-endpoint-tests/docs/EndpointAgentToServerInstantTest.md +++ b/thousandeyes-sdk-endpoint-tests/docs/EndpointAgentToServerInstantTest.md @@ -5,15 +5,13 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**agent_selector_type** | [**EndpointTestAgentSelectorType**](EndpointTestAgentSelectorType.md) | | +**agent_selector_type** | [**EndpointTestAgentSelectorType**](EndpointTestAgentSelectorType.md) | | [optional] **agents** | **List[str]** | List of endpoint agent IDs (obtained from `/endpoint/agents` endpoint). Required when `agentSelectorType` is set to `specific-agent`. | [optional] -**has_ping** | **bool** | Optional flag indicating if the test should run ping. | [optional] [default to True] -**has_traceroute** | **bool** | Optional flag indicating if the test should run traceroute. | [optional] [default to True] **endpoint_agent_labels** | **List[str]** | List of endpoint agent label IDs (obtained from `/endpoint/labels` endpoint), required when `agentSelectorType` is set to `agent-labels`. | [optional] -**max_machines** | **int** | Maximum number of agents which can execute the test. | -**port** | **int** | Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443). | [optional] +**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] [default to 25] **test_name** | **str** | Name of the test. | **server_name** | **str** | A server address without a protocol or IP address. | +**port** | **int** | Port number. | [optional] [default to 443] ## Example diff --git a/thousandeyes-sdk-endpoint-tests/docs/EndpointAgentToServerTest.md b/thousandeyes-sdk-endpoint-tests/docs/EndpointAgentToServerTest.md index 40edce28..0c516808 100644 --- a/thousandeyes-sdk-endpoint-tests/docs/EndpointAgentToServerTest.md +++ b/thousandeyes-sdk-endpoint-tests/docs/EndpointAgentToServerTest.md @@ -15,14 +15,13 @@ Name | Type | Description | Notes **has_path_trace_in_session** | **bool** | Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session. | [optional] **modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] -**port** | **int** | Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443). | [optional] **protocol** | [**EndpointTestProtocol**](EndpointTestProtocol.md) | | [optional] **server** | **str** | Target domain name or IP address. | [optional] **test_id** | **str** | Each test is assigned a unique ID to access test data from other endpoints. | [optional] [readonly] **test_name** | **str** | Name of the test. | [optional] **type** | **str** | Type of test being queried. | [readonly] **tcp_probe_mode** | [**TestProbeModeResponse**](TestProbeModeResponse.md) | | [optional] -**alert_rules** | [**List[AlertRule]**](AlertRule.md) | Contains list of enabled alert rule objects. | [optional] +**port** | **int** | Port number. | [optional] [default to 443] **labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-endpoint-tests/docs/EndpointAgentToServerTestRequest.md b/thousandeyes-sdk-endpoint-tests/docs/EndpointAgentToServerTestRequest.md index ad0b09a9..db2543fa 100644 --- a/thousandeyes-sdk-endpoint-tests/docs/EndpointAgentToServerTestRequest.md +++ b/thousandeyes-sdk-endpoint-tests/docs/EndpointAgentToServerTestRequest.md @@ -5,16 +5,14 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**agent_selector_type** | [**EndpointTestAgentSelectorType**](EndpointTestAgentSelectorType.md) | | +**agent_selector_type** | [**EndpointTestAgentSelectorType**](EndpointTestAgentSelectorType.md) | | [optional] **agents** | **List[str]** | List of endpoint agent IDs (obtained from `/endpoint/agents` endpoint). Required when `agentSelectorType` is set to `specific-agent`. | [optional] -**has_ping** | **bool** | Optional flag indicating if the test should run ping. | [optional] [default to True] -**has_traceroute** | **bool** | Optional flag indicating if the test should run traceroute. | [optional] [default to True] **endpoint_agent_labels** | **List[str]** | List of endpoint agent label IDs (obtained from `/endpoint/labels` endpoint), required when `agentSelectorType` is set to `agent-labels`. | [optional] -**max_machines** | **int** | Maximum number of agents which can execute the test. | -**port** | **int** | Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443). | [optional] +**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] [default to 25] **test_name** | **str** | Name of the test. | **server_name** | **str** | A server address without a protocol or IP address. | -**interval** | [**TestInterval**](TestInterval.md) | | +**port** | **int** | Port number. | [optional] [default to 443] +**interval** | [**TestInterval**](TestInterval.md) | | [optional] **protocol** | [**EndpointTestProtocol**](EndpointTestProtocol.md) | | [optional] ## Example diff --git a/thousandeyes-sdk-endpoint-tests/docs/EndpointAllAgentsSelectorConfig.md b/thousandeyes-sdk-endpoint-tests/docs/EndpointAllAgentsSelectorConfig.md index 55d6ddc6..6b6d8610 100644 --- a/thousandeyes-sdk-endpoint-tests/docs/EndpointAllAgentsSelectorConfig.md +++ b/thousandeyes-sdk-endpoint-tests/docs/EndpointAllAgentsSelectorConfig.md @@ -7,7 +7,7 @@ Any agent selection object. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **agent_selector_type** | **str** | | -**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] +**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] [default to 25] ## Example diff --git a/thousandeyes-sdk-endpoint-tests/docs/EndpointHttpServerBaseTest.md b/thousandeyes-sdk-endpoint-tests/docs/EndpointHttpServerBaseTest.md index 6e65d1a6..946039be 100644 --- a/thousandeyes-sdk-endpoint-tests/docs/EndpointHttpServerBaseTest.md +++ b/thousandeyes-sdk-endpoint-tests/docs/EndpointHttpServerBaseTest.md @@ -7,13 +7,13 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **auth_type** | [**EndpointTestAuthType**](EndpointTestAuthType.md) | | [optional] **has_path_trace_in_session** | **bool** | Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session. | [optional] -**http_time_limit** | **int** | Maximum amount of time in milliseconds the agents wait before a request times out. | [optional] +**http_time_limit** | **int** | Maximum amount of time in milliseconds the agents wait before a request times out. | [optional] [default to 5000] **protocol** | [**EndpointTestProtocol**](EndpointTestProtocol.md) | | [optional] -**url** | **str** | Test target URL. Optionally, you can specify a protocol (http or https). If no protocol is provided, the default `https` protocol is used. | [optional] **username** | **str** | Username for Basic/NTLM authentication. | [optional] **ssl_version_id** | [**TestSslVersionId**](TestSslVersionId.md) | | [optional] **tcp_probe_mode** | [**TestProbeModeResponse**](TestProbeModeResponse.md) | | [optional] -**verify_certificate** | **bool** | Flag indicating if a certificate should be verified. | [optional] +**verify_certificate** | **bool** | Flag indicating if a certificate should be verified. | [optional] [default to True] +**url** | **str** | The test target URL. | [optional] ## Example diff --git a/thousandeyes-sdk-endpoint-tests/docs/EndpointHttpServerInstantTest.md b/thousandeyes-sdk-endpoint-tests/docs/EndpointHttpServerInstantTest.md index 036fc6d7..dc24a031 100644 --- a/thousandeyes-sdk-endpoint-tests/docs/EndpointHttpServerInstantTest.md +++ b/thousandeyes-sdk-endpoint-tests/docs/EndpointHttpServerInstantTest.md @@ -5,24 +5,24 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**agent_selector_type** | [**EndpointTestAgentSelectorType**](EndpointTestAgentSelectorType.md) | | +**agent_selector_type** | [**EndpointTestAgentSelectorType**](EndpointTestAgentSelectorType.md) | | [optional] **agents** | **List[str]** | List of endpoint agent IDs (obtained from `/endpoint/agents` endpoint). Required when `agentSelectorType` is set to `specific-agent`. | [optional] -**has_ping** | **bool** | Optional flag indicating if the test should run ping. | [optional] [default to True] -**has_traceroute** | **bool** | Optional flag indicating if the test should run traceroute. | [optional] [default to True] **endpoint_agent_labels** | **List[str]** | List of endpoint agent label IDs (obtained from `/endpoint/labels` endpoint), required when `agentSelectorType` is set to `agent-labels`. | [optional] -**max_machines** | **int** | Maximum number of agents which can execute the test. | -**port** | **int** | Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443). | [optional] +**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] [default to 25] **test_name** | **str** | Name of the test. | **auth_type** | [**EndpointTestAuthType**](EndpointTestAuthType.md) | | [optional] **has_path_trace_in_session** | **bool** | Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session. | [optional] -**http_time_limit** | **int** | Maximum amount of time in milliseconds the agents wait before a request times out. | +**http_time_limit** | **int** | Maximum amount of time in milliseconds the agents wait before a request times out. | [optional] [default to 5000] **protocol** | [**EndpointTestProtocol**](EndpointTestProtocol.md) | | [optional] -**url** | **str** | Test target URL. Optionally, you can specify a protocol (http or https). If no protocol is provided, the default `https` protocol is used. | **username** | **str** | Username for Basic/NTLM authentication. | [optional] -**ssl_version_id** | [**TestSslVersionId**](TestSslVersionId.md) | | +**ssl_version_id** | [**TestSslVersionId**](TestSslVersionId.md) | | [optional] **tcp_probe_mode** | [**TestProbeModeResponse**](TestProbeModeResponse.md) | | [optional] -**verify_certificate** | **bool** | Flag indicating if a certificate should be verified. | -**target_response_time** | **int** | Response time target in milliseconds. Affects the colors of agents and legends on the view page. The value is compared with actual response time in order to determine the color scale (from green to red). | +**verify_certificate** | **bool** | Flag indicating if a certificate should be verified. | [optional] [default to True] +**url** | **str** | The test target URL. You can optionally specify the protocol (`http` or `https`). - **Default Protocol:** If no protocol is specified, `https` is used by default. - **Port Number:** To specify a port, append it to the URL with a colon after the hostname or IP address (e.g., `https://example.com:443`). - If no port is specified in the URL, the `port` is determined by the default for protocol (HTTP: 80, HTTPS: 443). | +**has_ping** | **bool** | Optional flag indicating if the test should run ping. | [optional] [default to True] +**has_traceroute** | **bool** | Optional flag indicating if the test should run traceroute. | [optional] [default to True] +**network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] +**target_response_time** | **int** | Response time target in milliseconds. Affects the colors of agents and legends on the view page. The value is compared with actual response time in order to determine the color scale (from green to red). | [optional] [default to 1000] **password** | **str** | Password for Basic/NTLM authentication. | [optional] ## Example diff --git a/thousandeyes-sdk-endpoint-tests/docs/EndpointHttpServerTest.md b/thousandeyes-sdk-endpoint-tests/docs/EndpointHttpServerTest.md index b2ccdd47..506eb6a1 100644 --- a/thousandeyes-sdk-endpoint-tests/docs/EndpointHttpServerTest.md +++ b/thousandeyes-sdk-endpoint-tests/docs/EndpointHttpServerTest.md @@ -15,28 +15,24 @@ Name | Type | Description | Notes **has_path_trace_in_session** | **bool** | Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session. | [optional] **modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] -**port** | **int** | Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443). | [optional] **protocol** | [**EndpointTestProtocol**](EndpointTestProtocol.md) | | [optional] **server** | **str** | Target domain name or IP address. | [optional] **test_id** | **str** | Each test is assigned a unique ID to access test data from other endpoints. | [optional] [readonly] **test_name** | **str** | Name of the test. | [optional] **type** | **str** | Type of test being queried. | [readonly] **tcp_probe_mode** | [**TestProbeModeResponse**](TestProbeModeResponse.md) | | [optional] -**alert_rules** | [**List[AlertRule]**](AlertRule.md) | Contains list of enabled alert rule objects. | [optional] +**port** | **int** | Port number. | [optional] [default to 443] **auth_type** | [**EndpointTestAuthType**](EndpointTestAuthType.md) | | [optional] -**http_time_limit** | **int** | Maximum amount of time in milliseconds the agents wait before a request times out. | [optional] -**url** | **str** | Test target URL. Optionally, you can specify a protocol (http or https). If no protocol is provided, the default `https` protocol is used. | [optional] +**http_time_limit** | **int** | Maximum amount of time in milliseconds the agents wait before a request times out. | [optional] [default to 5000] **username** | **str** | Username for Basic/NTLM authentication. | [optional] **ssl_version_id** | [**TestSslVersionId**](TestSslVersionId.md) | | [optional] -**verify_certificate** | **bool** | Flag indicating if a certificate should be verified. | [optional] -**content_regex** | **str** | Content regex, this field does not require escaping. | [optional] +**verify_certificate** | **bool** | Flag indicating if a certificate should be verified. | [optional] [default to True] +**url** | **str** | The test target URL. | [optional] **follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] **http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] **http_version** | **int** | HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1. | [optional] [default to 2] -**post_body** | **str** | Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST. | [optional] **ssl_version** | **str** | Reflects the verbose SSL protocol version used by a test. | [optional] [readonly] **use_ntlm** | **bool** | Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set. | [optional] -**user_agent** | **str** | User-agent string to be provided during the test. | [optional] **labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-endpoint-tests/docs/EndpointHttpServerTestRequest.md b/thousandeyes-sdk-endpoint-tests/docs/EndpointHttpServerTestRequest.md index 9bf2064f..fa062f6a 100644 --- a/thousandeyes-sdk-endpoint-tests/docs/EndpointHttpServerTestRequest.md +++ b/thousandeyes-sdk-endpoint-tests/docs/EndpointHttpServerTestRequest.md @@ -5,26 +5,26 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**agent_selector_type** | [**EndpointTestAgentSelectorType**](EndpointTestAgentSelectorType.md) | | +**agent_selector_type** | [**EndpointTestAgentSelectorType**](EndpointTestAgentSelectorType.md) | | [optional] **agents** | **List[str]** | List of endpoint agent IDs (obtained from `/endpoint/agents` endpoint). Required when `agentSelectorType` is set to `specific-agent`. | [optional] -**has_ping** | **bool** | Optional flag indicating if the test should run ping. | [optional] [default to True] -**has_traceroute** | **bool** | Optional flag indicating if the test should run traceroute. | [optional] [default to True] **endpoint_agent_labels** | **List[str]** | List of endpoint agent label IDs (obtained from `/endpoint/labels` endpoint), required when `agentSelectorType` is set to `agent-labels`. | [optional] -**max_machines** | **int** | Maximum number of agents which can execute the test. | -**port** | **int** | Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443). | [optional] +**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] [default to 25] **test_name** | **str** | Name of the test. | **auth_type** | [**EndpointTestAuthType**](EndpointTestAuthType.md) | | [optional] **has_path_trace_in_session** | **bool** | Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session. | [optional] -**http_time_limit** | **int** | Maximum amount of time in milliseconds the agents wait before a request times out. | +**http_time_limit** | **int** | Maximum amount of time in milliseconds the agents wait before a request times out. | [optional] [default to 5000] **protocol** | [**EndpointTestProtocol**](EndpointTestProtocol.md) | | [optional] -**url** | **str** | Test target URL. Optionally, you can specify a protocol (http or https). If no protocol is provided, the default `https` protocol is used. | **username** | **str** | Username for Basic/NTLM authentication. | [optional] -**ssl_version_id** | [**TestSslVersionId**](TestSslVersionId.md) | | +**ssl_version_id** | [**TestSslVersionId**](TestSslVersionId.md) | | [optional] **tcp_probe_mode** | [**TestProbeModeResponse**](TestProbeModeResponse.md) | | [optional] -**verify_certificate** | **bool** | Flag indicating if a certificate should be verified. | -**target_response_time** | **int** | Response time target in milliseconds. Affects the colors of agents and legends on the view page. The value is compared with actual response time in order to determine the color scale (from green to red). | +**verify_certificate** | **bool** | Flag indicating if a certificate should be verified. | [optional] [default to True] +**url** | **str** | The test target URL. You can optionally specify the protocol (`http` or `https`). - **Default Protocol:** If no protocol is specified, `https` is used by default. - **Port Number:** To specify a port, append it to the URL with a colon after the hostname or IP address (e.g., `https://example.com:443`). - If no port is specified in the URL, the `port` is determined by the default for protocol (HTTP: 80, HTTPS: 443). | +**has_ping** | **bool** | Optional flag indicating if the test should run ping. | [optional] [default to True] +**has_traceroute** | **bool** | Optional flag indicating if the test should run traceroute. | [optional] [default to True] +**network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] +**target_response_time** | **int** | Response time target in milliseconds. Affects the colors of agents and legends on the view page. The value is compared with actual response time in order to determine the color scale (from green to red). | [optional] [default to 1000] **password** | **str** | Password for Basic/NTLM authentication. | [optional] -**interval** | [**TestInterval**](TestInterval.md) | | +**interval** | [**TestInterval**](TestInterval.md) | | [optional] ## Example diff --git a/thousandeyes-sdk-endpoint-tests/docs/EndpointHttpTestUpdate.md b/thousandeyes-sdk-endpoint-tests/docs/EndpointHttpTestUpdate.md index e6a7494b..24ab8b79 100644 --- a/thousandeyes-sdk-endpoint-tests/docs/EndpointHttpTestUpdate.md +++ b/thousandeyes-sdk-endpoint-tests/docs/EndpointHttpTestUpdate.md @@ -10,7 +10,7 @@ Name | Type | Description | Notes **protocol** | [**EndpointTestProtocol**](EndpointTestProtocol.md) | | [optional] **is_enabled** | **bool** | Indicates if test is enabled. | [optional] [default to True] **tcp_probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] -**url** | **str** | Target for the test. | [optional] +**url** | **str** | The test target URL. You can optionally specify the protocol (`http` or `https`). - **Default Protocol:** If no protocol is specified, `https` is used by default. - **Port Number:** To specify a port, append it to the URL with a colon after the hostname or IP address (e.g., `https://example.com:443`). - If no port is specified in the URL, the `port` is determined by the default for protocol (HTTP: 80, HTTPS: 443). | [optional] ## Example diff --git a/thousandeyes-sdk-endpoint-tests/docs/EndpointInstantTest.md b/thousandeyes-sdk-endpoint-tests/docs/EndpointInstantTest.md index 2ba41947..817ce8c8 100644 --- a/thousandeyes-sdk-endpoint-tests/docs/EndpointInstantTest.md +++ b/thousandeyes-sdk-endpoint-tests/docs/EndpointInstantTest.md @@ -5,13 +5,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**agent_selector_type** | [**EndpointTestAgentSelectorType**](EndpointTestAgentSelectorType.md) | | +**agent_selector_type** | [**EndpointTestAgentSelectorType**](EndpointTestAgentSelectorType.md) | | [optional] **agents** | **List[str]** | List of endpoint agent IDs (obtained from `/endpoint/agents` endpoint). Required when `agentSelectorType` is set to `specific-agent`. | [optional] -**has_ping** | **bool** | Optional flag indicating if the test should run ping. | [optional] [default to True] -**has_traceroute** | **bool** | Optional flag indicating if the test should run traceroute. | [optional] [default to True] **endpoint_agent_labels** | **List[str]** | List of endpoint agent label IDs (obtained from `/endpoint/labels` endpoint), required when `agentSelectorType` is set to `agent-labels`. | [optional] -**max_machines** | **int** | Maximum number of agents which can execute the test. | -**port** | **int** | Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443). | [optional] +**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] [default to 25] **test_name** | **str** | Name of the test. | ## Example diff --git a/thousandeyes-sdk-endpoint-tests/docs/ListEndpointScheduledTestsApi.md b/thousandeyes-sdk-endpoint-tests/docs/EndpointScheduledTestsApi.md similarity index 83% rename from thousandeyes-sdk-endpoint-tests/docs/ListEndpointScheduledTestsApi.md rename to thousandeyes-sdk-endpoint-tests/docs/EndpointScheduledTestsApi.md index d20c48c3..2aa84590 100644 --- a/thousandeyes-sdk-endpoint-tests/docs/ListEndpointScheduledTestsApi.md +++ b/thousandeyes-sdk-endpoint-tests/docs/EndpointScheduledTestsApi.md @@ -1,10 +1,10 @@ -# thousandeyes_sdk.endpoint_tests.ListEndpointScheduledTestsApi +# thousandeyes_sdk.endpoint_tests.EndpointScheduledTestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**get_endpoint_scheduled_tests**](ListEndpointScheduledTestsApi.md#get_endpoint_scheduled_tests) | **GET** /v7/endpoint/tests/scheduled-tests | List endpoint scheduled tests +[**get_endpoint_scheduled_tests**](EndpointScheduledTestsApi.md#get_endpoint_scheduled_tests) | **GET** /endpoint/tests/scheduled-tests | List endpoint scheduled tests # **get_endpoint_scheduled_tests** @@ -24,10 +24,10 @@ from thousandeyes_sdk.endpoint_tests.models.endpoint_tests import EndpointTests from thousandeyes_sdk.endpoint_tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -43,16 +43,16 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_tests.ListEndpointScheduledTestsApi(api_client) + api_instance = thousandeyes_sdk.endpoint_tests.EndpointScheduledTestsApi(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 endpoint scheduled tests api_response = api_instance.get_endpoint_scheduled_tests(aid=aid) - print("The response of ListEndpointScheduledTestsApi->get_endpoint_scheduled_tests:\n") + print("The response of EndpointScheduledTestsApi->get_endpoint_scheduled_tests:\n") pprint(api_response) except Exception as e: - print("Exception when calling ListEndpointScheduledTestsApi->get_endpoint_scheduled_tests: %s\n" % e) + print("Exception when calling EndpointScheduledTestsApi->get_endpoint_scheduled_tests: %s\n" % e) ``` diff --git a/thousandeyes-sdk-endpoint-tests/docs/EndpointSpecificAgentsSelectorConfig.md b/thousandeyes-sdk-endpoint-tests/docs/EndpointSpecificAgentsSelectorConfig.md index f2aebcf2..7ae4ba1f 100644 --- a/thousandeyes-sdk-endpoint-tests/docs/EndpointSpecificAgentsSelectorConfig.md +++ b/thousandeyes-sdk-endpoint-tests/docs/EndpointSpecificAgentsSelectorConfig.md @@ -7,7 +7,7 @@ Specific agents selection object. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **agent_selector_type** | **str** | | -**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] +**max_machines** | **int** | Maximum number of agents which can execute the test. | [optional] [default to 25] **agents** | **List[str]** | List of endpoint agent IDs (obtained from `/endpoint/agents` endpoint). Required when `agentSelectorType` is set to `specific-agent`. | [optional] ## Example diff --git a/thousandeyes-sdk-endpoint-tests/docs/EndpointTest.md b/thousandeyes-sdk-endpoint-tests/docs/EndpointTest.md index f0ec3ef2..40e83ffd 100644 --- a/thousandeyes-sdk-endpoint-tests/docs/EndpointTest.md +++ b/thousandeyes-sdk-endpoint-tests/docs/EndpointTest.md @@ -15,14 +15,13 @@ Name | Type | Description | Notes **has_path_trace_in_session** | **bool** | Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session. | [optional] **modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] -**port** | **int** | Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443). | [optional] **protocol** | [**EndpointTestProtocol**](EndpointTestProtocol.md) | | [optional] **server** | **str** | Target domain name or IP address. | [optional] **test_id** | **str** | Each test is assigned a unique ID to access test data from other endpoints. | [optional] [readonly] **test_name** | **str** | Name of the test. | [optional] **type** | [**EndpointScheduledTestType**](EndpointScheduledTestType.md) | | **tcp_probe_mode** | [**TestProbeModeResponse**](TestProbeModeResponse.md) | | [optional] -**alert_rules** | [**List[AlertRule]**](AlertRule.md) | Contains list of enabled alert rule objects. | [optional] +**port** | **int** | Port number. | [optional] [default to 443] ## Example diff --git a/thousandeyes-sdk-endpoint-tests/docs/EndpointTestProtocol.md b/thousandeyes-sdk-endpoint-tests/docs/EndpointTestProtocol.md index 8459ae85..f6a1eb9e 100644 --- a/thousandeyes-sdk-endpoint-tests/docs/EndpointTestProtocol.md +++ b/thousandeyes-sdk-endpoint-tests/docs/EndpointTestProtocol.md @@ -1,6 +1,6 @@ # EndpointTestProtocol -Protocol used to perform the test. +Protocol requested for the test. ## Properties diff --git a/thousandeyes-sdk-endpoint-tests/docs/ScheduledTestsHTTPServerApi.md b/thousandeyes-sdk-endpoint-tests/docs/HTTPServerEndpointScheduledTestsApi.md similarity index 84% rename from thousandeyes-sdk-endpoint-tests/docs/ScheduledTestsHTTPServerApi.md rename to thousandeyes-sdk-endpoint-tests/docs/HTTPServerEndpointScheduledTestsApi.md index 52f6156b..076c933e 100644 --- a/thousandeyes-sdk-endpoint-tests/docs/ScheduledTestsHTTPServerApi.md +++ b/thousandeyes-sdk-endpoint-tests/docs/HTTPServerEndpointScheduledTestsApi.md @@ -1,14 +1,14 @@ -# thousandeyes_sdk.endpoint_tests.ScheduledTestsHTTPServerApi +# thousandeyes_sdk.endpoint_tests.HTTPServerEndpointScheduledTestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_http_server_endpoint_scheduled_test**](ScheduledTestsHTTPServerApi.md#create_http_server_endpoint_scheduled_test) | **POST** /v7/endpoint/tests/scheduled-tests/http-server | Create HTTP server endpoint scheduled test -[**delete_http_server_endpoint_scheduled_test**](ScheduledTestsHTTPServerApi.md#delete_http_server_endpoint_scheduled_test) | **DELETE** /v7/endpoint/tests/scheduled-tests/http-server/{testId} | Delete HTTP server scheduled test -[**get_http_server_endpoint_scheduled_test**](ScheduledTestsHTTPServerApi.md#get_http_server_endpoint_scheduled_test) | **GET** /v7/endpoint/tests/scheduled-tests/http-server/{testId} | Retrieves HTTP server endpoint scheduled test -[**get_http_server_endpoint_scheduled_tests**](ScheduledTestsHTTPServerApi.md#get_http_server_endpoint_scheduled_tests) | **GET** /v7/endpoint/tests/scheduled-tests/http-server | List HTTP server endpoint scheduled tests -[**update_http_server_endpoint_scheduled_test**](ScheduledTestsHTTPServerApi.md#update_http_server_endpoint_scheduled_test) | **PATCH** /v7/endpoint/tests/scheduled-tests/http-server/{testId} | Update HTTP server endpoint scheduled test +[**create_http_server_endpoint_scheduled_test**](HTTPServerEndpointScheduledTestsApi.md#create_http_server_endpoint_scheduled_test) | **POST** /endpoint/tests/scheduled-tests/http-server | Create HTTP server endpoint scheduled test +[**delete_http_server_endpoint_scheduled_test**](HTTPServerEndpointScheduledTestsApi.md#delete_http_server_endpoint_scheduled_test) | **DELETE** /endpoint/tests/scheduled-tests/http-server/{testId} | Delete HTTP server scheduled test +[**get_http_server_endpoint_scheduled_test**](HTTPServerEndpointScheduledTestsApi.md#get_http_server_endpoint_scheduled_test) | **GET** /endpoint/tests/scheduled-tests/http-server/{testId} | Retrieves HTTP server endpoint scheduled test +[**get_http_server_endpoint_scheduled_tests**](HTTPServerEndpointScheduledTestsApi.md#get_http_server_endpoint_scheduled_tests) | **GET** /endpoint/tests/scheduled-tests/http-server | List HTTP server endpoint scheduled tests +[**update_http_server_endpoint_scheduled_test**](HTTPServerEndpointScheduledTestsApi.md#update_http_server_endpoint_scheduled_test) | **PATCH** /endpoint/tests/scheduled-tests/http-server/{testId} | Update HTTP server endpoint scheduled test # **create_http_server_endpoint_scheduled_test** @@ -29,10 +29,10 @@ from thousandeyes_sdk.endpoint_tests.models.endpoint_http_server_test_request im from thousandeyes_sdk.endpoint_tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -48,17 +48,17 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_tests.ScheduledTestsHTTPServerApi(api_client) + api_instance = thousandeyes_sdk.endpoint_tests.HTTPServerEndpointScheduledTestsApi(api_client) endpoint_http_server_test_request = thousandeyes_sdk.endpoint_tests.EndpointHttpServerTestRequest() # EndpointHttpServerTestRequest | aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) try: # Create HTTP server endpoint scheduled test api_response = api_instance.create_http_server_endpoint_scheduled_test(endpoint_http_server_test_request, aid=aid) - print("The response of ScheduledTestsHTTPServerApi->create_http_server_endpoint_scheduled_test:\n") + print("The response of HTTPServerEndpointScheduledTestsApi->create_http_server_endpoint_scheduled_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling ScheduledTestsHTTPServerApi->create_http_server_endpoint_scheduled_test: %s\n" % e) + print("Exception when calling HTTPServerEndpointScheduledTestsApi->create_http_server_endpoint_scheduled_test: %s\n" % e) ``` @@ -116,10 +116,10 @@ import thousandeyes_sdk.endpoint_tests from thousandeyes_sdk.endpoint_tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -135,7 +135,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_tests.ScheduledTestsHTTPServerApi(api_client) + api_instance = thousandeyes_sdk.endpoint_tests.HTTPServerEndpointScheduledTestsApi(api_client) test_id = '584739201' # str | Unique ID of endpoint test. 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) @@ -143,7 +143,7 @@ with thousandeyes_sdk.endpoint_tests.ApiClient(configuration) as api_client: # Delete HTTP server scheduled test api_instance.delete_http_server_endpoint_scheduled_test(test_id, aid=aid) except Exception as e: - print("Exception when calling ScheduledTestsHTTPServerApi->delete_http_server_endpoint_scheduled_test: %s\n" % e) + print("Exception when calling HTTPServerEndpointScheduledTestsApi->delete_http_server_endpoint_scheduled_test: %s\n" % e) ``` @@ -202,10 +202,10 @@ from thousandeyes_sdk.endpoint_tests.models.endpoint_http_server_test import End from thousandeyes_sdk.endpoint_tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -221,17 +221,17 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_tests.ScheduledTestsHTTPServerApi(api_client) + api_instance = thousandeyes_sdk.endpoint_tests.HTTPServerEndpointScheduledTestsApi(api_client) test_id = '584739201' # str | Unique ID of endpoint test. 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: # Retrieves HTTP server endpoint scheduled test api_response = api_instance.get_http_server_endpoint_scheduled_test(test_id, aid=aid) - print("The response of ScheduledTestsHTTPServerApi->get_http_server_endpoint_scheduled_test:\n") + print("The response of HTTPServerEndpointScheduledTestsApi->get_http_server_endpoint_scheduled_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling ScheduledTestsHTTPServerApi->get_http_server_endpoint_scheduled_test: %s\n" % e) + print("Exception when calling HTTPServerEndpointScheduledTestsApi->get_http_server_endpoint_scheduled_test: %s\n" % e) ``` @@ -289,10 +289,10 @@ from thousandeyes_sdk.endpoint_tests.models.endpoint_http_server_tests import En from thousandeyes_sdk.endpoint_tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -308,16 +308,16 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_tests.ScheduledTestsHTTPServerApi(api_client) + api_instance = thousandeyes_sdk.endpoint_tests.HTTPServerEndpointScheduledTestsApi(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 HTTP server endpoint scheduled tests api_response = api_instance.get_http_server_endpoint_scheduled_tests(aid=aid) - print("The response of ScheduledTestsHTTPServerApi->get_http_server_endpoint_scheduled_tests:\n") + print("The response of HTTPServerEndpointScheduledTestsApi->get_http_server_endpoint_scheduled_tests:\n") pprint(api_response) except Exception as e: - print("Exception when calling ScheduledTestsHTTPServerApi->get_http_server_endpoint_scheduled_tests: %s\n" % e) + print("Exception when calling HTTPServerEndpointScheduledTestsApi->get_http_server_endpoint_scheduled_tests: %s\n" % e) ``` @@ -374,10 +374,10 @@ from thousandeyes_sdk.endpoint_tests.models.endpoint_http_test_update import End from thousandeyes_sdk.endpoint_tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -393,7 +393,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.endpoint_tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.endpoint_tests.ScheduledTestsHTTPServerApi(api_client) + api_instance = thousandeyes_sdk.endpoint_tests.HTTPServerEndpointScheduledTestsApi(api_client) test_id = '584739201' # str | Unique ID of endpoint test. endpoint_http_test_update = thousandeyes_sdk.endpoint_tests.EndpointHttpTestUpdate() # EndpointHttpTestUpdate | 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) @@ -401,10 +401,10 @@ with thousandeyes_sdk.endpoint_tests.ApiClient(configuration) as api_client: try: # Update HTTP server endpoint scheduled test api_response = api_instance.update_http_server_endpoint_scheduled_test(test_id, endpoint_http_test_update, aid=aid) - print("The response of ScheduledTestsHTTPServerApi->update_http_server_endpoint_scheduled_test:\n") + print("The response of HTTPServerEndpointScheduledTestsApi->update_http_server_endpoint_scheduled_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling ScheduledTestsHTTPServerApi->update_http_server_endpoint_scheduled_test: %s\n" % e) + print("Exception when calling HTTPServerEndpointScheduledTestsApi->update_http_server_endpoint_scheduled_test: %s\n" % e) ``` diff --git a/thousandeyes-sdk-endpoint-tests/docs/Severity.md b/thousandeyes-sdk-endpoint-tests/docs/Severity.md deleted file mode 100644 index 3abd8037..00000000 --- a/thousandeyes-sdk-endpoint-tests/docs/Severity.md +++ /dev/null @@ -1,12 +0,0 @@ -# Severity - -The severity of the alert. - -## 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) - - diff --git a/thousandeyes-sdk-endpoint-tests/pyproject.toml b/thousandeyes-sdk-endpoint-tests/pyproject.toml index d7a527c3..47478ebf 100644 --- a/thousandeyes-sdk-endpoint-tests/pyproject.toml +++ b/thousandeyes-sdk-endpoint-tests/pyproject.toml @@ -9,9 +9,9 @@ description = "ThousandEyes SDK Endpoint Tests API" license = { file = "LICENSE" } requires-python = ">= 3.8" dependencies = [ - "urllib3 >= 1.25.3", + "urllib3 >= 2.0.0", "python-dateutil >=2.8.2", - "pydantic >=2", + "pydantic >=2.1.0", "typing-extensions >=4.7.1", "thousandeyes-sdk-core", ] diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/__init__.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/__init__.py index c04010be..59e103cf 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/__init__.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/__init__.py @@ -7,7 +7,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -15,17 +14,13 @@ # import apis into sdk package -from thousandeyes_sdk.endpoint_tests.api.dynamic_tests_agent_to_server_api import DynamicTestsAgentToServerApi -from thousandeyes_sdk.endpoint_tests.api.list_endpoint_scheduled_tests_api import ListEndpointScheduledTestsApi -from thousandeyes_sdk.endpoint_tests.api.scheduled_tests_agent_to_server_api import ScheduledTestsAgentToServerApi -from thousandeyes_sdk.endpoint_tests.api.scheduled_tests_http_server_api import ScheduledTestsHTTPServerApi +from thousandeyes_sdk.endpoint_tests.api.agent_to_server_endpoint_dynamic_tests_api import AgentToServerEndpointDynamicTestsApi +from thousandeyes_sdk.endpoint_tests.api.agent_to_server_endpoint_scheduled_tests_api import AgentToServerEndpointScheduledTestsApi +from thousandeyes_sdk.endpoint_tests.api.endpoint_scheduled_tests_api import EndpointScheduledTestsApi +from thousandeyes_sdk.endpoint_tests.api.http_server_endpoint_scheduled_tests_api import HTTPServerEndpointScheduledTestsApi # import models into sdk package -from thousandeyes_sdk.endpoint_tests.models.alert_direction import AlertDirection -from thousandeyes_sdk.endpoint_tests.models.alert_rounds_violation_mode import AlertRoundsViolationMode -from thousandeyes_sdk.endpoint_tests.models.alert_rule import AlertRule -from thousandeyes_sdk.endpoint_tests.models.alert_type import AlertType from thousandeyes_sdk.endpoint_tests.models.dynamic_test import DynamicTest from thousandeyes_sdk.endpoint_tests.models.dynamic_test_links import DynamicTestLinks from thousandeyes_sdk.endpoint_tests.models.dynamic_test_request import DynamicTestRequest @@ -59,7 +54,6 @@ from thousandeyes_sdk.endpoint_tests.models.endpoint_tests import EndpointTests from thousandeyes_sdk.endpoint_tests.models.error import Error from thousandeyes_sdk.endpoint_tests.models.link import Link from thousandeyes_sdk.endpoint_tests.models.self_links import SelfLinks -from thousandeyes_sdk.endpoint_tests.models.severity import Severity from thousandeyes_sdk.endpoint_tests.models.test_interval import TestInterval from thousandeyes_sdk.endpoint_tests.models.test_label import TestLabel from thousandeyes_sdk.endpoint_tests.models.test_probe_mode import TestProbeMode diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/__init__.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/__init__.py index d2f3a1eb..e248e6f4 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/__init__.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/__init__.py @@ -1,8 +1,8 @@ # flake8: noqa # import apis into api package -from thousandeyes_sdk.endpoint_tests.api.dynamic_tests_agent_to_server_api import DynamicTestsAgentToServerApi -from thousandeyes_sdk.endpoint_tests.api.list_endpoint_scheduled_tests_api import ListEndpointScheduledTestsApi -from thousandeyes_sdk.endpoint_tests.api.scheduled_tests_agent_to_server_api import ScheduledTestsAgentToServerApi -from thousandeyes_sdk.endpoint_tests.api.scheduled_tests_http_server_api import ScheduledTestsHTTPServerApi +from thousandeyes_sdk.endpoint_tests.api.agent_to_server_endpoint_dynamic_tests_api import AgentToServerEndpointDynamicTestsApi +from thousandeyes_sdk.endpoint_tests.api.agent_to_server_endpoint_scheduled_tests_api import AgentToServerEndpointScheduledTestsApi +from thousandeyes_sdk.endpoint_tests.api.endpoint_scheduled_tests_api import EndpointScheduledTestsApi +from thousandeyes_sdk.endpoint_tests.api.http_server_endpoint_scheduled_tests_api import HTTPServerEndpointScheduledTestsApi diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/dynamic_tests_agent_to_server_api.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/agent_to_server_endpoint_dynamic_tests_api.py similarity index 99% rename from thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/dynamic_tests_agent_to_server_api.py rename to thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/agent_to_server_endpoint_dynamic_tests_api.py index 835d852f..01d36acf 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/dynamic_tests_agent_to_server_api.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/agent_to_server_endpoint_dynamic_tests_api.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -32,7 +31,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class DynamicTestsAgentToServerApi: +class AgentToServerEndpointDynamicTestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -343,7 +342,7 @@ class DynamicTestsAgentToServerApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/endpoint/tests/dynamic-tests/agent-to-server', + resource_path='/endpoint/tests/dynamic-tests/agent-to-server', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -642,7 +641,7 @@ class DynamicTestsAgentToServerApi: return self.api_client.param_serialize( method='DELETE', - resource_path='/v7/endpoint/tests/dynamic-tests/agent-to-server/{testId}', + resource_path='/endpoint/tests/dynamic-tests/agent-to-server/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -939,7 +938,7 @@ class DynamicTestsAgentToServerApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/endpoint/tests/dynamic-tests/agent-to-server/{testId}', + resource_path='/endpoint/tests/dynamic-tests/agent-to-server/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1218,7 +1217,7 @@ class DynamicTestsAgentToServerApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/endpoint/tests/dynamic-tests/agent-to-server', + resource_path='/endpoint/tests/dynamic-tests/agent-to-server', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1546,7 +1545,7 @@ class DynamicTestsAgentToServerApi: return self.api_client.param_serialize( method='PATCH', - resource_path='/v7/endpoint/tests/dynamic-tests/agent-to-server/{testId}', + resource_path='/endpoint/tests/dynamic-tests/agent-to-server/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/scheduled_tests_agent_to_server_api.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/agent_to_server_endpoint_scheduled_tests_api.py similarity index 99% rename from thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/scheduled_tests_agent_to_server_api.py rename to thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/agent_to_server_endpoint_scheduled_tests_api.py index 67a2f46e..42c5de47 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/scheduled_tests_agent_to_server_api.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/agent_to_server_endpoint_scheduled_tests_api.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -32,7 +31,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class ScheduledTestsAgentToServerApi: +class AgentToServerEndpointScheduledTestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -343,7 +342,7 @@ class ScheduledTestsAgentToServerApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/endpoint/tests/scheduled-tests/agent-to-server', + resource_path='/endpoint/tests/scheduled-tests/agent-to-server', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -642,7 +641,7 @@ class ScheduledTestsAgentToServerApi: return self.api_client.param_serialize( method='DELETE', - resource_path='/v7/endpoint/tests/scheduled-tests/agent-to-server/{testId}', + resource_path='/endpoint/tests/scheduled-tests/agent-to-server/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -939,7 +938,7 @@ class ScheduledTestsAgentToServerApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/endpoint/tests/scheduled-tests/agent-to-server/{testId}', + resource_path='/endpoint/tests/scheduled-tests/agent-to-server/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1218,7 +1217,7 @@ class ScheduledTestsAgentToServerApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/endpoint/tests/scheduled-tests/agent-to-server', + resource_path='/endpoint/tests/scheduled-tests/agent-to-server', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1546,7 +1545,7 @@ class ScheduledTestsAgentToServerApi: return self.api_client.param_serialize( method='PATCH', - resource_path='/v7/endpoint/tests/scheduled-tests/agent-to-server/{testId}', + resource_path='/endpoint/tests/scheduled-tests/agent-to-server/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/list_endpoint_scheduled_tests_api.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/endpoint_scheduled_tests_api.py similarity index 98% rename from thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/list_endpoint_scheduled_tests_api.py rename to thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/endpoint_scheduled_tests_api.py index fa2d907c..41cb9ce6 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/list_endpoint_scheduled_tests_api.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/endpoint_scheduled_tests_api.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,7 +28,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class ListEndpointScheduledTestsApi: +class EndpointScheduledTestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -306,7 +305,7 @@ class ListEndpointScheduledTestsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/endpoint/tests/scheduled-tests', + resource_path='/endpoint/tests/scheduled-tests', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/scheduled_tests_http_server_api.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/http_server_endpoint_scheduled_tests_api.py similarity index 99% rename from thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/scheduled_tests_http_server_api.py rename to thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/http_server_endpoint_scheduled_tests_api.py index a5f159ad..f3a2993b 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/scheduled_tests_http_server_api.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/api/http_server_endpoint_scheduled_tests_api.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -32,7 +31,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class ScheduledTestsHTTPServerApi: +class HTTPServerEndpointScheduledTestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -343,7 +342,7 @@ class ScheduledTestsHTTPServerApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/endpoint/tests/scheduled-tests/http-server', + resource_path='/endpoint/tests/scheduled-tests/http-server', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -642,7 +641,7 @@ class ScheduledTestsHTTPServerApi: return self.api_client.param_serialize( method='DELETE', - resource_path='/v7/endpoint/tests/scheduled-tests/http-server/{testId}', + resource_path='/endpoint/tests/scheduled-tests/http-server/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -939,7 +938,7 @@ class ScheduledTestsHTTPServerApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/endpoint/tests/scheduled-tests/http-server/{testId}', + resource_path='/endpoint/tests/scheduled-tests/http-server/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1218,7 +1217,7 @@ class ScheduledTestsHTTPServerApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/endpoint/tests/scheduled-tests/http-server', + resource_path='/endpoint/tests/scheduled-tests/http-server', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1546,7 +1545,7 @@ class ScheduledTestsHTTPServerApi: return self.api_client.param_serialize( method='PATCH', - resource_path='/v7/endpoint/tests/scheduled-tests/http-server/{testId}', + resource_path='/endpoint/tests/scheduled-tests/http-server/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/__init__.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/__init__.py index 3dd96c98..aab4f67c 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/__init__.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/__init__.py @@ -6,7 +6,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -14,10 +13,6 @@ # import models into model package -from thousandeyes_sdk.endpoint_tests.models.alert_direction import AlertDirection -from thousandeyes_sdk.endpoint_tests.models.alert_rounds_violation_mode import AlertRoundsViolationMode -from thousandeyes_sdk.endpoint_tests.models.alert_rule import AlertRule -from thousandeyes_sdk.endpoint_tests.models.alert_type import AlertType from thousandeyes_sdk.endpoint_tests.models.dynamic_test import DynamicTest from thousandeyes_sdk.endpoint_tests.models.dynamic_test_links import DynamicTestLinks from thousandeyes_sdk.endpoint_tests.models.dynamic_test_request import DynamicTestRequest @@ -51,7 +46,6 @@ from thousandeyes_sdk.endpoint_tests.models.endpoint_tests import EndpointTests from thousandeyes_sdk.endpoint_tests.models.error import Error from thousandeyes_sdk.endpoint_tests.models.link import Link from thousandeyes_sdk.endpoint_tests.models.self_links import SelfLinks -from thousandeyes_sdk.endpoint_tests.models.severity import Severity from thousandeyes_sdk.endpoint_tests.models.test_interval import TestInterval from thousandeyes_sdk.endpoint_tests.models.test_label import TestLabel from thousandeyes_sdk.endpoint_tests.models.test_probe_mode import TestProbeMode diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/alert_direction.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/alert_direction.py deleted file mode 100644 index e5b4f72d..00000000 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/alert_direction.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding: utf-8 - -""" - Endpoint Tests API - - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - - The version of the OpenAPI document: 7.0.8 - 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 AlertDirection(str, Enum): - """ - Direction for applicable alert types (eg. path trace, End-to-End (Agent) etc.) - """ - - """ - allowed enum values - """ - TO_MINUS_TARGET = 'to-target' - FROM_MINUS_TARGET = 'from-target' - BIDIRECTIONAL = 'bidirectional' - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Create an instance of AlertDirection from a JSON string""" - return cls(json.loads(json_str)) - - diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/alert_rounds_violation_mode.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/alert_rounds_violation_mode.py deleted file mode 100644 index 5bc2b909..00000000 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/alert_rounds_violation_mode.py +++ /dev/null @@ -1,37 +0,0 @@ -# coding: utf-8 - -""" - Endpoint Tests API - - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - - The version of the OpenAPI document: 7.0.8 - 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 AlertRoundsViolationMode(str, Enum): - """ - `exact` requires that the same agent(s) meet the threshold in consecutive rounds; default is `any` - """ - - """ - allowed enum values - """ - EXACT = 'exact' - ANY = 'any' - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Create an instance of AlertRoundsViolationMode from a JSON string""" - return cls(json.loads(json_str)) - - diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/alert_rule.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/alert_rule.py deleted file mode 100644 index 1763baec..00000000 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/alert_rule.py +++ /dev/null @@ -1,130 +0,0 @@ -# coding: utf-8 - -""" - Endpoint Tests API - - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - - The version of the OpenAPI document: 7.0.8 - 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, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.endpoint_tests.models.alert_direction import AlertDirection -from thousandeyes_sdk.endpoint_tests.models.alert_rounds_violation_mode import AlertRoundsViolationMode -from thousandeyes_sdk.endpoint_tests.models.alert_type import AlertType -from thousandeyes_sdk.endpoint_tests.models.severity import Severity -from typing import Optional, Set -from typing_extensions import Self - -class AlertRule(BaseModel): - """ - AlertRule - """ # noqa: E501 - rule_id: Optional[StrictStr] = Field(default=None, description="Unique ID of the rule", alias="ruleId") - rule_name: Optional[StrictStr] = Field(default=None, description="Name of the alert rule", alias="ruleName") - expression: Optional[StrictStr] = Field(default=None, description="String expression of alert rule") - direction: Optional[AlertDirection] = None - is_default: Optional[StrictBool] = Field(default=None, description="Alert rules allow up to 1 alert rule to be selected as a default for each type. By checking the default option, this alert rule will be automatically included on subsequently created tests that test a metric used in alerting here", alias="isDefault") - alert_type: Optional[AlertType] = Field(default=None, alias="alertType") - minimum_sources: Optional[StrictInt] = Field(default=None, description="The minimum number of agents or monitors that must meet the specified criteria in order to trigger the alert", alias="minimumSources") - minimum_sources_pct: Optional[StrictInt] = Field(default=None, description="the minimum percentage of all assigned agents or monitors that must meet the specified criteria in order to trigger the alert", alias="minimumSourcesPct") - rounds_violating_mode: Optional[AlertRoundsViolationMode] = Field(default=None, alias="roundsViolatingMode") - rounds_violating_out_of: Optional[StrictInt] = Field(default=None, description="Specifies the divisor (y value) for the “X of Y times” condition.", alias="roundsViolatingOutOf") - rounds_violating_required: Optional[StrictInt] = Field(default=None, description="Specifies the numerator (x value) for the “X of Y times” condition", alias="roundsViolatingRequired") - severity: Optional[Severity] = None - __properties: ClassVar[List[str]] = ["ruleId", "ruleName", "expression", "direction", "isDefault", "alertType", "minimumSources", "minimumSourcesPct", "roundsViolatingMode", "roundsViolatingOutOf", "roundsViolatingRequired", "severity"] - - 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 AlertRule 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([ - "rule_id", - "rule_name", - "expression", - "is_default", - "minimum_sources", - "minimum_sources_pct", - "rounds_violating_out_of", - "rounds_violating_required", - ]) - - _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 AlertRule from a dict""" - if obj is None: - return None - - if not isinstance(obj, dict): - return cls.model_validate(obj) - - _obj = cls.model_validate({ - "ruleId": obj.get("ruleId"), - "ruleName": obj.get("ruleName"), - "expression": obj.get("expression"), - "direction": obj.get("direction"), - "isDefault": obj.get("isDefault"), - "alertType": obj.get("alertType"), - "minimumSources": obj.get("minimumSources"), - "minimumSourcesPct": obj.get("minimumSourcesPct"), - "roundsViolatingMode": obj.get("roundsViolatingMode"), - "roundsViolatingOutOf": obj.get("roundsViolatingOutOf"), - "roundsViolatingRequired": obj.get("roundsViolatingRequired"), - "severity": obj.get("severity") - }) - return _obj - - diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/alert_type.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/alert_type.py deleted file mode 100644 index 79a57faa..00000000 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/alert_type.py +++ /dev/null @@ -1,62 +0,0 @@ -# coding: utf-8 - -""" - Endpoint Tests API - - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - - The version of the OpenAPI document: 7.0.8 - 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 AlertType(str, Enum): - """ - Type of alert being triggered. In multi-layered tests, this value represents the layer the alert relates to. See [Alert Details](https://developer.cisco.com/docs/thousandeyes/retrieve-alert-details/) documentation for a list of possible values - """ - - """ - allowed enum values - """ - PAGE_MINUS_LOAD = 'page-load' - HTTP_MINUS_SERVER = 'http-server' - END_MINUS_TO_MINUS_END_MINUS_SERVER = 'end-to-end-server' - END_MINUS_TO_MINUS_END_MINUS_AGENT = 'end-to-end-agent' - VOICE = 'voice' - DNS_MINUS_SERVER = 'dns-server' - DNS_MINUS_TRACE = 'dns-trace' - DNSSEC = 'dnssec' - BGP = 'bgp' - PATH_MINUS_TRACE = 'path-trace' - FTP = 'ftp' - SIP_MINUS_SERVER = 'sip-server' - TRANSACTIONS = 'transactions' - WEB_MINUS_TRANSACTIONS = 'web-transactions' - AGENT = 'agent' - NETWORK_MINUS_OUTAGE = 'network-outage' - APPLICATION_MINUS_OUTAGE = 'application-outage' - DEVICE_MINUS_DEVICE = 'device-device' - DEVICE_MINUS_INTERFACE = 'device-interface' - ENDPOINT_MINUS_NETWORK_MINUS_SERVER = 'endpoint-network-server' - ENDPOINT_MINUS_HTTP_MINUS_SERVER = 'endpoint-http-server' - ENDPOINT_MINUS_PATH_MINUS_TRACE = 'endpoint-path-trace' - ENDPOINT_MINUS_BROWSER_MINUS_SESSIONS_MINUS_AGENT = 'endpoint-browser-sessions-agent' - ENDPOINT_MINUS_BROWSER_MINUS_SESSIONS_MINUS_APPLICATION = 'endpoint-browser-sessions-application' - API = 'api' - WEB_MINUS_TRANSACTION = 'web-transaction' - UNKNOWN = 'unknown' - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Create an instance of AlertType from a JSON string""" - return cls(json.loads(json_str)) - - diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_test.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_test.py index df7d6501..6dd0aa98 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_test.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_test.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_test_links.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_test_links.py index 1d035ef8..97262245 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_test_links.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_test_links.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_test_request.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_test_request.py index bae59b66..6155e912 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_test_request.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_test_request.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,17 +16,12 @@ import pprint import re # noqa: F401 import json -from datetime import datetime -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from typing_extensions import Annotated -from thousandeyes_sdk.endpoint_tests.models.dynamic_test_links import DynamicTestLinks -from thousandeyes_sdk.endpoint_tests.models.endpoint_agent_selector_config import EndpointAgentSelectorConfig from thousandeyes_sdk.endpoint_tests.models.endpoint_test_agent_selector_type import EndpointTestAgentSelectorType from thousandeyes_sdk.endpoint_tests.models.endpoint_test_protocol import EndpointTestProtocol from thousandeyes_sdk.endpoint_tests.models.test_interval import TestInterval -from thousandeyes_sdk.endpoint_tests.models.test_label import TestLabel -from thousandeyes_sdk.endpoint_tests.models.test_probe_mode_response import TestProbeModeResponse +from thousandeyes_sdk.endpoint_tests.models.test_probe_mode import TestProbeMode from typing import Optional, Set from typing_extensions import Self @@ -35,28 +29,17 @@ class DynamicTestRequest(BaseModel): """ DynamicTestRequest """ # noqa: E501 - aid: Optional[StrictStr] = Field(default=None, description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint.") - links: Optional[DynamicTestLinks] = Field(default=None, alias="_links") - agent_selector_config: Optional[EndpointAgentSelectorConfig] = Field(default=None, alias="agentSelectorConfig") - application: Optional[StrictStr] = Field(default=None, description="Which supported application to monitor, can be one of `webex`, `zoom`, `microsoft-teams`.") - created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") - interval: Optional[TestInterval] = None - is_enabled: Optional[StrictBool] = Field(default=True, description="Indicates if test is enabled.", alias="isEnabled") - has_path_trace_in_session: Optional[StrictBool] = Field(default=None, description="Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session.", alias="hasPathTraceInSession") - has_ping: Optional[StrictBool] = Field(default=True, description="Optional flag indicating if the test should run ping.", alias="hasPing") - has_traceroute: Optional[StrictBool] = Field(default=True, description="Optional flag indicating if the test should run traceroute.", alias="hasTraceroute") - modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") - network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") - protocol: Optional[EndpointTestProtocol] = None - tcp_probe_mode: Optional[TestProbeModeResponse] = Field(default=None, alias="tcpProbeMode") - test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned a unique ID; this is used to access test information and results from other endpoints.", alias="testId") - test_name: Optional[StrictStr] = Field(default=None, description="Name of the test.", alias="testName") - labels: Optional[List[TestLabel]] = None agent_selector_type: Optional[EndpointTestAgentSelectorType] = Field(default=None, alias="agentSelectorType") agents: Optional[List[StrictStr]] = Field(default=None, description="List of endpoint agent IDs (obtained from `/endpoint/agents` endpoint). Required when `agentSelectorType` is set to `specific-agent`.") endpoint_agent_labels: Optional[List[StrictStr]] = Field(default=None, description="List of endpoint agent label IDs (obtained from `/endpoint/labels` endpoint), required when `agentSelectorType` is set to `agent-labels`.", alias="endpointAgentLabels") - max_machines: Optional[Annotated[int, Field(le=100000, strict=True, ge=1)]] = Field(default=None, description="Maximum number of agents which can execute this test.", alias="maxMachines") - __properties: ClassVar[List[str]] = ["aid", "_links", "agentSelectorConfig", "application", "createdDate", "interval", "isEnabled", "hasPathTraceInSession", "hasPing", "hasTraceroute", "modifiedDate", "networkMeasurements", "protocol", "tcpProbeMode", "testId", "testName", "labels", "agentSelectorType", "agents", "endpointAgentLabels", "maxMachines"] + interval: Optional[TestInterval] = None + max_machines: Optional[StrictInt] = Field(default=25, description="Maximum number of agents which can execute the test.", alias="maxMachines") + application: StrictStr = Field(description="Which supported application to monitor, can be one of `webex`, `zoom`, `microsoft-teams`.") + protocol: Optional[EndpointTestProtocol] = None + tcp_probe_mode: Optional[TestProbeMode] = Field(default=None, alias="tcpProbeMode") + test_name: StrictStr = Field(description="Name of the test.", alias="testName") + has_path_trace_in_session: Optional[StrictBool] = Field(default=None, description="Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session.", alias="hasPathTraceInSession") + __properties: ClassVar[List[str]] = ["agentSelectorType", "agents", "endpointAgentLabels", "interval", "maxMachines", "application", "protocol", "tcpProbeMode", "testName", "hasPathTraceInSession"] model_config = ConfigDict( populate_by_name=True, @@ -89,16 +72,8 @@ class DynamicTestRequest(BaseModel): * `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. """ excluded_fields: Set[str] = set([ - "created_date", - "modified_date", - "test_id", - "labels", ]) _dict = self.model_dump( @@ -106,19 +81,6 @@ class DynamicTestRequest(BaseModel): exclude=excluded_fields, exclude_none=True, ) - # override the default output from pydantic by calling `to_dict()` of links - if self.links: - _dict['_links'] = self.links.to_dict() - # override the default output from pydantic by calling `to_dict()` of agent_selector_config - if self.agent_selector_config: - _dict['agentSelectorConfig'] = self.agent_selector_config.to_dict() - # override the default output from pydantic by calling `to_dict()` of each item in labels (list) - _items = [] - if self.labels: - for _item in self.labels: - if _item: - _items.append(_item.to_dict()) - _dict['labels'] = _items return _dict @classmethod @@ -131,27 +93,16 @@ class DynamicTestRequest(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ - "aid": obj.get("aid"), - "_links": DynamicTestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, - "agentSelectorConfig": EndpointAgentSelectorConfig.from_dict(obj["agentSelectorConfig"]) if obj.get("agentSelectorConfig") is not None else None, - "application": obj.get("application"), - "createdDate": obj.get("createdDate"), - "interval": obj.get("interval"), - "isEnabled": obj.get("isEnabled") if obj.get("isEnabled") is not None else True, - "hasPathTraceInSession": obj.get("hasPathTraceInSession"), - "hasPing": obj.get("hasPing") if obj.get("hasPing") is not None else True, - "hasTraceroute": obj.get("hasTraceroute") if obj.get("hasTraceroute") is not None else True, - "modifiedDate": obj.get("modifiedDate"), - "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, - "protocol": obj.get("protocol"), - "tcpProbeMode": obj.get("tcpProbeMode"), - "testId": obj.get("testId"), - "testName": obj.get("testName"), - "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, "agentSelectorType": obj.get("agentSelectorType"), "agents": obj.get("agents"), "endpointAgentLabels": obj.get("endpointAgentLabels"), - "maxMachines": obj.get("maxMachines") + "interval": obj.get("interval"), + "maxMachines": obj.get("maxMachines") if obj.get("maxMachines") is not None else 25, + "application": obj.get("application"), + "protocol": obj.get("protocol"), + "tcpProbeMode": obj.get("tcpProbeMode"), + "testName": obj.get("testName"), + "hasPathTraceInSession": obj.get("hasPathTraceInSession") }) return _obj diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_test_self_link.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_test_self_link.py index 6390aa59..2ce13cc5 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_test_self_link.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_test_self_link.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_tests.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_tests.py index adb6e113..74bd6a74 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_tests.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/dynamic_tests.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_labels_selector_config.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_labels_selector_config.py index bd520df3..32b7fb1e 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_labels_selector_config.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_labels_selector_config.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,7 +16,7 @@ import pprint import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated from typing import Optional, Set @@ -28,7 +27,7 @@ class EndpointAgentLabelsSelectorConfig(BaseModel): Agent labels selection object. """ # noqa: E501 agent_selector_type: Annotated[str, Field(strict=True)] = Field(alias="agentSelectorType") - max_machines: Optional[Annotated[int, Field(le=50000, strict=True, ge=1)]] = Field(default=None, description="Maximum number of agents which can execute the test.", alias="maxMachines") + max_machines: Optional[StrictInt] = Field(default=25, description="Maximum number of agents which can execute the test.", alias="maxMachines") endpoint_agent_labels: Optional[List[StrictStr]] = Field(default=None, description="List of endpoint agent label IDs (obtained from `/endpoint/labels` endpoint), required when `agentSelectorType` is set to `agent-labels`.", alias="endpointAgentLabels") __properties: ClassVar[List[str]] = ["agentSelectorType", "maxMachines", "endpointAgentLabels"] @@ -92,7 +91,7 @@ class EndpointAgentLabelsSelectorConfig(BaseModel): _obj = cls.model_validate({ "agentSelectorType": obj.get("agentSelectorType"), - "maxMachines": obj.get("maxMachines"), + "maxMachines": obj.get("maxMachines") if obj.get("maxMachines") is not None else 25, "endpointAgentLabels": obj.get("endpointAgentLabels") }) return _obj diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_selector_config.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_selector_config.py index 94b5d010..7fccbfe4 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_selector_config.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_selector_config.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_to_server_instant_test.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_to_server_instant_test.py index 8bed6a85..54709c5b 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_to_server_instant_test.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_to_server_instant_test.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,9 +16,8 @@ import pprint import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from typing_extensions import Annotated from thousandeyes_sdk.endpoint_tests.models.endpoint_test_agent_selector_type import EndpointTestAgentSelectorType from typing import Optional, Set from typing_extensions import Self @@ -28,16 +26,14 @@ class EndpointAgentToServerInstantTest(BaseModel): """ EndpointAgentToServerInstantTest """ # noqa: E501 - agent_selector_type: EndpointTestAgentSelectorType = Field(alias="agentSelectorType") + agent_selector_type: Optional[EndpointTestAgentSelectorType] = Field(default=None, alias="agentSelectorType") agents: Optional[List[StrictStr]] = Field(default=None, description="List of endpoint agent IDs (obtained from `/endpoint/agents` endpoint). Required when `agentSelectorType` is set to `specific-agent`.") - has_ping: Optional[StrictBool] = Field(default=True, description="Optional flag indicating if the test should run ping.", alias="hasPing") - has_traceroute: Optional[StrictBool] = Field(default=True, description="Optional flag indicating if the test should run traceroute.", alias="hasTraceroute") endpoint_agent_labels: Optional[List[StrictStr]] = Field(default=None, description="List of endpoint agent label IDs (obtained from `/endpoint/labels` endpoint), required when `agentSelectorType` is set to `agent-labels`.", alias="endpointAgentLabels") - max_machines: Annotated[int, Field(le=50000, strict=True, ge=1)] = Field(description="Maximum number of agents which can execute the test.", alias="maxMachines") - port: Optional[StrictInt] = Field(default=None, description="Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443).") + max_machines: Optional[StrictInt] = Field(default=25, description="Maximum number of agents which can execute the test.", alias="maxMachines") test_name: StrictStr = Field(description="Name of the test.", alias="testName") server_name: StrictStr = Field(description="A server address without a protocol or IP address.", alias="serverName") - __properties: ClassVar[List[str]] = ["agentSelectorType", "agents", "hasPing", "hasTraceroute", "endpointAgentLabels", "maxMachines", "port", "testName", "serverName"] + port: Optional[StrictInt] = Field(default=443, description="Port number.") + __properties: ClassVar[List[str]] = ["agentSelectorType", "agents", "endpointAgentLabels", "maxMachines", "testName", "serverName", "port"] model_config = ConfigDict( populate_by_name=True, @@ -93,13 +89,11 @@ class EndpointAgentToServerInstantTest(BaseModel): _obj = cls.model_validate({ "agentSelectorType": obj.get("agentSelectorType"), "agents": obj.get("agents"), - "hasPing": obj.get("hasPing") if obj.get("hasPing") is not None else True, - "hasTraceroute": obj.get("hasTraceroute") if obj.get("hasTraceroute") is not None else True, "endpointAgentLabels": obj.get("endpointAgentLabels"), - "maxMachines": obj.get("maxMachines"), - "port": obj.get("port"), + "maxMachines": obj.get("maxMachines") if obj.get("maxMachines") is not None else 25, "testName": obj.get("testName"), - "serverName": obj.get("serverName") + "serverName": obj.get("serverName"), + "port": obj.get("port") if obj.get("port") is not None else 443 }) return _obj diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_to_server_test.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_to_server_test.py index 02e40a14..d2f829f7 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_to_server_test.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_to_server_test.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,7 +20,6 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr, field_validator from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.endpoint_tests.models.alert_rule import AlertRule from thousandeyes_sdk.endpoint_tests.models.endpoint_agent_selector_config import EndpointAgentSelectorConfig from thousandeyes_sdk.endpoint_tests.models.endpoint_test_links import EndpointTestLinks from thousandeyes_sdk.endpoint_tests.models.endpoint_test_protocol import EndpointTestProtocol @@ -45,16 +43,15 @@ class EndpointAgentToServerTest(BaseModel): has_path_trace_in_session: Optional[StrictBool] = Field(default=None, description="Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session.", alias="hasPathTraceInSession") modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") - port: Optional[StrictInt] = Field(default=None, description="Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443).") protocol: Optional[EndpointTestProtocol] = None server: Optional[StrictStr] = Field(default=None, description="Target domain name or IP address.") test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned a unique ID to access test data from other endpoints.", alias="testId") test_name: Optional[StrictStr] = Field(default=None, description="Name of the test.", alias="testName") type: Annotated[str, Field(strict=True)] = Field(description="Type of test being queried.") tcp_probe_mode: Optional[TestProbeModeResponse] = Field(default=None, alias="tcpProbeMode") - alert_rules: Optional[List[AlertRule]] = Field(default=None, description="Contains list of enabled alert rule objects.", alias="alertRules") + port: Optional[StrictInt] = Field(default=443, description="Port number.") labels: Optional[List[TestLabel]] = None - __properties: ClassVar[List[str]] = ["aid", "_links", "agentSelectorConfig", "createdDate", "interval", "isEnabled", "isSavedEvent", "hasPathTraceInSession", "modifiedDate", "networkMeasurements", "port", "protocol", "server", "testId", "testName", "type", "tcpProbeMode", "alertRules", "labels"] + __properties: ClassVar[List[str]] = ["aid", "_links", "agentSelectorConfig", "createdDate", "interval", "isEnabled", "isSavedEvent", "hasPathTraceInSession", "modifiedDate", "networkMeasurements", "protocol", "server", "testId", "testName", "type", "tcpProbeMode", "port", "labels"] @field_validator('type') def type_validate_regular_expression(cls, value): @@ -121,13 +118,6 @@ class EndpointAgentToServerTest(BaseModel): # override the default output from pydantic by calling `to_dict()` of agent_selector_config if self.agent_selector_config: _dict['agentSelectorConfig'] = self.agent_selector_config.to_dict() - # override the default output from pydantic by calling `to_dict()` of each item in alert_rules (list) - _items = [] - if self.alert_rules: - for _item in self.alert_rules: - if _item: - _items.append(_item.to_dict()) - _dict['alertRules'] = _items # override the default output from pydantic by calling `to_dict()` of each item in labels (list) _items = [] if self.labels: @@ -157,14 +147,13 @@ class EndpointAgentToServerTest(BaseModel): "hasPathTraceInSession": obj.get("hasPathTraceInSession"), "modifiedDate": obj.get("modifiedDate"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, - "port": obj.get("port"), "protocol": obj.get("protocol"), "server": obj.get("server"), "testId": obj.get("testId"), "testName": obj.get("testName"), "type": obj.get("type"), "tcpProbeMode": obj.get("tcpProbeMode"), - "alertRules": [AlertRule.from_dict(_item) for _item in obj["alertRules"]] if obj.get("alertRules") is not None else None, + "port": obj.get("port") if obj.get("port") is not None else 443, "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None }) return _obj diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_to_server_test_request.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_to_server_test_request.py index 1ad6ef38..06a62e68 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_to_server_test_request.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_to_server_test_request.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,9 +16,8 @@ import pprint import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from typing_extensions import Annotated from thousandeyes_sdk.endpoint_tests.models.endpoint_test_agent_selector_type import EndpointTestAgentSelectorType from thousandeyes_sdk.endpoint_tests.models.endpoint_test_protocol import EndpointTestProtocol from thousandeyes_sdk.endpoint_tests.models.test_interval import TestInterval @@ -30,18 +28,16 @@ class EndpointAgentToServerTestRequest(BaseModel): """ EndpointAgentToServerTestRequest """ # noqa: E501 - agent_selector_type: EndpointTestAgentSelectorType = Field(alias="agentSelectorType") + agent_selector_type: Optional[EndpointTestAgentSelectorType] = Field(default=None, alias="agentSelectorType") agents: Optional[List[StrictStr]] = Field(default=None, description="List of endpoint agent IDs (obtained from `/endpoint/agents` endpoint). Required when `agentSelectorType` is set to `specific-agent`.") - has_ping: Optional[StrictBool] = Field(default=True, description="Optional flag indicating if the test should run ping.", alias="hasPing") - has_traceroute: Optional[StrictBool] = Field(default=True, description="Optional flag indicating if the test should run traceroute.", alias="hasTraceroute") endpoint_agent_labels: Optional[List[StrictStr]] = Field(default=None, description="List of endpoint agent label IDs (obtained from `/endpoint/labels` endpoint), required when `agentSelectorType` is set to `agent-labels`.", alias="endpointAgentLabels") - max_machines: Annotated[int, Field(le=50000, strict=True, ge=1)] = Field(description="Maximum number of agents which can execute the test.", alias="maxMachines") - port: Optional[StrictInt] = Field(default=None, description="Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443).") + max_machines: Optional[StrictInt] = Field(default=25, description="Maximum number of agents which can execute the test.", alias="maxMachines") test_name: StrictStr = Field(description="Name of the test.", alias="testName") server_name: StrictStr = Field(description="A server address without a protocol or IP address.", alias="serverName") - interval: TestInterval + port: Optional[StrictInt] = Field(default=443, description="Port number.") + interval: Optional[TestInterval] = None protocol: Optional[EndpointTestProtocol] = None - __properties: ClassVar[List[str]] = ["agentSelectorType", "agents", "hasPing", "hasTraceroute", "endpointAgentLabels", "maxMachines", "port", "testName", "serverName", "interval", "protocol"] + __properties: ClassVar[List[str]] = ["agentSelectorType", "agents", "endpointAgentLabels", "maxMachines", "testName", "serverName", "port", "interval", "protocol"] model_config = ConfigDict( populate_by_name=True, @@ -97,13 +93,11 @@ class EndpointAgentToServerTestRequest(BaseModel): _obj = cls.model_validate({ "agentSelectorType": obj.get("agentSelectorType"), "agents": obj.get("agents"), - "hasPing": obj.get("hasPing") if obj.get("hasPing") is not None else True, - "hasTraceroute": obj.get("hasTraceroute") if obj.get("hasTraceroute") is not None else True, "endpointAgentLabels": obj.get("endpointAgentLabels"), - "maxMachines": obj.get("maxMachines"), - "port": obj.get("port"), + "maxMachines": obj.get("maxMachines") if obj.get("maxMachines") is not None else 25, "testName": obj.get("testName"), "serverName": obj.get("serverName"), + "port": obj.get("port") if obj.get("port") is not None else 443, "interval": obj.get("interval"), "protocol": obj.get("protocol") }) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_to_server_tests.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_to_server_tests.py index 09629936..acd92171 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_to_server_tests.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_agent_to_server_tests.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_all_agents_selector_config.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_all_agents_selector_config.py index 9e591848..159e53d0 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_all_agents_selector_config.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_all_agents_selector_config.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,7 +16,7 @@ import pprint import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, field_validator +from pydantic import BaseModel, ConfigDict, Field, StrictInt, field_validator from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated from typing import Optional, Set @@ -28,7 +27,7 @@ class EndpointAllAgentsSelectorConfig(BaseModel): Any agent selection object. """ # noqa: E501 agent_selector_type: Annotated[str, Field(strict=True)] = Field(alias="agentSelectorType") - max_machines: Optional[Annotated[int, Field(le=50000, strict=True, ge=1)]] = Field(default=None, description="Maximum number of agents which can execute the test.", alias="maxMachines") + max_machines: Optional[StrictInt] = Field(default=25, description="Maximum number of agents which can execute the test.", alias="maxMachines") __properties: ClassVar[List[str]] = ["agentSelectorType", "maxMachines"] @field_validator('agent_selector_type') @@ -91,7 +90,7 @@ class EndpointAllAgentsSelectorConfig(BaseModel): _obj = cls.model_validate({ "agentSelectorType": obj.get("agentSelectorType"), - "maxMachines": obj.get("maxMachines") + "maxMachines": obj.get("maxMachines") if obj.get("maxMachines") is not None else 25 }) return _obj diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_dynamic_test_update.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_dynamic_test_update.py index c24173dc..fd6f8caf 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_dynamic_test_update.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_dynamic_test_update.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_base_test.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_base_test.py index 6955206f..46fd6aa3 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_base_test.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_base_test.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -32,14 +31,14 @@ class EndpointHttpServerBaseTest(BaseModel): """ # noqa: E501 auth_type: Optional[EndpointTestAuthType] = Field(default=None, alias="authType") has_path_trace_in_session: Optional[StrictBool] = Field(default=None, description="Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session.", alias="hasPathTraceInSession") - http_time_limit: Optional[StrictInt] = Field(default=None, description="Maximum amount of time in milliseconds the agents wait before a request times out.", alias="httpTimeLimit") + http_time_limit: Optional[StrictInt] = Field(default=5000, description="Maximum amount of time in milliseconds the agents wait before a request times out.", alias="httpTimeLimit") protocol: Optional[EndpointTestProtocol] = None - url: Optional[StrictStr] = Field(default=None, description="Test target URL. Optionally, you can specify a protocol (http or https). If no protocol is provided, the default `https` protocol is used.") username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") ssl_version_id: Optional[TestSslVersionId] = Field(default=None, alias="sslVersionId") tcp_probe_mode: Optional[TestProbeModeResponse] = Field(default=None, alias="tcpProbeMode") - verify_certificate: Optional[StrictBool] = Field(default=None, description="Flag indicating if a certificate should be verified.", alias="verifyCertificate") - __properties: ClassVar[List[str]] = ["authType", "hasPathTraceInSession", "httpTimeLimit", "protocol", "url", "username", "sslVersionId", "tcpProbeMode", "verifyCertificate"] + verify_certificate: Optional[StrictBool] = Field(default=True, description="Flag indicating if a certificate should be verified.", alias="verifyCertificate") + url: Optional[StrictStr] = Field(default=None, description="The test target URL.") + __properties: ClassVar[List[str]] = ["authType", "hasPathTraceInSession", "httpTimeLimit", "protocol", "username", "sslVersionId", "tcpProbeMode", "verifyCertificate", "url"] model_config = ConfigDict( populate_by_name=True, @@ -95,13 +94,13 @@ class EndpointHttpServerBaseTest(BaseModel): _obj = cls.model_validate({ "authType": obj.get("authType"), "hasPathTraceInSession": obj.get("hasPathTraceInSession"), - "httpTimeLimit": obj.get("httpTimeLimit"), + "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5000, "protocol": obj.get("protocol"), - "url": obj.get("url"), "username": obj.get("username"), "sslVersionId": obj.get("sslVersionId"), "tcpProbeMode": obj.get("tcpProbeMode"), - "verifyCertificate": obj.get("verifyCertificate") + "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else True, + "url": obj.get("url") }) return _obj diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_instant_test.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_instant_test.py index 29df7cd9..bc5c294f 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_instant_test.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_instant_test.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -19,7 +18,6 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from typing_extensions import Annotated from thousandeyes_sdk.endpoint_tests.models.endpoint_test_agent_selector_type import EndpointTestAgentSelectorType from thousandeyes_sdk.endpoint_tests.models.endpoint_test_auth_type import EndpointTestAuthType from thousandeyes_sdk.endpoint_tests.models.endpoint_test_protocol import EndpointTestProtocol @@ -32,26 +30,26 @@ class EndpointHttpServerInstantTest(BaseModel): """ EndpointHttpServerInstantTest """ # noqa: E501 - agent_selector_type: EndpointTestAgentSelectorType = Field(alias="agentSelectorType") + agent_selector_type: Optional[EndpointTestAgentSelectorType] = Field(default=None, alias="agentSelectorType") agents: Optional[List[StrictStr]] = Field(default=None, description="List of endpoint agent IDs (obtained from `/endpoint/agents` endpoint). Required when `agentSelectorType` is set to `specific-agent`.") - has_ping: Optional[StrictBool] = Field(default=True, description="Optional flag indicating if the test should run ping.", alias="hasPing") - has_traceroute: Optional[StrictBool] = Field(default=True, description="Optional flag indicating if the test should run traceroute.", alias="hasTraceroute") endpoint_agent_labels: Optional[List[StrictStr]] = Field(default=None, description="List of endpoint agent label IDs (obtained from `/endpoint/labels` endpoint), required when `agentSelectorType` is set to `agent-labels`.", alias="endpointAgentLabels") - max_machines: Annotated[int, Field(le=50000, strict=True, ge=1)] = Field(description="Maximum number of agents which can execute the test.", alias="maxMachines") - port: Optional[StrictInt] = Field(default=None, description="Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443).") + max_machines: Optional[StrictInt] = Field(default=25, description="Maximum number of agents which can execute the test.", alias="maxMachines") test_name: StrictStr = Field(description="Name of the test.", alias="testName") auth_type: Optional[EndpointTestAuthType] = Field(default=None, alias="authType") has_path_trace_in_session: Optional[StrictBool] = Field(default=None, description="Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session.", alias="hasPathTraceInSession") - http_time_limit: StrictInt = Field(description="Maximum amount of time in milliseconds the agents wait before a request times out.", alias="httpTimeLimit") + http_time_limit: Optional[StrictInt] = Field(default=5000, description="Maximum amount of time in milliseconds the agents wait before a request times out.", alias="httpTimeLimit") protocol: Optional[EndpointTestProtocol] = None - url: StrictStr = Field(description="Test target URL. Optionally, you can specify a protocol (http or https). If no protocol is provided, the default `https` protocol is used.") username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") - ssl_version_id: TestSslVersionId = Field(alias="sslVersionId") + ssl_version_id: Optional[TestSslVersionId] = Field(default=None, alias="sslVersionId") tcp_probe_mode: Optional[TestProbeModeResponse] = Field(default=None, alias="tcpProbeMode") - verify_certificate: StrictBool = Field(description="Flag indicating if a certificate should be verified.", alias="verifyCertificate") - target_response_time: StrictInt = Field(description="Response time target in milliseconds. Affects the colors of agents and legends on the view page. The value is compared with actual response time in order to determine the color scale (from green to red).", alias="targetResponseTime") + verify_certificate: Optional[StrictBool] = Field(default=True, description="Flag indicating if a certificate should be verified.", alias="verifyCertificate") + url: StrictStr = Field(description="The test target URL. You can optionally specify the protocol (`http` or `https`). - **Default Protocol:** If no protocol is specified, `https` is used by default. - **Port Number:** To specify a port, append it to the URL with a colon after the hostname or IP address (e.g., `https://example.com:443`). - If no port is specified in the URL, the `port` is determined by the default for protocol (HTTP: 80, HTTPS: 443). ") + has_ping: Optional[StrictBool] = Field(default=True, description="Optional flag indicating if the test should run ping.", alias="hasPing") + has_traceroute: Optional[StrictBool] = Field(default=True, description="Optional flag indicating if the test should run traceroute.", alias="hasTraceroute") + network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") + target_response_time: Optional[StrictInt] = Field(default=1000, description="Response time target in milliseconds. Affects the colors of agents and legends on the view page. The value is compared with actual response time in order to determine the color scale (from green to red).", alias="targetResponseTime") password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") - __properties: ClassVar[List[str]] = ["agentSelectorType", "agents", "hasPing", "hasTraceroute", "endpointAgentLabels", "maxMachines", "port", "testName", "authType", "hasPathTraceInSession", "httpTimeLimit", "protocol", "url", "username", "sslVersionId", "tcpProbeMode", "verifyCertificate", "targetResponseTime", "password"] + __properties: ClassVar[List[str]] = ["agentSelectorType", "agents", "endpointAgentLabels", "maxMachines", "testName", "authType", "hasPathTraceInSession", "httpTimeLimit", "protocol", "username", "sslVersionId", "tcpProbeMode", "verifyCertificate", "url", "hasPing", "hasTraceroute", "networkMeasurements", "targetResponseTime", "password"] model_config = ConfigDict( populate_by_name=True, @@ -107,22 +105,22 @@ class EndpointHttpServerInstantTest(BaseModel): _obj = cls.model_validate({ "agentSelectorType": obj.get("agentSelectorType"), "agents": obj.get("agents"), - "hasPing": obj.get("hasPing") if obj.get("hasPing") is not None else True, - "hasTraceroute": obj.get("hasTraceroute") if obj.get("hasTraceroute") is not None else True, "endpointAgentLabels": obj.get("endpointAgentLabels"), - "maxMachines": obj.get("maxMachines"), - "port": obj.get("port"), + "maxMachines": obj.get("maxMachines") if obj.get("maxMachines") is not None else 25, "testName": obj.get("testName"), "authType": obj.get("authType"), "hasPathTraceInSession": obj.get("hasPathTraceInSession"), - "httpTimeLimit": obj.get("httpTimeLimit"), + "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5000, "protocol": obj.get("protocol"), - "url": obj.get("url"), "username": obj.get("username"), "sslVersionId": obj.get("sslVersionId"), "tcpProbeMode": obj.get("tcpProbeMode"), - "verifyCertificate": obj.get("verifyCertificate"), - "targetResponseTime": obj.get("targetResponseTime"), + "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else True, + "url": obj.get("url"), + "hasPing": obj.get("hasPing") if obj.get("hasPing") is not None else True, + "hasTraceroute": obj.get("hasTraceroute") if obj.get("hasTraceroute") is not None else True, + "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, + "targetResponseTime": obj.get("targetResponseTime") if obj.get("targetResponseTime") is not None else 1000, "password": obj.get("password") }) return _obj diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_test.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_test.py index 2e31d08b..67a01825 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_test.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_test.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,7 +20,6 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr, field_validator from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.endpoint_tests.models.alert_rule import AlertRule from thousandeyes_sdk.endpoint_tests.models.endpoint_agent_selector_config import EndpointAgentSelectorConfig from thousandeyes_sdk.endpoint_tests.models.endpoint_test_auth_type import EndpointTestAuthType from thousandeyes_sdk.endpoint_tests.models.endpoint_test_links import EndpointTestLinks @@ -47,30 +45,26 @@ class EndpointHttpServerTest(BaseModel): has_path_trace_in_session: Optional[StrictBool] = Field(default=None, description="Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session.", alias="hasPathTraceInSession") modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") - port: Optional[StrictInt] = Field(default=None, description="Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443).") protocol: Optional[EndpointTestProtocol] = None server: Optional[StrictStr] = Field(default=None, description="Target domain name or IP address.") test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned a unique ID to access test data from other endpoints.", alias="testId") test_name: Optional[StrictStr] = Field(default=None, description="Name of the test.", alias="testName") type: Annotated[str, Field(strict=True)] = Field(description="Type of test being queried.") tcp_probe_mode: Optional[TestProbeModeResponse] = Field(default=None, alias="tcpProbeMode") - alert_rules: Optional[List[AlertRule]] = Field(default=None, description="Contains list of enabled alert rule objects.", alias="alertRules") + port: Optional[StrictInt] = Field(default=443, description="Port number.") auth_type: Optional[EndpointTestAuthType] = Field(default=None, alias="authType") - http_time_limit: Optional[StrictInt] = Field(default=None, description="Maximum amount of time in milliseconds the agents wait before a request times out.", alias="httpTimeLimit") - url: Optional[StrictStr] = Field(default=None, description="Test target URL. Optionally, you can specify a protocol (http or https). If no protocol is provided, the default `https` protocol is used.") + http_time_limit: Optional[StrictInt] = Field(default=5000, description="Maximum amount of time in milliseconds the agents wait before a request times out.", alias="httpTimeLimit") username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") ssl_version_id: Optional[TestSslVersionId] = Field(default=None, alias="sslVersionId") - verify_certificate: Optional[StrictBool] = Field(default=None, description="Flag indicating if a certificate should be verified.", alias="verifyCertificate") - content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") + verify_certificate: Optional[StrictBool] = Field(default=True, description="Flag indicating if a certificate should be verified.", alias="verifyCertificate") + url: Optional[StrictStr] = Field(default=None, description="The test target URL.") follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") http_version: Optional[Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(default=2, description="HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1.", alias="httpVersion") - post_body: Optional[StrictStr] = Field(default=None, description="Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST.", alias="postBody") ssl_version: Optional[StrictStr] = Field(default=None, description="Reflects the verbose SSL protocol version used by a test.", alias="sslVersion") use_ntlm: Optional[StrictBool] = Field(default=None, description="Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set.", alias="useNtlm") - user_agent: Optional[StrictStr] = Field(default=None, description="User-agent string to be provided during the test.", alias="userAgent") labels: Optional[List[TestLabel]] = None - __properties: ClassVar[List[str]] = ["aid", "_links", "agentSelectorConfig", "createdDate", "interval", "isEnabled", "isSavedEvent", "hasPathTraceInSession", "modifiedDate", "networkMeasurements", "port", "protocol", "server", "testId", "testName", "type", "tcpProbeMode", "alertRules", "authType", "httpTimeLimit", "url", "username", "sslVersionId", "verifyCertificate", "contentRegex", "followRedirects", "httpTargetTime", "httpVersion", "postBody", "sslVersion", "useNtlm", "userAgent", "labels"] + __properties: ClassVar[List[str]] = ["aid", "_links", "agentSelectorConfig", "createdDate", "interval", "isEnabled", "isSavedEvent", "hasPathTraceInSession", "modifiedDate", "networkMeasurements", "protocol", "server", "testId", "testName", "type", "tcpProbeMode", "port", "authType", "httpTimeLimit", "username", "sslVersionId", "verifyCertificate", "url", "followRedirects", "httpTargetTime", "httpVersion", "sslVersion", "useNtlm", "labels"] @field_validator('type') def type_validate_regular_expression(cls, value): @@ -139,13 +133,6 @@ class EndpointHttpServerTest(BaseModel): # override the default output from pydantic by calling `to_dict()` of agent_selector_config if self.agent_selector_config: _dict['agentSelectorConfig'] = self.agent_selector_config.to_dict() - # override the default output from pydantic by calling `to_dict()` of each item in alert_rules (list) - _items = [] - if self.alert_rules: - for _item in self.alert_rules: - if _item: - _items.append(_item.to_dict()) - _dict['alertRules'] = _items # override the default output from pydantic by calling `to_dict()` of each item in labels (list) _items = [] if self.labels: @@ -175,28 +162,24 @@ class EndpointHttpServerTest(BaseModel): "hasPathTraceInSession": obj.get("hasPathTraceInSession"), "modifiedDate": obj.get("modifiedDate"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, - "port": obj.get("port"), "protocol": obj.get("protocol"), "server": obj.get("server"), "testId": obj.get("testId"), "testName": obj.get("testName"), "type": obj.get("type"), "tcpProbeMode": obj.get("tcpProbeMode"), - "alertRules": [AlertRule.from_dict(_item) for _item in obj["alertRules"]] if obj.get("alertRules") is not None else None, + "port": obj.get("port") if obj.get("port") is not None else 443, "authType": obj.get("authType"), - "httpTimeLimit": obj.get("httpTimeLimit"), - "url": obj.get("url"), + "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5000, "username": obj.get("username"), "sslVersionId": obj.get("sslVersionId"), - "verifyCertificate": obj.get("verifyCertificate"), - "contentRegex": obj.get("contentRegex"), + "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else True, + "url": obj.get("url"), "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, "httpTargetTime": obj.get("httpTargetTime"), "httpVersion": obj.get("httpVersion") if obj.get("httpVersion") is not None else 2, - "postBody": obj.get("postBody"), "sslVersion": obj.get("sslVersion"), "useNtlm": obj.get("useNtlm"), - "userAgent": obj.get("userAgent"), "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None }) return _obj diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_test_request.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_test_request.py index cae3e0ee..1ab13da2 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_test_request.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_test_request.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -19,7 +18,6 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from typing_extensions import Annotated from thousandeyes_sdk.endpoint_tests.models.endpoint_test_agent_selector_type import EndpointTestAgentSelectorType from thousandeyes_sdk.endpoint_tests.models.endpoint_test_auth_type import EndpointTestAuthType from thousandeyes_sdk.endpoint_tests.models.endpoint_test_protocol import EndpointTestProtocol @@ -33,27 +31,27 @@ class EndpointHttpServerTestRequest(BaseModel): """ EndpointHttpServerTestRequest """ # noqa: E501 - agent_selector_type: EndpointTestAgentSelectorType = Field(alias="agentSelectorType") + agent_selector_type: Optional[EndpointTestAgentSelectorType] = Field(default=None, alias="agentSelectorType") agents: Optional[List[StrictStr]] = Field(default=None, description="List of endpoint agent IDs (obtained from `/endpoint/agents` endpoint). Required when `agentSelectorType` is set to `specific-agent`.") - has_ping: Optional[StrictBool] = Field(default=True, description="Optional flag indicating if the test should run ping.", alias="hasPing") - has_traceroute: Optional[StrictBool] = Field(default=True, description="Optional flag indicating if the test should run traceroute.", alias="hasTraceroute") endpoint_agent_labels: Optional[List[StrictStr]] = Field(default=None, description="List of endpoint agent label IDs (obtained from `/endpoint/labels` endpoint), required when `agentSelectorType` is set to `agent-labels`.", alias="endpointAgentLabels") - max_machines: Annotated[int, Field(le=50000, strict=True, ge=1)] = Field(description="Maximum number of agents which can execute the test.", alias="maxMachines") - port: Optional[StrictInt] = Field(default=None, description="Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443).") + max_machines: Optional[StrictInt] = Field(default=25, description="Maximum number of agents which can execute the test.", alias="maxMachines") test_name: StrictStr = Field(description="Name of the test.", alias="testName") auth_type: Optional[EndpointTestAuthType] = Field(default=None, alias="authType") has_path_trace_in_session: Optional[StrictBool] = Field(default=None, description="Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session.", alias="hasPathTraceInSession") - http_time_limit: StrictInt = Field(description="Maximum amount of time in milliseconds the agents wait before a request times out.", alias="httpTimeLimit") + http_time_limit: Optional[StrictInt] = Field(default=5000, description="Maximum amount of time in milliseconds the agents wait before a request times out.", alias="httpTimeLimit") protocol: Optional[EndpointTestProtocol] = None - url: StrictStr = Field(description="Test target URL. Optionally, you can specify a protocol (http or https). If no protocol is provided, the default `https` protocol is used.") username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") - ssl_version_id: TestSslVersionId = Field(alias="sslVersionId") + ssl_version_id: Optional[TestSslVersionId] = Field(default=None, alias="sslVersionId") tcp_probe_mode: Optional[TestProbeModeResponse] = Field(default=None, alias="tcpProbeMode") - verify_certificate: StrictBool = Field(description="Flag indicating if a certificate should be verified.", alias="verifyCertificate") - target_response_time: StrictInt = Field(description="Response time target in milliseconds. Affects the colors of agents and legends on the view page. The value is compared with actual response time in order to determine the color scale (from green to red).", alias="targetResponseTime") + verify_certificate: Optional[StrictBool] = Field(default=True, description="Flag indicating if a certificate should be verified.", alias="verifyCertificate") + url: StrictStr = Field(description="The test target URL. You can optionally specify the protocol (`http` or `https`). - **Default Protocol:** If no protocol is specified, `https` is used by default. - **Port Number:** To specify a port, append it to the URL with a colon after the hostname or IP address (e.g., `https://example.com:443`). - If no port is specified in the URL, the `port` is determined by the default for protocol (HTTP: 80, HTTPS: 443). ") + has_ping: Optional[StrictBool] = Field(default=True, description="Optional flag indicating if the test should run ping.", alias="hasPing") + has_traceroute: Optional[StrictBool] = Field(default=True, description="Optional flag indicating if the test should run traceroute.", alias="hasTraceroute") + network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") + target_response_time: Optional[StrictInt] = Field(default=1000, description="Response time target in milliseconds. Affects the colors of agents and legends on the view page. The value is compared with actual response time in order to determine the color scale (from green to red).", alias="targetResponseTime") password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") - interval: TestInterval - __properties: ClassVar[List[str]] = ["agentSelectorType", "agents", "hasPing", "hasTraceroute", "endpointAgentLabels", "maxMachines", "port", "testName", "authType", "hasPathTraceInSession", "httpTimeLimit", "protocol", "url", "username", "sslVersionId", "tcpProbeMode", "verifyCertificate", "targetResponseTime", "password", "interval"] + interval: Optional[TestInterval] = None + __properties: ClassVar[List[str]] = ["agentSelectorType", "agents", "endpointAgentLabels", "maxMachines", "testName", "authType", "hasPathTraceInSession", "httpTimeLimit", "protocol", "username", "sslVersionId", "tcpProbeMode", "verifyCertificate", "url", "hasPing", "hasTraceroute", "networkMeasurements", "targetResponseTime", "password", "interval"] model_config = ConfigDict( populate_by_name=True, @@ -109,22 +107,22 @@ class EndpointHttpServerTestRequest(BaseModel): _obj = cls.model_validate({ "agentSelectorType": obj.get("agentSelectorType"), "agents": obj.get("agents"), - "hasPing": obj.get("hasPing") if obj.get("hasPing") is not None else True, - "hasTraceroute": obj.get("hasTraceroute") if obj.get("hasTraceroute") is not None else True, "endpointAgentLabels": obj.get("endpointAgentLabels"), - "maxMachines": obj.get("maxMachines"), - "port": obj.get("port"), + "maxMachines": obj.get("maxMachines") if obj.get("maxMachines") is not None else 25, "testName": obj.get("testName"), "authType": obj.get("authType"), "hasPathTraceInSession": obj.get("hasPathTraceInSession"), - "httpTimeLimit": obj.get("httpTimeLimit"), + "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5000, "protocol": obj.get("protocol"), - "url": obj.get("url"), "username": obj.get("username"), "sslVersionId": obj.get("sslVersionId"), "tcpProbeMode": obj.get("tcpProbeMode"), - "verifyCertificate": obj.get("verifyCertificate"), - "targetResponseTime": obj.get("targetResponseTime"), + "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else True, + "url": obj.get("url"), + "hasPing": obj.get("hasPing") if obj.get("hasPing") is not None else True, + "hasTraceroute": obj.get("hasTraceroute") if obj.get("hasTraceroute") is not None else True, + "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, + "targetResponseTime": obj.get("targetResponseTime") if obj.get("targetResponseTime") is not None else 1000, "password": obj.get("password"), "interval": obj.get("interval") }) diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_tests.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_tests.py index 961c2b36..d29a4502 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_tests.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_server_tests.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_test_update.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_test_update.py index cbaa7bd1..dbcbc4a2 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_test_update.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_http_test_update.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -34,7 +33,7 @@ class EndpointHttpTestUpdate(BaseModel): protocol: Optional[EndpointTestProtocol] = None is_enabled: Optional[StrictBool] = Field(default=True, description="Indicates if test is enabled.", alias="isEnabled") tcp_probe_mode: Optional[TestProbeMode] = Field(default=None, alias="tcpProbeMode") - url: Optional[StrictStr] = Field(default=None, description="Target for the test.") + url: Optional[StrictStr] = Field(default=None, description="The test target URL. You can optionally specify the protocol (`http` or `https`). - **Default Protocol:** If no protocol is specified, `https` is used by default. - **Port Number:** To specify a port, append it to the URL with a colon after the hostname or IP address (e.g., `https://example.com:443`). - If no port is specified in the URL, the `port` is determined by the default for protocol (HTTP: 80, HTTPS: 443). ") __properties: ClassVar[List[str]] = ["interval", "testName", "protocol", "isEnabled", "tcpProbeMode", "url"] model_config = ConfigDict( diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_instant_test.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_instant_test.py index 7678f8d6..b24fe501 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_instant_test.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_instant_test.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,9 +16,8 @@ import pprint import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from typing_extensions import Annotated from thousandeyes_sdk.endpoint_tests.models.endpoint_test_agent_selector_type import EndpointTestAgentSelectorType from typing import Optional, Set from typing_extensions import Self @@ -28,15 +26,12 @@ class EndpointInstantTest(BaseModel): """ EndpointInstantTest """ # noqa: E501 - agent_selector_type: EndpointTestAgentSelectorType = Field(alias="agentSelectorType") + agent_selector_type: Optional[EndpointTestAgentSelectorType] = Field(default=None, alias="agentSelectorType") agents: Optional[List[StrictStr]] = Field(default=None, description="List of endpoint agent IDs (obtained from `/endpoint/agents` endpoint). Required when `agentSelectorType` is set to `specific-agent`.") - has_ping: Optional[StrictBool] = Field(default=True, description="Optional flag indicating if the test should run ping.", alias="hasPing") - has_traceroute: Optional[StrictBool] = Field(default=True, description="Optional flag indicating if the test should run traceroute.", alias="hasTraceroute") endpoint_agent_labels: Optional[List[StrictStr]] = Field(default=None, description="List of endpoint agent label IDs (obtained from `/endpoint/labels` endpoint), required when `agentSelectorType` is set to `agent-labels`.", alias="endpointAgentLabels") - max_machines: Annotated[int, Field(le=50000, strict=True, ge=1)] = Field(description="Maximum number of agents which can execute the test.", alias="maxMachines") - port: Optional[StrictInt] = Field(default=None, description="Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443).") + max_machines: Optional[StrictInt] = Field(default=25, description="Maximum number of agents which can execute the test.", alias="maxMachines") test_name: StrictStr = Field(description="Name of the test.", alias="testName") - __properties: ClassVar[List[str]] = ["agentSelectorType", "agents", "hasPing", "hasTraceroute", "endpointAgentLabels", "maxMachines", "port", "testName"] + __properties: ClassVar[List[str]] = ["agentSelectorType", "agents", "endpointAgentLabels", "maxMachines", "testName"] model_config = ConfigDict( populate_by_name=True, @@ -92,11 +87,8 @@ class EndpointInstantTest(BaseModel): _obj = cls.model_validate({ "agentSelectorType": obj.get("agentSelectorType"), "agents": obj.get("agents"), - "hasPing": obj.get("hasPing") if obj.get("hasPing") is not None else True, - "hasTraceroute": obj.get("hasTraceroute") if obj.get("hasTraceroute") is not None else True, "endpointAgentLabels": obj.get("endpointAgentLabels"), - "maxMachines": obj.get("maxMachines"), - "port": obj.get("port"), + "maxMachines": obj.get("maxMachines") if obj.get("maxMachines") is not None else 25, "testName": obj.get("testName") }) return _obj diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_network_test_update.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_network_test_update.py index 861a579f..b9a522ec 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_network_test_update.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_network_test_update.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_scheduled_test_type.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_scheduled_test_type.py index 7e011645..f8f7d072 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_scheduled_test_type.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_scheduled_test_type.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class EndpointScheduledTestType(str, Enum): """ AGENT_MINUS_TO_MINUS_SERVER = 'agent-to-server' HTTP_MINUS_SERVER = 'http-server' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of EndpointScheduledTestType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_specific_agents_selector_config.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_specific_agents_selector_config.py index ab1e8b13..ee0440af 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_specific_agents_selector_config.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_specific_agents_selector_config.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,7 +16,7 @@ import pprint import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated from typing import Optional, Set @@ -28,7 +27,7 @@ class EndpointSpecificAgentsSelectorConfig(BaseModel): Specific agents selection object. """ # noqa: E501 agent_selector_type: Annotated[str, Field(strict=True)] = Field(alias="agentSelectorType") - max_machines: Optional[Annotated[int, Field(le=50000, strict=True, ge=1)]] = Field(default=None, description="Maximum number of agents which can execute the test.", alias="maxMachines") + max_machines: Optional[StrictInt] = Field(default=25, description="Maximum number of agents which can execute the test.", alias="maxMachines") agents: Optional[List[StrictStr]] = Field(default=None, description="List of endpoint agent IDs (obtained from `/endpoint/agents` endpoint). Required when `agentSelectorType` is set to `specific-agent`.") __properties: ClassVar[List[str]] = ["agentSelectorType", "maxMachines", "agents"] @@ -92,7 +91,7 @@ class EndpointSpecificAgentsSelectorConfig(BaseModel): _obj = cls.model_validate({ "agentSelectorType": obj.get("agentSelectorType"), - "maxMachines": obj.get("maxMachines"), + "maxMachines": obj.get("maxMachines") if obj.get("maxMachines") is not None else 25, "agents": obj.get("agents") }) return _obj diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test.py index 325579ac..a4163ffe 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,7 +19,6 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.endpoint_tests.models.alert_rule import AlertRule from thousandeyes_sdk.endpoint_tests.models.endpoint_agent_selector_config import EndpointAgentSelectorConfig from thousandeyes_sdk.endpoint_tests.models.endpoint_scheduled_test_type import EndpointScheduledTestType from thousandeyes_sdk.endpoint_tests.models.endpoint_test_links import EndpointTestLinks @@ -44,15 +42,14 @@ class EndpointTest(BaseModel): has_path_trace_in_session: Optional[StrictBool] = Field(default=None, description="Enables \"in session\" path trace. When enabled, this option initiates a TCP session with the target server and sends path trace packets within the established TCP session.", alias="hasPathTraceInSession") modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") - port: Optional[StrictInt] = Field(default=None, description="Port number, if not specified, the port is selected based on a protocol (HTTP 80, HTTPS 443).") protocol: Optional[EndpointTestProtocol] = None server: Optional[StrictStr] = Field(default=None, description="Target domain name or IP address.") test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned a unique ID to access test data from other endpoints.", alias="testId") test_name: Optional[StrictStr] = Field(default=None, description="Name of the test.", alias="testName") type: EndpointScheduledTestType tcp_probe_mode: Optional[TestProbeModeResponse] = Field(default=None, alias="tcpProbeMode") - alert_rules: Optional[List[AlertRule]] = Field(default=None, description="Contains list of enabled alert rule objects.", alias="alertRules") - __properties: ClassVar[List[str]] = ["aid", "_links", "agentSelectorConfig", "createdDate", "interval", "isEnabled", "isSavedEvent", "hasPathTraceInSession", "modifiedDate", "networkMeasurements", "port", "protocol", "server", "testId", "testName", "type", "tcpProbeMode", "alertRules"] + port: Optional[StrictInt] = Field(default=443, description="Port number.") + __properties: ClassVar[List[str]] = ["aid", "_links", "agentSelectorConfig", "createdDate", "interval", "isEnabled", "isSavedEvent", "hasPathTraceInSession", "modifiedDate", "networkMeasurements", "protocol", "server", "testId", "testName", "type", "tcpProbeMode", "port"] model_config = ConfigDict( populate_by_name=True, @@ -108,13 +105,6 @@ class EndpointTest(BaseModel): # override the default output from pydantic by calling `to_dict()` of agent_selector_config if self.agent_selector_config: _dict['agentSelectorConfig'] = self.agent_selector_config.to_dict() - # override the default output from pydantic by calling `to_dict()` of each item in alert_rules (list) - _items = [] - if self.alert_rules: - for _item in self.alert_rules: - if _item: - _items.append(_item.to_dict()) - _dict['alertRules'] = _items return _dict @classmethod @@ -137,14 +127,13 @@ class EndpointTest(BaseModel): "hasPathTraceInSession": obj.get("hasPathTraceInSession"), "modifiedDate": obj.get("modifiedDate"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, - "port": obj.get("port"), "protocol": obj.get("protocol"), "server": obj.get("server"), "testId": obj.get("testId"), "testName": obj.get("testName"), "type": obj.get("type"), "tcpProbeMode": obj.get("tcpProbeMode"), - "alertRules": [AlertRule.from_dict(_item) for _item in obj["alertRules"]] if obj.get("alertRules") is not None else None + "port": obj.get("port") if obj.get("port") is not None else 443 }) return _obj diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_agent_selector_type.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_agent_selector_type.py index 60d2568f..3a7067f7 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_agent_selector_type.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_agent_selector_type.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class EndpointTestAgentSelectorType(str, Enum): ALL_MINUS_AGENTS = 'all-agents' SPECIFIC_MINUS_AGENTS = 'specific-agents' AGENT_MINUS_LABELS = 'agent-labels' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of EndpointTestAgentSelectorType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_auth_type.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_auth_type.py index 5e1bc450..6a82c30a 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_auth_type.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_auth_type.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class EndpointTestAuthType(str, Enum): NONE = 'none' BASIC = 'basic' NTLM = 'ntlm' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of EndpointTestAuthType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_links.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_links.py index f6c22f97..22f2b103 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_links.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_links.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_protocol.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_protocol.py index 329eb808..507d4706 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_protocol.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_protocol.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,7 +19,7 @@ from typing_extensions import Self class EndpointTestProtocol(str, Enum): """ - Protocol used to perform the test. + Protocol requested for the test. """ """ @@ -32,10 +31,15 @@ class EndpointTestProtocol(str, Enum): PREFER_MINUS_TCP = 'prefer-tcp' AST_MINUS_AUTODETECT = 'ast-autodetect' AUTODETECT = 'autodetect' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of EndpointTestProtocol from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_self_link.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_self_link.py index d3863b06..07f2c7ed 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_self_link.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_test_self_link.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_tests.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_tests.py index f6ebf265..ffca9f75 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_tests.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/endpoint_tests.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/error.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/error.py index 1483c6a4..84035583 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/error.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/error.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/link.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/link.py index 35183150..367b909e 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/link.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/link.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/self_links.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/self_links.py index b15d5f8d..65a93e63 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/self_links.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/self_links.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/severity.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/severity.py deleted file mode 100644 index e4b2c1d5..00000000 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/severity.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding: utf-8 - -""" - Endpoint Tests API - - Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - - The version of the OpenAPI document: 7.0.8 - 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 Severity(str, Enum): - """ - The severity of the alert. - """ - - """ - allowed enum values - """ - INFO = 'info' - MAJOR = 'major' - MINOR = 'minor' - CRITICAL = 'critical' - UNKNOWN = 'unknown' - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Create an instance of Severity from a JSON string""" - return cls(json.loads(json_str)) - - diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_interval.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_interval.py index 46fb2a25..44ab28b6 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_interval.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_interval.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -33,10 +32,15 @@ class TestInterval(int, Enum): NUMBER_900 = 900 NUMBER_1800 = 1800 NUMBER_3600 = 3600 + NUMBER_11184809 = 11184809 @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestInterval from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_label.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_label.py index b1af6977..bef60095 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_label.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_label.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_probe_mode.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_probe_mode.py index a744deb6..96ec3b76 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_probe_mode.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_probe_mode.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class TestProbeMode(str, Enum): AUTO = 'auto' SACK = 'sack' SYN = 'syn' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestProbeMode from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_probe_mode_response.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_probe_mode_response.py index 268a825b..2ecfdb45 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_probe_mode_response.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_probe_mode_response.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -36,4 +35,8 @@ class TestProbeModeResponse(str, Enum): """Create an instance of TestProbeModeResponse from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_ssl_version_id.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_ssl_version_id.py index f0fabdea..57d6d6fe 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_ssl_version_id.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_ssl_version_id.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -31,10 +30,15 @@ class TestSslVersionId(str, Enum): ENUM_4 = '4' ENUM_5 = '5' ENUM_6 = '6' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestSslVersionId from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_update.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_update.py index 428918d1..b052471d 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_update.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/test_update.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/unauthorized_error.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/unauthorized_error.py index ccb1c5be..193dc77d 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/unauthorized_error.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/unauthorized_error.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/validation_error.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/validation_error.py index 1e94ce4f..95f514a5 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/validation_error.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/validation_error.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/validation_error_item.py b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/validation_error_item.py index 1aa69c8b..c0530013 100644 --- a/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/validation_error_item.py +++ b/thousandeyes-sdk-endpoint-tests/src/thousandeyes_sdk/endpoint_tests/models/validation_error_item.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-endpoint-tests/test/test_dynamic_tests_agent_to_server_api.py b/thousandeyes-sdk-endpoint-tests/test/test_agent_to_server_endpoint_dynamic_tests_api.py similarity index 85% rename from thousandeyes-sdk-endpoint-tests/test/test_dynamic_tests_agent_to_server_api.py rename to thousandeyes-sdk-endpoint-tests/test/test_agent_to_server_endpoint_dynamic_tests_api.py index 72491a8f..5d881159 100644 --- a/thousandeyes-sdk-endpoint-tests/test/test_dynamic_tests_agent_to_server_api.py +++ b/thousandeyes-sdk-endpoint-tests/test/test_agent_to_server_endpoint_dynamic_tests_api.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.endpoint_tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.endpoint_tests.api.dynamic_tests_agent_to_server_api import DynamicTestsAgentToServerApi +from thousandeyes_sdk.endpoint_tests.api.agent_to_server_endpoint_dynamic_tests_api import AgentToServerEndpointDynamicTestsApi -class TestDynamicTestsAgentToServerApi(unittest.TestCase): - """DynamicTestsAgentToServerApi unit test stubs""" +class TestAgentToServerEndpointDynamicTestsApi(unittest.TestCase): + """AgentToServerEndpointDynamicTestsApi unit test stubs""" def setUp(self) -> None: - self.api = DynamicTestsAgentToServerApi() + self.api = AgentToServerEndpointDynamicTestsApi() def tearDown(self) -> None: pass @@ -33,53 +32,15 @@ class TestDynamicTestsAgentToServerApi(unittest.TestCase): """Test case for create_agent_to_server_endpoint_dynamic_test request and response models""" request_body_json = """ { - "hasPing" : true, - "_links" : { - "testResults" : [ { - "href" : "https://api.thousandeyes.com/v7/endpoint/test-results/dynamic-tests/281474976710706/network/filter" - }, { - "href" : "https://api.thousandeyes.com/v7/endpoint/test-results/dynamic-tests/281474976710706/pathvis" - } ], - "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" - } - }, - "agentSelectorType" : "all-agents", - "maxMachines" : 250, - "networkMeasurements" : true, - "tcpProbeMode" : "auto", - "endpointAgentLabels" : [ "567", "214" ], - "labels" : [ { - "labelId" : "961", - "name" : "Artem label", - "isBuiltin" : false - }, { - "labelId" : "961", - "name" : "Artem label", - "isBuiltin" : false - } ], - "agents" : [ "0a3b9998-dc3a-4ff2-b50d-ac4a7cd986e1", "66eec0f1-72b4-4755-aa83-3aed61d17f3c" ], "protocol" : "icmp", - "createdDate" : "2022-07-17T22:00:54Z", "application" : "webex", - "hasTraceroute" : true, - "isEnabled" : true, - "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, - "testId" : "281474976710706", - "aid" : "1234", - "agentSelectorConfig" : { - "agentSelectorType" : "all-agents", - "maxMachines" : 10 - }, + "agentSelectorType" : "all-agents", + "maxMachines" : 25, + "interval" : 60, "hasPathTraceInSession" : true, + "endpointAgentLabels" : [ "567", "214" ], + "tcpProbeMode" : "auto", + "agents" : [ "0a3b9998-dc3a-4ff2-b50d-ac4a7cd986e1", "66eec0f1-72b4-4755-aa83-3aed61d17f3c" ], "testName" : "Test name" }""" @@ -124,12 +85,12 @@ class TestDynamicTestsAgentToServerApi(unittest.TestCase): "hasTraceroute" : true, "isEnabled" : true, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "aid" : "1234", "agentSelectorConfig" : { "agentSelectorType" : "all-agents", - "maxMachines" : 10 + "maxMachines" : 25 }, "hasPathTraceInSession" : true, "testName" : "Test name" @@ -183,12 +144,12 @@ class TestDynamicTestsAgentToServerApi(unittest.TestCase): "hasTraceroute" : true, "isEnabled" : true, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "aid" : "1234", "agentSelectorConfig" : { "agentSelectorType" : "all-agents", - "maxMachines" : 10 + "maxMachines" : 25 }, "hasPathTraceInSession" : true, "testName" : "Test name" @@ -239,12 +200,12 @@ class TestDynamicTestsAgentToServerApi(unittest.TestCase): "hasTraceroute" : true, "isEnabled" : true, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "aid" : "1234", "agentSelectorConfig" : { "agentSelectorType" : "all-agents", - "maxMachines" : 10 + "maxMachines" : 25 }, "hasPathTraceInSession" : true, "testName" : "Test name" @@ -284,12 +245,12 @@ class TestDynamicTestsAgentToServerApi(unittest.TestCase): "hasTraceroute" : true, "isEnabled" : true, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "aid" : "1234", "agentSelectorConfig" : { "agentSelectorType" : "all-agents", - "maxMachines" : 10 + "maxMachines" : 25 }, "hasPathTraceInSession" : true, "testName" : "Test name" @@ -319,7 +280,7 @@ class TestDynamicTestsAgentToServerApi(unittest.TestCase): "protocol" : "icmp", "application" : "webex", "isEnabled" : true, - "interval" : 120, + "interval" : 60, "tcpProbeMode" : "auto", "testName" : "Test name" }""" @@ -365,12 +326,12 @@ class TestDynamicTestsAgentToServerApi(unittest.TestCase): "hasTraceroute" : true, "isEnabled" : true, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "aid" : "1234", "agentSelectorConfig" : { "agentSelectorType" : "all-agents", - "maxMachines" : 10 + "maxMachines" : 25 }, "hasPathTraceInSession" : true, "testName" : "Test name" diff --git a/thousandeyes-sdk-endpoint-tests/test/test_scheduled_tests_agent_to_server_api.py b/thousandeyes-sdk-endpoint-tests/test/test_agent_to_server_endpoint_scheduled_tests_api.py similarity index 65% rename from thousandeyes-sdk-endpoint-tests/test/test_scheduled_tests_agent_to_server_api.py rename to thousandeyes-sdk-endpoint-tests/test/test_agent_to_server_endpoint_scheduled_tests_api.py index 31e1c3f7..39d5cf32 100644 --- a/thousandeyes-sdk-endpoint-tests/test/test_scheduled_tests_agent_to_server_api.py +++ b/thousandeyes-sdk-endpoint-tests/test/test_agent_to_server_endpoint_scheduled_tests_api.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.endpoint_tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.endpoint_tests.api.scheduled_tests_agent_to_server_api import ScheduledTestsAgentToServerApi +from thousandeyes_sdk.endpoint_tests.api.agent_to_server_endpoint_scheduled_tests_api import AgentToServerEndpointScheduledTestsApi -class TestScheduledTestsAgentToServerApi(unittest.TestCase): - """ScheduledTestsAgentToServerApi unit test stubs""" +class TestAgentToServerEndpointScheduledTestsApi(unittest.TestCase): + """AgentToServerEndpointScheduledTestsApi unit test stubs""" def setUp(self) -> None: - self.api = ScheduledTestsAgentToServerApi() + self.api = AgentToServerEndpointScheduledTestsApi() def tearDown(self) -> None: pass @@ -34,13 +33,11 @@ class TestScheduledTestsAgentToServerApi(unittest.TestCase): request_body_json = """ { "protocol" : "icmp", - "hasPing" : true, - "port" : 80, + "port" : 443, "agentSelectorType" : "all-agents", - "hasTraceroute" : true, - "maxMachines" : 10, + "maxMachines" : 25, "serverName" : "www.example.com", - "interval" : 120, + "interval" : 60, "endpointAgentLabels" : [ "567", "214" ], "agents" : [ "0a3b9998-dc3a-4ff2-b50d-ac4a7cd986e1", "66eec0f1-72b4-4755-aa83-3aed61d17f3c" ], "testName" : "Test name" @@ -71,33 +68,6 @@ class TestScheduledTestsAgentToServerApi(unittest.TestCase): "title" : "title" } }, - "alertRules" : [ { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - }, { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - } ], "networkMeasurements" : true, "type" : "agent-to-server", "tcpProbeMode" : "auto", @@ -112,15 +82,15 @@ class TestScheduledTestsAgentToServerApi(unittest.TestCase): } ], "protocol" : "icmp", "createdDate" : "2022-07-17T22:00:54Z", - "port" : 80, + "port" : 443, "isEnabled" : true, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "aid" : "1234", "agentSelectorConfig" : { "agentSelectorType" : "all-agents", - "maxMachines" : 10 + "maxMachines" : 25 }, "hasPathTraceInSession" : true, "testName" : "Test name" @@ -158,33 +128,6 @@ class TestScheduledTestsAgentToServerApi(unittest.TestCase): "title" : "title" } }, - "alertRules" : [ { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - }, { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - } ], "networkMeasurements" : true, "type" : "agent-to-server", "tcpProbeMode" : "auto", @@ -199,15 +142,15 @@ class TestScheduledTestsAgentToServerApi(unittest.TestCase): } ], "protocol" : "icmp", "createdDate" : "2022-07-17T22:00:54Z", - "port" : 80, + "port" : 443, "isEnabled" : true, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "aid" : "1234", "agentSelectorConfig" : { "agentSelectorType" : "all-agents", - "maxMachines" : 10 + "maxMachines" : 25 }, "hasPathTraceInSession" : true, "testName" : "Test name" @@ -242,33 +185,6 @@ class TestScheduledTestsAgentToServerApi(unittest.TestCase): "title" : "title" } }, - "alertRules" : [ { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - }, { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - } ], "networkMeasurements" : true, "type" : "agent-to-server", "tcpProbeMode" : "auto", @@ -283,15 +199,15 @@ class TestScheduledTestsAgentToServerApi(unittest.TestCase): } ], "protocol" : "icmp", "createdDate" : "2022-07-17T22:00:54Z", - "port" : 80, + "port" : 443, "isEnabled" : true, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "aid" : "1234", "agentSelectorConfig" : { "agentSelectorType" : "all-agents", - "maxMachines" : 10 + "maxMachines" : 25 }, "hasPathTraceInSession" : true, "testName" : "Test name" @@ -315,33 +231,6 @@ class TestScheduledTestsAgentToServerApi(unittest.TestCase): "title" : "title" } }, - "alertRules" : [ { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - }, { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - } ], "networkMeasurements" : true, "type" : "agent-to-server", "tcpProbeMode" : "auto", @@ -356,15 +245,15 @@ class TestScheduledTestsAgentToServerApi(unittest.TestCase): } ], "protocol" : "icmp", "createdDate" : "2022-07-17T22:00:54Z", - "port" : 80, + "port" : 443, "isEnabled" : true, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "aid" : "1234", "agentSelectorConfig" : { "agentSelectorType" : "all-agents", - "maxMachines" : 10 + "maxMachines" : 25 }, "hasPathTraceInSession" : true, "testName" : "Test name" @@ -395,7 +284,7 @@ class TestScheduledTestsAgentToServerApi(unittest.TestCase): "protocol" : "icmp", "port" : 49153, "isEnabled" : true, - "interval" : 120, + "interval" : 60, "tcpProbeMode" : "auto", "testName" : "Test name" }""" @@ -425,33 +314,6 @@ class TestScheduledTestsAgentToServerApi(unittest.TestCase): "title" : "title" } }, - "alertRules" : [ { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - }, { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - } ], "networkMeasurements" : true, "type" : "agent-to-server", "tcpProbeMode" : "auto", @@ -466,15 +328,15 @@ class TestScheduledTestsAgentToServerApi(unittest.TestCase): } ], "protocol" : "icmp", "createdDate" : "2022-07-17T22:00:54Z", - "port" : 80, + "port" : 443, "isEnabled" : true, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "aid" : "1234", "agentSelectorConfig" : { "agentSelectorType" : "all-agents", - "maxMachines" : 10 + "maxMachines" : 25 }, "hasPathTraceInSession" : true, "testName" : "Test name" diff --git a/thousandeyes-sdk-endpoint-tests/test/test_list_endpoint_scheduled_tests_api.py b/thousandeyes-sdk-endpoint-tests/test/test_endpoint_scheduled_tests_api.py similarity index 60% rename from thousandeyes-sdk-endpoint-tests/test/test_list_endpoint_scheduled_tests_api.py rename to thousandeyes-sdk-endpoint-tests/test/test_endpoint_scheduled_tests_api.py index 57b3a61b..80603676 100644 --- a/thousandeyes-sdk-endpoint-tests/test/test_list_endpoint_scheduled_tests_api.py +++ b/thousandeyes-sdk-endpoint-tests/test/test_endpoint_scheduled_tests_api.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.endpoint_tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.endpoint_tests.api.list_endpoint_scheduled_tests_api import ListEndpointScheduledTestsApi +from thousandeyes_sdk.endpoint_tests.api.endpoint_scheduled_tests_api import EndpointScheduledTestsApi -class TestListEndpointScheduledTestsApi(unittest.TestCase): - """ListEndpointScheduledTestsApi unit test stubs""" +class TestEndpointScheduledTestsApi(unittest.TestCase): + """EndpointScheduledTestsApi unit test stubs""" def setUp(self) -> None: - self.api = ListEndpointScheduledTestsApi() + self.api = EndpointScheduledTestsApi() def tearDown(self) -> None: pass @@ -54,47 +53,20 @@ class TestListEndpointScheduledTestsApi(unittest.TestCase): "title" : "title" } }, - "alertRules" : [ { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - }, { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - } ], "networkMeasurements" : true, "type" : "agent-to-server", "tcpProbeMode" : "auto", "protocol" : "icmp", "createdDate" : "2022-07-17T22:00:54Z", - "port" : 80, + "port" : 443, "isEnabled" : true, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "aid" : "1234", "agentSelectorConfig" : { "agentSelectorType" : "all-agents", - "maxMachines" : 10 + "maxMachines" : 25 }, "hasPathTraceInSession" : true, "testName" : "Test name" @@ -118,47 +90,20 @@ class TestListEndpointScheduledTestsApi(unittest.TestCase): "title" : "title" } }, - "alertRules" : [ { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - }, { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - } ], "networkMeasurements" : true, "type" : "agent-to-server", "tcpProbeMode" : "auto", "protocol" : "icmp", "createdDate" : "2022-07-17T22:00:54Z", - "port" : 80, + "port" : 443, "isEnabled" : true, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "aid" : "1234", "agentSelectorConfig" : { "agentSelectorType" : "all-agents", - "maxMachines" : 10 + "maxMachines" : 25 }, "hasPathTraceInSession" : true, "testName" : "Test name" diff --git a/thousandeyes-sdk-endpoint-tests/test/test_scheduled_tests_http_server_api.py b/thousandeyes-sdk-endpoint-tests/test/test_http_server_endpoint_scheduled_tests_api.py similarity index 65% rename from thousandeyes-sdk-endpoint-tests/test/test_scheduled_tests_http_server_api.py rename to thousandeyes-sdk-endpoint-tests/test/test_http_server_endpoint_scheduled_tests_api.py index 70f667c5..a42c935b 100644 --- a/thousandeyes-sdk-endpoint-tests/test/test_scheduled_tests_http_server_api.py +++ b/thousandeyes-sdk-endpoint-tests/test/test_http_server_endpoint_scheduled_tests_api.py @@ -5,7 +5,6 @@ Manage endpoint agent dynamic and scheduled tests using the Endpoint Tests API. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.endpoint_tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.endpoint_tests.api.scheduled_tests_http_server_api import ScheduledTestsHTTPServerApi +from thousandeyes_sdk.endpoint_tests.api.http_server_endpoint_scheduled_tests_api import HTTPServerEndpointScheduledTestsApi -class TestScheduledTestsHTTPServerApi(unittest.TestCase): - """ScheduledTestsHTTPServerApi unit test stubs""" +class TestHTTPServerEndpointScheduledTestsApi(unittest.TestCase): + """HTTPServerEndpointScheduledTestsApi unit test stubs""" def setUp(self) -> None: - self.api = ScheduledTestsHTTPServerApi() + self.api = HTTPServerEndpointScheduledTestsApi() def tearDown(self) -> None: pass @@ -33,21 +32,21 @@ class TestScheduledTestsHTTPServerApi(unittest.TestCase): """Test case for create_http_server_endpoint_scheduled_test request and response models""" request_body_json = """ { + "verifyCertificate" : true, "hasPing" : true, - "verifyCertificate" : false, "agentSelectorType" : "all-agents", - "maxMachines" : 10, + "maxMachines" : 25, "httpTimeLimit" : 5000, + "networkMeasurements" : true, "endpointAgentLabels" : [ "567", "214" ], - "url" : "www.example.com", "tcpProbeMode" : "auto", + "url" : "https://example.com:443", "agents" : [ "0a3b9998-dc3a-4ff2-b50d-ac4a7cd986e1", "66eec0f1-72b4-4755-aa83-3aed61d17f3c" ], "protocol" : "icmp", "password" : "password", - "port" : 80, "hasTraceroute" : true, "targetResponseTime" : 1000, - "interval" : 120, + "interval" : 60, "authType" : "none", "hasPathTraceInSession" : true, "testName" : "Test name", @@ -82,46 +81,17 @@ class TestScheduledTestsHTTPServerApi(unittest.TestCase): "title" : "title" } }, - "alertRules" : [ { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - }, { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - } ], "httpTimeLimit" : 5000, "type" : "http-server", "protocol" : "icmp", "httpVersion" : 2, "followRedirects" : true, - "contentRegex" : "(regex)+", "authType" : "none", "testName" : "Test name", - "verifyCertificate" : false, - "userAgent" : "curl", + "verifyCertificate" : true, "networkMeasurements" : true, "tcpProbeMode" : "auto", - "url" : "www.example.com", + "url" : "https://example.com:443", "labels" : [ { "labelId" : "961", "name" : "Artem label", @@ -132,16 +102,15 @@ class TestScheduledTestsHTTPServerApi(unittest.TestCase): "isBuiltin" : false } ], "createdDate" : "2022-07-17T22:00:54Z", - "postBody" : "body", - "port" : 80, + "port" : 443, "isEnabled" : true, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "aid" : "1234", "agentSelectorConfig" : { "agentSelectorType" : "all-agents", - "maxMachines" : 10 + "maxMachines" : 25 }, "hasPathTraceInSession" : true, "httpTargetTime" : 100, @@ -183,46 +152,17 @@ class TestScheduledTestsHTTPServerApi(unittest.TestCase): "title" : "title" } }, - "alertRules" : [ { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - }, { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - } ], "httpTimeLimit" : 5000, "type" : "http-server", "protocol" : "icmp", "httpVersion" : 2, "followRedirects" : true, - "contentRegex" : "(regex)+", "authType" : "none", "testName" : "Test name", - "verifyCertificate" : false, - "userAgent" : "curl", + "verifyCertificate" : true, "networkMeasurements" : true, "tcpProbeMode" : "auto", - "url" : "www.example.com", + "url" : "https://example.com:443", "labels" : [ { "labelId" : "961", "name" : "Artem label", @@ -233,16 +173,15 @@ class TestScheduledTestsHTTPServerApi(unittest.TestCase): "isBuiltin" : false } ], "createdDate" : "2022-07-17T22:00:54Z", - "postBody" : "body", - "port" : 80, + "port" : 443, "isEnabled" : true, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "aid" : "1234", "agentSelectorConfig" : { "agentSelectorType" : "all-agents", - "maxMachines" : 10 + "maxMachines" : 25 }, "hasPathTraceInSession" : true, "httpTargetTime" : 100, @@ -281,46 +220,17 @@ class TestScheduledTestsHTTPServerApi(unittest.TestCase): "title" : "title" } }, - "alertRules" : [ { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - }, { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - } ], "httpTimeLimit" : 5000, "type" : "http-server", "protocol" : "icmp", "httpVersion" : 2, "followRedirects" : true, - "contentRegex" : "(regex)+", "authType" : "none", "testName" : "Test name", - "verifyCertificate" : false, - "userAgent" : "curl", + "verifyCertificate" : true, "networkMeasurements" : true, "tcpProbeMode" : "auto", - "url" : "www.example.com", + "url" : "https://example.com:443", "labels" : [ { "labelId" : "961", "name" : "Artem label", @@ -331,16 +241,15 @@ class TestScheduledTestsHTTPServerApi(unittest.TestCase): "isBuiltin" : false } ], "createdDate" : "2022-07-17T22:00:54Z", - "postBody" : "body", - "port" : 80, + "port" : 443, "isEnabled" : true, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "aid" : "1234", "agentSelectorConfig" : { "agentSelectorType" : "all-agents", - "maxMachines" : 10 + "maxMachines" : 25 }, "hasPathTraceInSession" : true, "httpTargetTime" : 100, @@ -368,46 +277,17 @@ class TestScheduledTestsHTTPServerApi(unittest.TestCase): "title" : "title" } }, - "alertRules" : [ { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - }, { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - } ], "httpTimeLimit" : 5000, "type" : "http-server", "protocol" : "icmp", "httpVersion" : 2, "followRedirects" : true, - "contentRegex" : "(regex)+", "authType" : "none", "testName" : "Test name", - "verifyCertificate" : false, - "userAgent" : "curl", + "verifyCertificate" : true, "networkMeasurements" : true, "tcpProbeMode" : "auto", - "url" : "www.example.com", + "url" : "https://example.com:443", "labels" : [ { "labelId" : "961", "name" : "Artem label", @@ -418,16 +298,15 @@ class TestScheduledTestsHTTPServerApi(unittest.TestCase): "isBuiltin" : false } ], "createdDate" : "2022-07-17T22:00:54Z", - "postBody" : "body", - "port" : 80, + "port" : 443, "isEnabled" : true, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "aid" : "1234", "agentSelectorConfig" : { "agentSelectorType" : "all-agents", - "maxMachines" : 10 + "maxMachines" : 25 }, "hasPathTraceInSession" : true, "httpTargetTime" : 100, @@ -458,9 +337,9 @@ class TestScheduledTestsHTTPServerApi(unittest.TestCase): { "protocol" : "icmp", "isEnabled" : true, - "interval" : 120, + "interval" : 60, "tcpProbeMode" : "auto", - "url" : "www.thousandeyes.com", + "url" : "https://example.com:443", "testName" : "Test name" }""" @@ -491,46 +370,17 @@ class TestScheduledTestsHTTPServerApi(unittest.TestCase): "title" : "title" } }, - "alertRules" : [ { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - }, { - "severity" : "major", - "roundsViolatingOutOf" : 5, - "roundsViolatingRequired" : 2, - "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", - "minimumSourcesPct" : 99, - "ruleName" : "The End of the Internet", - "minimumSources" : 10, - "roundsViolatingMode" : "exact", - "ruleId" : "127094", - "direction" : "to-target" - } ], "httpTimeLimit" : 5000, "type" : "http-server", "protocol" : "icmp", "httpVersion" : 2, "followRedirects" : true, - "contentRegex" : "(regex)+", "authType" : "none", "testName" : "Test name", - "verifyCertificate" : false, - "userAgent" : "curl", + "verifyCertificate" : true, "networkMeasurements" : true, "tcpProbeMode" : "auto", - "url" : "www.example.com", + "url" : "https://example.com:443", "labels" : [ { "labelId" : "961", "name" : "Artem label", @@ -541,16 +391,15 @@ class TestScheduledTestsHTTPServerApi(unittest.TestCase): "isBuiltin" : false } ], "createdDate" : "2022-07-17T22:00:54Z", - "postBody" : "body", - "port" : 80, + "port" : 443, "isEnabled" : true, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "aid" : "1234", "agentSelectorConfig" : { "agentSelectorType" : "all-agents", - "maxMachines" : 10 + "maxMachines" : 25 }, "hasPathTraceInSession" : true, "httpTargetTime" : 100, diff --git a/thousandeyes-sdk-event-detection/.openapi-generator-ignore b/thousandeyes-sdk-event-detection/.openapi-generator-ignore new file mode 100644 index 00000000..7484ee59 --- /dev/null +++ b/thousandeyes-sdk-event-detection/.openapi-generator-ignore @@ -0,0 +1,23 @@ +# OpenAPI Generator Ignore +# Generated by openapi-generator https://github.com/openapitools/openapi-generator + +# Use this file to prevent files from being overwritten by the generator. +# The patterns follow closely to .gitignore or .dockerignore. + +# As an example, the C# client generator defines ApiClient.cs. +# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: +#ApiClient.cs + +# You can match any string of characters against a directory, file or extension with a single asterisk (*): +#foo/*/qux +# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux + +# You can recursively match patterns against a directory, file or extension with a double asterisk (**): +#foo/**/qux +# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux + +# You can also negate patterns with an exclamation (!). +# For example, you can ignore all files in a docs folder with the file extension .md: +#docs/*.md +# Then explicitly reverse the ignore rule for a single file: +#!docs/README.md diff --git a/thousandeyes-sdk-event-detection/.openapi-generator/FILES b/thousandeyes-sdk-event-detection/.openapi-generator/FILES new file mode 100644 index 00000000..36db1126 --- /dev/null +++ b/thousandeyes-sdk-event-detection/.openapi-generator/FILES @@ -0,0 +1,92 @@ +.openapi-generator-ignore +MANIFEST.in +README.md +docs/AffectedAgents.md +docs/AffectedCount.md +docs/AffectedTargets.md +docs/AffectedTests.md +docs/AgentLinks.md +docs/AgentLocalEventDetail.md +docs/AgentLocalEventGrouping.md +docs/ApiAffectedTarget.md +docs/CloudEnterpriseAgentType.md +docs/DnsEventDetail.md +docs/DnsEventGrouping.md +docs/Error.md +docs/Event.md +docs/EventAlertSeverity.md +docs/EventApiAffectedAgent.md +docs/EventApiAffectedTest.md +docs/EventDetail.md +docs/EventDetailBase.md +docs/EventState.md +docs/EventTestLinks.md +docs/EventType.md +docs/Events.md +docs/EventsApi.md +docs/Link.md +docs/NetworkEventDetail.md +docs/NetworkEventGrouping.md +docs/NetworkPopEventDetail.md +docs/PaginationNextAndSelfLinks.md +docs/ProxyEventDetail.md +docs/ProxyEventGrouping.md +docs/SelfLinks.md +docs/SimpleEventDetail.md +docs/TargetEventDetail.md +docs/TargetEventGrouping.md +docs/TargetNetworkEventDetail.md +docs/TargetNetworkEventGrouping.md +docs/TestType.md +docs/UnauthorizedError.md +docs/ValidationError.md +docs/ValidationErrorItem.md +pyproject.toml +setup.cfg +src/thousandeyes_sdk/event_detection/__init__.py +src/thousandeyes_sdk/event_detection/api/__init__.py +src/thousandeyes_sdk/event_detection/api/events_api.py +src/thousandeyes_sdk/event_detection/models/__init__.py +src/thousandeyes_sdk/event_detection/models/affected_agents.py +src/thousandeyes_sdk/event_detection/models/affected_count.py +src/thousandeyes_sdk/event_detection/models/affected_targets.py +src/thousandeyes_sdk/event_detection/models/affected_tests.py +src/thousandeyes_sdk/event_detection/models/agent_links.py +src/thousandeyes_sdk/event_detection/models/agent_local_event_detail.py +src/thousandeyes_sdk/event_detection/models/agent_local_event_grouping.py +src/thousandeyes_sdk/event_detection/models/api_affected_target.py +src/thousandeyes_sdk/event_detection/models/cloud_enterprise_agent_type.py +src/thousandeyes_sdk/event_detection/models/dns_event_detail.py +src/thousandeyes_sdk/event_detection/models/dns_event_grouping.py +src/thousandeyes_sdk/event_detection/models/error.py +src/thousandeyes_sdk/event_detection/models/event.py +src/thousandeyes_sdk/event_detection/models/event_alert_severity.py +src/thousandeyes_sdk/event_detection/models/event_api_affected_agent.py +src/thousandeyes_sdk/event_detection/models/event_api_affected_test.py +src/thousandeyes_sdk/event_detection/models/event_detail.py +src/thousandeyes_sdk/event_detection/models/event_detail_base.py +src/thousandeyes_sdk/event_detection/models/event_state.py +src/thousandeyes_sdk/event_detection/models/event_test_links.py +src/thousandeyes_sdk/event_detection/models/event_type.py +src/thousandeyes_sdk/event_detection/models/events.py +src/thousandeyes_sdk/event_detection/models/link.py +src/thousandeyes_sdk/event_detection/models/network_event_detail.py +src/thousandeyes_sdk/event_detection/models/network_event_grouping.py +src/thousandeyes_sdk/event_detection/models/network_pop_event_detail.py +src/thousandeyes_sdk/event_detection/models/pagination_next_and_self_links.py +src/thousandeyes_sdk/event_detection/models/proxy_event_detail.py +src/thousandeyes_sdk/event_detection/models/proxy_event_grouping.py +src/thousandeyes_sdk/event_detection/models/self_links.py +src/thousandeyes_sdk/event_detection/models/simple_event_detail.py +src/thousandeyes_sdk/event_detection/models/target_event_detail.py +src/thousandeyes_sdk/event_detection/models/target_event_grouping.py +src/thousandeyes_sdk/event_detection/models/target_network_event_detail.py +src/thousandeyes_sdk/event_detection/models/target_network_event_grouping.py +src/thousandeyes_sdk/event_detection/models/test_type.py +src/thousandeyes_sdk/event_detection/models/unauthorized_error.py +src/thousandeyes_sdk/event_detection/models/validation_error.py +src/thousandeyes_sdk/event_detection/models/validation_error_item.py +src/thousandeyes_sdk/event_detection/py.typed +test/__init__.py +test/test_events_api.py +test/test_utils.py diff --git a/thousandeyes-sdk-event-detection/.openapi-generator/VERSION b/thousandeyes-sdk-event-detection/.openapi-generator/VERSION new file mode 100644 index 00000000..93c8ddab --- /dev/null +++ b/thousandeyes-sdk-event-detection/.openapi-generator/VERSION @@ -0,0 +1 @@ +7.6.0 diff --git a/thousandeyes-sdk-event-detection/MANIFEST.in b/thousandeyes-sdk-event-detection/MANIFEST.in new file mode 100644 index 00000000..9a2248f5 --- /dev/null +++ b/thousandeyes-sdk-event-detection/MANIFEST.in @@ -0,0 +1 @@ +include docs/* diff --git a/thousandeyes-sdk-event-detection/README.md b/thousandeyes-sdk-event-detection/README.md new file mode 100644 index 00000000..2d6709ce --- /dev/null +++ b/thousandeyes-sdk-event-detection/README.md @@ -0,0 +1,169 @@ +# thousandeyes-sdk-event-detection + +Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. +* To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. +* Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). +* Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. +* When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). + +With the Events API, you can perform the following tasks on the ThousandEyes platform: +* **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + +This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: + +- API version: 7.0.20 +- Generator version: 7.6.0 +- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator + +## Requirements. + +Python 3.8+ + +## Installation & Usage +### pip install + +Install directly via PyPi: + +```sh +pip install thousandeyes-sdk-event-detection +``` +(you may need to run `pip` with root permission: `sudo pip install thousandeyes-sdk-event-detection`) + +Then import the package: +```python +import thousandeyes_sdk.event_detection +``` + +### Setuptools + +Install via [Setuptools](http://pypi.python.org/pypi/setuptools). + +```sh +python setup.py install --user +``` +(or `sudo python setup.py install` to install the package for all users) + +Then import the package: +```python +import thousandeyes_sdk.event_detection +``` + +### Tests + +Execute `pytest` to run the tests. + +## Getting Started + +Please follow the installation procedure and then run the following: + +```python + +import thousandeyes_sdk.core +import thousandeyes_sdk.event_detection +from thousandeyes_sdk.core.exceptions import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.thousandeyes.com/v7 +# See configuration.py for a list of all supported configuration parameters. +configuration = thousandeyes_sdk.core.Configuration( + host = "https://api.thousandeyes.com/v7" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure Bearer authorization: BearerAuth +configuration = thousandeyes_sdk.core.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + + +# Enter a context with an instance of the API client +with thousandeyes_sdk.core.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = thousandeyes_sdk.event_detection.EventsApi(api_client) + id = 'e9c3bf02-a48c-4aa8-9e5f-898800d6f569' # str | Unique event ID. + aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) + + try: + # Retrieve event + api_response = api_instance.get_event(id, aid=aid) + print("The response of EventsApi->get_event:\n") + pprint(api_response) + except ApiException as e: + print("Exception when calling EventsApi->get_event: %s\n" % e) + +``` + +## Documentation for API Endpoints + +All URIs are relative to *https://api.thousandeyes.com/v7* + +Class | Method | HTTP request | Description +------------ | ------------- | ------------- | ------------- +*EventsApi* | [**get_event**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/EventsApi.md#get_event) | **GET** /events/{id} | Retrieve event +*EventsApi* | [**get_events**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/EventsApi.md#get_events) | **GET** /events | List events + + +## Documentation For Models + + - [AffectedAgents](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/AffectedAgents.md) + - [AffectedCount](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/AffectedCount.md) + - [AffectedTargets](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/AffectedTargets.md) + - [AffectedTests](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/AffectedTests.md) + - [AgentLinks](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/AgentLinks.md) + - [AgentLocalEventDetail](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/AgentLocalEventDetail.md) + - [AgentLocalEventGrouping](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/AgentLocalEventGrouping.md) + - [ApiAffectedTarget](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/ApiAffectedTarget.md) + - [CloudEnterpriseAgentType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/CloudEnterpriseAgentType.md) + - [DnsEventDetail](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/DnsEventDetail.md) + - [DnsEventGrouping](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/DnsEventGrouping.md) + - [Error](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/Error.md) + - [Event](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/Event.md) + - [EventAlertSeverity](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/EventAlertSeverity.md) + - [EventApiAffectedAgent](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/EventApiAffectedAgent.md) + - [EventApiAffectedTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/EventApiAffectedTest.md) + - [EventDetail](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/EventDetail.md) + - [EventDetailBase](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/EventDetailBase.md) + - [EventState](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/EventState.md) + - [EventTestLinks](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/EventTestLinks.md) + - [EventType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/EventType.md) + - [Events](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/Events.md) + - [Link](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/Link.md) + - [NetworkEventDetail](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/NetworkEventDetail.md) + - [NetworkEventGrouping](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/NetworkEventGrouping.md) + - [NetworkPopEventDetail](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/NetworkPopEventDetail.md) + - [PaginationNextAndSelfLinks](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/PaginationNextAndSelfLinks.md) + - [ProxyEventDetail](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/ProxyEventDetail.md) + - [ProxyEventGrouping](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/ProxyEventGrouping.md) + - [SelfLinks](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/SelfLinks.md) + - [SimpleEventDetail](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/SimpleEventDetail.md) + - [TargetEventDetail](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/TargetEventDetail.md) + - [TargetEventGrouping](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/TargetEventGrouping.md) + - [TargetNetworkEventDetail](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/TargetNetworkEventDetail.md) + - [TargetNetworkEventGrouping](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/TargetNetworkEventGrouping.md) + - [TestType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/TestType.md) + - [UnauthorizedError](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/UnauthorizedError.md) + - [ValidationError](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/ValidationError.md) + - [ValidationErrorItem](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-event-detection/docs/ValidationErrorItem.md) + + + +## Documentation For Authorization + + +Authentication schemes defined for the API: + +### BearerAuth + +- **Type**: Bearer authentication + + +## Author + +ThousandEyes API Team + + diff --git a/thousandeyes-sdk-event-detection/docs/AffectedAgents.md b/thousandeyes-sdk-event-detection/docs/AffectedAgents.md new file mode 100644 index 00000000..34e25901 --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/AffectedAgents.md @@ -0,0 +1,31 @@ +# AffectedAgents + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**total** | **int** | The total number affected. | [optional] [readonly] +**in_account_group** | **int** | Indicates if in the affected account group. | [optional] [readonly] +**agents** | [**List[EventApiAffectedAgent]**](EventApiAffectedAgent.md) | List of affected agents. | [optional] + +## Example + +```python +from thousandeyes_sdk.event_detection.models.affected_agents import AffectedAgents + +# TODO update the JSON string below +json = "{}" +# create an instance of AffectedAgents from a JSON string +affected_agents_instance = AffectedAgents.from_json(json) +# print the JSON string representation of the object +print(AffectedAgents.to_json()) + +# convert the object into a dict +affected_agents_dict = affected_agents_instance.to_dict() +# create an instance of AffectedAgents from a dict +affected_agents_from_dict = AffectedAgents.from_dict(affected_agents_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) + + diff --git a/thousandeyes-sdk-event-detection/docs/AffectedCount.md b/thousandeyes-sdk-event-detection/docs/AffectedCount.md new file mode 100644 index 00000000..b0b9dd58 --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/AffectedCount.md @@ -0,0 +1,30 @@ +# AffectedCount + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**total** | **int** | The total number affected. | [optional] [readonly] +**in_account_group** | **int** | Indicates if in the affected account group. | [optional] [readonly] + +## Example + +```python +from thousandeyes_sdk.event_detection.models.affected_count import AffectedCount + +# TODO update the JSON string below +json = "{}" +# create an instance of AffectedCount from a JSON string +affected_count_instance = AffectedCount.from_json(json) +# print the JSON string representation of the object +print(AffectedCount.to_json()) + +# convert the object into a dict +affected_count_dict = affected_count_instance.to_dict() +# create an instance of AffectedCount from a dict +affected_count_from_dict = AffectedCount.from_dict(affected_count_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) + + diff --git a/thousandeyes-sdk-event-detection/docs/AffectedTargets.md b/thousandeyes-sdk-event-detection/docs/AffectedTargets.md new file mode 100644 index 00000000..703ec214 --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/AffectedTargets.md @@ -0,0 +1,31 @@ +# AffectedTargets + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**total** | **int** | The total number affected. | [optional] [readonly] +**in_account_group** | **int** | Indicates if in the affected account group. | [optional] [readonly] +**targets** | [**List[ApiAffectedTarget]**](ApiAffectedTarget.md) | List of affected targets. | [optional] + +## Example + +```python +from thousandeyes_sdk.event_detection.models.affected_targets import AffectedTargets + +# TODO update the JSON string below +json = "{}" +# create an instance of AffectedTargets from a JSON string +affected_targets_instance = AffectedTargets.from_json(json) +# print the JSON string representation of the object +print(AffectedTargets.to_json()) + +# convert the object into a dict +affected_targets_dict = affected_targets_instance.to_dict() +# create an instance of AffectedTargets from a dict +affected_targets_from_dict = AffectedTargets.from_dict(affected_targets_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) + + diff --git a/thousandeyes-sdk-event-detection/docs/AffectedTests.md b/thousandeyes-sdk-event-detection/docs/AffectedTests.md new file mode 100644 index 00000000..9a6de764 --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/AffectedTests.md @@ -0,0 +1,31 @@ +# AffectedTests + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**total** | **int** | The total number affected. | [optional] [readonly] +**in_account_group** | **int** | Indicates if in the affected account group. | [optional] [readonly] +**tests** | [**List[EventApiAffectedTest]**](EventApiAffectedTest.md) | List of affected tests. | [optional] + +## Example + +```python +from thousandeyes_sdk.event_detection.models.affected_tests import AffectedTests + +# TODO update the JSON string below +json = "{}" +# create an instance of AffectedTests from a JSON string +affected_tests_instance = AffectedTests.from_json(json) +# print the JSON string representation of the object +print(AffectedTests.to_json()) + +# convert the object into a dict +affected_tests_dict = affected_tests_instance.to_dict() +# create an instance of AffectedTests from a dict +affected_tests_from_dict = AffectedTests.from_dict(affected_tests_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) + + diff --git a/thousandeyes-sdk-event-detection/docs/AgentLinks.md b/thousandeyes-sdk-event-detection/docs/AgentLinks.md new file mode 100644 index 00000000..ca345cc7 --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/AgentLinks.md @@ -0,0 +1,30 @@ +# AgentLinks + +A links object containing the agent link. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**agent** | [**Link**](Link.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.event_detection.models.agent_links import AgentLinks + +# TODO update the JSON string below +json = "{}" +# create an instance of AgentLinks from a JSON string +agent_links_instance = AgentLinks.from_json(json) +# print the JSON string representation of the object +print(AgentLinks.to_json()) + +# convert the object into a dict +agent_links_dict = agent_links_instance.to_dict() +# create an instance of AgentLinks from a dict +agent_links_from_dict = AgentLinks.from_dict(agent_links_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) + + diff --git a/thousandeyes-sdk-event-detection/docs/AgentLocalEventDetail.md b/thousandeyes-sdk-event-detection/docs/AgentLocalEventDetail.md new file mode 100644 index 00000000..e216e2b9 --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/AgentLocalEventDetail.md @@ -0,0 +1,43 @@ +# AgentLocalEventDetail + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | A unique ID for each event. | [optional] [readonly] +**type_name** | **str** | Event type name. Examples include, Local Agent Issue, Network Path Issue, Network Outage, DNS Issue, Server Issue, and Proxy Issue. | [optional] [readonly] +**state** | [**EventState**](EventState.md) | | [optional] +**start_date** | **datetime** | The start date and time (in UTC, ISO 8601 format) when the event was first detected. | [optional] [readonly] +**end_date** | **datetime** | The end date and time (in UTC, ISO 8601 format) when the event was resolved (due to timeout). This value is populated for \"ongoing\" events. | [optional] [readonly] +**severity** | [**EventAlertSeverity**](EventAlertSeverity.md) | | [optional] +**aid** | **str** | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. | [optional] +**summary** | **str** | A brief summary describing the cause of the event. | [optional] [readonly] +**affected_tests** | [**AffectedTests**](AffectedTests.md) | | [optional] +**affected_targets** | [**AffectedTargets**](AffectedTargets.md) | | [optional] +**affected_agents** | [**AffectedAgents**](AffectedAgents.md) | | [optional] +**cause** | **List[str]** | The cause of the error. | [optional] +**links** | [**SelfLinks**](SelfLinks.md) | | [optional] +**type** | **str** | Agent local event type. | +**grouping** | [**AgentLocalEventGrouping**](AgentLocalEventGrouping.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.event_detection.models.agent_local_event_detail import AgentLocalEventDetail + +# TODO update the JSON string below +json = "{}" +# create an instance of AgentLocalEventDetail from a JSON string +agent_local_event_detail_instance = AgentLocalEventDetail.from_json(json) +# print the JSON string representation of the object +print(AgentLocalEventDetail.to_json()) + +# convert the object into a dict +agent_local_event_detail_dict = agent_local_event_detail_instance.to_dict() +# create an instance of AgentLocalEventDetail from a dict +agent_local_event_detail_from_dict = AgentLocalEventDetail.from_dict(agent_local_event_detail_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) + + diff --git a/thousandeyes-sdk-event-detection/docs/AgentLocalEventGrouping.md b/thousandeyes-sdk-event-detection/docs/AgentLocalEventGrouping.md new file mode 100644 index 00000000..764adbb2 --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/AgentLocalEventGrouping.md @@ -0,0 +1,29 @@ +# AgentLocalEventGrouping + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**agent_id** | **str** | Numeric Agent ID (for agent-local events). | [optional] [readonly] + +## Example + +```python +from thousandeyes_sdk.event_detection.models.agent_local_event_grouping import AgentLocalEventGrouping + +# TODO update the JSON string below +json = "{}" +# create an instance of AgentLocalEventGrouping from a JSON string +agent_local_event_grouping_instance = AgentLocalEventGrouping.from_json(json) +# print the JSON string representation of the object +print(AgentLocalEventGrouping.to_json()) + +# convert the object into a dict +agent_local_event_grouping_dict = agent_local_event_grouping_instance.to_dict() +# create an instance of AgentLocalEventGrouping from a dict +agent_local_event_grouping_from_dict = AgentLocalEventGrouping.from_dict(agent_local_event_grouping_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) + + diff --git a/thousandeyes-sdk-event-detection/docs/ApiAffectedTarget.md b/thousandeyes-sdk-event-detection/docs/ApiAffectedTarget.md new file mode 100644 index 00000000..ce480bc9 --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/ApiAffectedTarget.md @@ -0,0 +1,33 @@ +# ApiAffectedTarget + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**server_id** | **str** | The ID of the target server. | [optional] [readonly] +**name** | **str** | The target name as configured in the test settings. | [optional] [readonly] +**ip** | **str** | The target server IP resolved by the agent. Depending on the failure type, the IP may not be present. For example, if the agent failed to resolve it or if the requests were routed through the proxy. | [optional] [readonly] +**affected_test_ids** | **List[str]** | An array of unique test IDs that contributed data points which generated the signal for the event. | [optional] +**affected_agent_ids** | **List[str]** | An array of unique agent IDs that contributed data points which generated the signal for the event. | [optional] + +## Example + +```python +from thousandeyes_sdk.event_detection.models.api_affected_target import ApiAffectedTarget + +# TODO update the JSON string below +json = "{}" +# create an instance of ApiAffectedTarget from a JSON string +api_affected_target_instance = ApiAffectedTarget.from_json(json) +# print the JSON string representation of the object +print(ApiAffectedTarget.to_json()) + +# convert the object into a dict +api_affected_target_dict = api_affected_target_instance.to_dict() +# create an instance of ApiAffectedTarget from a dict +api_affected_target_from_dict = ApiAffectedTarget.from_dict(api_affected_target_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) + + diff --git a/thousandeyes-sdk-event-detection/docs/CloudEnterpriseAgentType.md b/thousandeyes-sdk-event-detection/docs/CloudEnterpriseAgentType.md new file mode 100644 index 00000000..371c853b --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/CloudEnterpriseAgentType.md @@ -0,0 +1,12 @@ +# CloudEnterpriseAgentType + +Type of the agent. + +## 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) + + diff --git a/thousandeyes-sdk-event-detection/docs/DnsEventDetail.md b/thousandeyes-sdk-event-detection/docs/DnsEventDetail.md new file mode 100644 index 00000000..6bd6eff1 --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/DnsEventDetail.md @@ -0,0 +1,43 @@ +# DnsEventDetail + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | A unique ID for each event. | [optional] [readonly] +**type_name** | **str** | Event type name. Examples include, Local Agent Issue, Network Path Issue, Network Outage, DNS Issue, Server Issue, and Proxy Issue. | [optional] [readonly] +**state** | [**EventState**](EventState.md) | | [optional] +**start_date** | **datetime** | The start date and time (in UTC, ISO 8601 format) when the event was first detected. | [optional] [readonly] +**end_date** | **datetime** | The end date and time (in UTC, ISO 8601 format) when the event was resolved (due to timeout). This value is populated for \"ongoing\" events. | [optional] [readonly] +**severity** | [**EventAlertSeverity**](EventAlertSeverity.md) | | [optional] +**aid** | **str** | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. | [optional] +**summary** | **str** | A brief summary describing the cause of the event. | [optional] [readonly] +**affected_tests** | [**AffectedTests**](AffectedTests.md) | | [optional] +**affected_targets** | [**AffectedTargets**](AffectedTargets.md) | | [optional] +**affected_agents** | [**AffectedAgents**](AffectedAgents.md) | | [optional] +**cause** | **List[str]** | The cause of the error. | [optional] +**links** | [**SelfLinks**](SelfLinks.md) | | [optional] +**type** | **str** | DNS event type. | +**grouping** | [**DnsEventGrouping**](DnsEventGrouping.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.event_detection.models.dns_event_detail import DnsEventDetail + +# TODO update the JSON string below +json = "{}" +# create an instance of DnsEventDetail from a JSON string +dns_event_detail_instance = DnsEventDetail.from_json(json) +# print the JSON string representation of the object +print(DnsEventDetail.to_json()) + +# convert the object into a dict +dns_event_detail_dict = dns_event_detail_instance.to_dict() +# create an instance of DnsEventDetail from a dict +dns_event_detail_from_dict = DnsEventDetail.from_dict(dns_event_detail_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) + + diff --git a/thousandeyes-sdk-event-detection/docs/DnsEventGrouping.md b/thousandeyes-sdk-event-detection/docs/DnsEventGrouping.md new file mode 100644 index 00000000..2c7a59fd --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/DnsEventGrouping.md @@ -0,0 +1,29 @@ +# DnsEventGrouping + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**root_domain** | **str** | Root domain name (for dns events). | [optional] [readonly] + +## Example + +```python +from thousandeyes_sdk.event_detection.models.dns_event_grouping import DnsEventGrouping + +# TODO update the JSON string below +json = "{}" +# create an instance of DnsEventGrouping from a JSON string +dns_event_grouping_instance = DnsEventGrouping.from_json(json) +# print the JSON string representation of the object +print(DnsEventGrouping.to_json()) + +# convert the object into a dict +dns_event_grouping_dict = dns_event_grouping_instance.to_dict() +# create an instance of DnsEventGrouping from a dict +dns_event_grouping_from_dict = DnsEventGrouping.from_dict(dns_event_grouping_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) + + diff --git a/thousandeyes-sdk-event-detection/docs/Error.md b/thousandeyes-sdk-event-detection/docs/Error.md new file mode 100644 index 00000000..af1a1921 --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/Error.md @@ -0,0 +1,33 @@ +# Error + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | **str** | A URI reference that identifies the problem type. When this member is not present, its value is assumed to be \"about:blank\". | [optional] +**title** | **str** | A short, human-readable summary of the problem type. | [optional] +**status** | **int** | The HTTP status code generated by the origin server for this occurrence of the problem. | [optional] +**detail** | **str** | A human-readable explanation specific to this occurrence of the problem. | [optional] +**instance** | **str** | A URI reference that identifies the specific occurrence of the problem. | [optional] + +## Example + +```python +from thousandeyes_sdk.event_detection.models.error import Error + +# TODO update the JSON string below +json = "{}" +# create an instance of Error from a JSON string +error_instance = Error.from_json(json) +# print the JSON string representation of the object +print(Error.to_json()) + +# convert the object into a dict +error_dict = error_instance.to_dict() +# create an instance of Error from a dict +error_from_dict = Error.from_dict(error_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) + + diff --git a/thousandeyes-sdk-event-detection/docs/Event.md b/thousandeyes-sdk-event-detection/docs/Event.md new file mode 100644 index 00000000..01d6ae61 --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/Event.md @@ -0,0 +1,40 @@ +# Event + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | A unique ID for each event. | [optional] [readonly] +**type_name** | **str** | Event type name. Examples include, Local Agent Issue, Network Path Issue, Network Outage, DNS Issue, Server Issue, and Proxy Issue. | [optional] [readonly] +**state** | [**EventState**](EventState.md) | | [optional] +**start_date** | **datetime** | The start date and time (in UTC, ISO 8601 format) when the event was first detected. | [optional] [readonly] +**end_date** | **datetime** | The end date and time (in UTC, ISO 8601 format) when the event was resolved (due to timeout). This value is populated for \"ongoing\" events. | [optional] [readonly] +**severity** | [**EventAlertSeverity**](EventAlertSeverity.md) | | [optional] +**title** | **str** | Event title | [optional] [readonly] +**type** | [**EventType**](EventType.md) | | [optional] +**affected_tests** | [**AffectedCount**](AffectedCount.md) | | [optional] +**affected_targets** | [**AffectedCount**](AffectedCount.md) | | [optional] +**affected_agents** | [**AffectedCount**](AffectedCount.md) | | [optional] +**links** | [**SelfLinks**](SelfLinks.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.event_detection.models.event import Event + +# TODO update the JSON string below +json = "{}" +# create an instance of Event from a JSON string +event_instance = Event.from_json(json) +# print the JSON string representation of the object +print(Event.to_json()) + +# convert the object into a dict +event_dict = event_instance.to_dict() +# create an instance of Event from a dict +event_from_dict = Event.from_dict(event_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) + + diff --git a/thousandeyes-sdk-endpoint-instant-tests/docs/Severity.md b/thousandeyes-sdk-event-detection/docs/EventAlertSeverity.md similarity index 93% rename from thousandeyes-sdk-endpoint-instant-tests/docs/Severity.md rename to thousandeyes-sdk-event-detection/docs/EventAlertSeverity.md index 3abd8037..89fc89cc 100644 --- a/thousandeyes-sdk-endpoint-instant-tests/docs/Severity.md +++ b/thousandeyes-sdk-event-detection/docs/EventAlertSeverity.md @@ -1,4 +1,4 @@ -# Severity +# EventAlertSeverity The severity of the alert. diff --git a/thousandeyes-sdk-event-detection/docs/EventApiAffectedAgent.md b/thousandeyes-sdk-event-detection/docs/EventApiAffectedAgent.md new file mode 100644 index 00000000..8bcfbd3a --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/EventApiAffectedAgent.md @@ -0,0 +1,36 @@ +# EventApiAffectedAgent + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**agent_id** | **str** | The ID of the virtual agent. | [optional] [readonly] +**type** | [**CloudEnterpriseAgentType**](CloudEnterpriseAgentType.md) | | [optional] +**name** | **str** | The name of the agent as defined in settings. | [optional] [readonly] +**location** | **str** | The name of the agent's location. | [optional] [readonly] +**country_code** | **str** | The country code of the agent's location . | [optional] [readonly] +**affected_target_ids** | **List[str]** | An array of unique target IDs that contributed data points which generated the signal for the event. | [optional] +**affected_test_ids** | **List[str]** | An array of unique agent IDs that contributed data points which generated the signal for the event. | [optional] +**links** | [**AgentLinks**](AgentLinks.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.event_detection.models.event_api_affected_agent import EventApiAffectedAgent + +# TODO update the JSON string below +json = "{}" +# create an instance of EventApiAffectedAgent from a JSON string +event_api_affected_agent_instance = EventApiAffectedAgent.from_json(json) +# print the JSON string representation of the object +print(EventApiAffectedAgent.to_json()) + +# convert the object into a dict +event_api_affected_agent_dict = event_api_affected_agent_instance.to_dict() +# create an instance of EventApiAffectedAgent from a dict +event_api_affected_agent_from_dict = EventApiAffectedAgent.from_dict(event_api_affected_agent_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) + + diff --git a/thousandeyes-sdk-event-detection/docs/EventApiAffectedTest.md b/thousandeyes-sdk-event-detection/docs/EventApiAffectedTest.md new file mode 100644 index 00000000..137ab012 --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/EventApiAffectedTest.md @@ -0,0 +1,34 @@ +# EventApiAffectedTest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**test_id** | **str** | The ID of the affected test. | [optional] [readonly] +**test_type** | [**TestType**](TestType.md) | | [optional] +**name** | **str** | The test name as configured in the test settings. | [optional] [readonly] +**affected_target_ids** | **List[str]** | An array of unique target IDs contributed data points which generated the signal for the event. | [optional] +**affected_agent_ids** | **List[str]** | An array of unique agent IDs that contributed data points which generated the signal for the event. | [optional] +**links** | [**EventTestLinks**](EventTestLinks.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.event_detection.models.event_api_affected_test import EventApiAffectedTest + +# TODO update the JSON string below +json = "{}" +# create an instance of EventApiAffectedTest from a JSON string +event_api_affected_test_instance = EventApiAffectedTest.from_json(json) +# print the JSON string representation of the object +print(EventApiAffectedTest.to_json()) + +# convert the object into a dict +event_api_affected_test_dict = event_api_affected_test_instance.to_dict() +# create an instance of EventApiAffectedTest from a dict +event_api_affected_test_from_dict = EventApiAffectedTest.from_dict(event_api_affected_test_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) + + diff --git a/thousandeyes-sdk-event-detection/docs/EventDetail.md b/thousandeyes-sdk-event-detection/docs/EventDetail.md new file mode 100644 index 00000000..b3b4c39e --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/EventDetail.md @@ -0,0 +1,43 @@ +# EventDetail + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | A unique ID for each event. | [optional] [readonly] +**type_name** | **str** | Event type name. Examples include, Local Agent Issue, Network Path Issue, Network Outage, DNS Issue, Server Issue, and Proxy Issue. | [optional] [readonly] +**state** | [**EventState**](EventState.md) | | [optional] +**start_date** | **datetime** | The start date and time (in UTC, ISO 8601 format) when the event was first detected. | [optional] [readonly] +**end_date** | **datetime** | The end date and time (in UTC, ISO 8601 format) when the event was resolved (due to timeout). This value is populated for \"ongoing\" events. | [optional] [readonly] +**severity** | [**EventAlertSeverity**](EventAlertSeverity.md) | | [optional] +**aid** | **str** | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. | [optional] +**summary** | **str** | A brief summary describing the cause of the event. | [optional] [readonly] +**affected_tests** | [**AffectedTests**](AffectedTests.md) | | [optional] +**affected_targets** | [**AffectedTargets**](AffectedTargets.md) | | [optional] +**affected_agents** | [**AffectedAgents**](AffectedAgents.md) | | [optional] +**cause** | **List[str]** | The cause of the error. | [optional] +**links** | [**SelfLinks**](SelfLinks.md) | | [optional] +**type** | **str** | Network pop event type. | +**grouping** | [**NetworkEventGrouping**](NetworkEventGrouping.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.event_detection.models.event_detail import EventDetail + +# TODO update the JSON string below +json = "{}" +# create an instance of EventDetail from a JSON string +event_detail_instance = EventDetail.from_json(json) +# print the JSON string representation of the object +print(EventDetail.to_json()) + +# convert the object into a dict +event_detail_dict = event_detail_instance.to_dict() +# create an instance of EventDetail from a dict +event_detail_from_dict = EventDetail.from_dict(event_detail_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) + + diff --git a/thousandeyes-sdk-event-detection/docs/EventDetailBase.md b/thousandeyes-sdk-event-detection/docs/EventDetailBase.md new file mode 100644 index 00000000..305b1bd5 --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/EventDetailBase.md @@ -0,0 +1,41 @@ +# EventDetailBase + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | A unique ID for each event. | [optional] [readonly] +**type_name** | **str** | Event type name. Examples include, Local Agent Issue, Network Path Issue, Network Outage, DNS Issue, Server Issue, and Proxy Issue. | [optional] [readonly] +**state** | [**EventState**](EventState.md) | | [optional] +**start_date** | **datetime** | The start date and time (in UTC, ISO 8601 format) when the event was first detected. | [optional] [readonly] +**end_date** | **datetime** | The end date and time (in UTC, ISO 8601 format) when the event was resolved (due to timeout). This value is populated for \"ongoing\" events. | [optional] [readonly] +**severity** | [**EventAlertSeverity**](EventAlertSeverity.md) | | [optional] +**aid** | **str** | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. | [optional] +**summary** | **str** | A brief summary describing the cause of the event. | [optional] [readonly] +**affected_tests** | [**AffectedTests**](AffectedTests.md) | | [optional] +**affected_targets** | [**AffectedTargets**](AffectedTargets.md) | | [optional] +**affected_agents** | [**AffectedAgents**](AffectedAgents.md) | | [optional] +**cause** | **List[str]** | The cause of the error. | [optional] +**links** | [**SelfLinks**](SelfLinks.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.event_detection.models.event_detail_base import EventDetailBase + +# TODO update the JSON string below +json = "{}" +# create an instance of EventDetailBase from a JSON string +event_detail_base_instance = EventDetailBase.from_json(json) +# print the JSON string representation of the object +print(EventDetailBase.to_json()) + +# convert the object into a dict +event_detail_base_dict = event_detail_base_instance.to_dict() +# create an instance of EventDetailBase from a dict +event_detail_base_from_dict = EventDetailBase.from_dict(event_detail_base_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) + + diff --git a/thousandeyes-sdk-event-detection/docs/EventState.md b/thousandeyes-sdk-event-detection/docs/EventState.md new file mode 100644 index 00000000..f6971f3e --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/EventState.md @@ -0,0 +1,12 @@ +# EventState + +Indicates the state of the event, whether it is ongoing (active) or has been resolved. + +## 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) + + diff --git a/thousandeyes-sdk-event-detection/docs/EventTestLinks.md b/thousandeyes-sdk-event-detection/docs/EventTestLinks.md new file mode 100644 index 00000000..71f47b1f --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/EventTestLinks.md @@ -0,0 +1,30 @@ +# EventTestLinks + +A links object containing the self link. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**test** | [**Link**](Link.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.event_detection.models.event_test_links import EventTestLinks + +# TODO update the JSON string below +json = "{}" +# create an instance of EventTestLinks from a JSON string +event_test_links_instance = EventTestLinks.from_json(json) +# print the JSON string representation of the object +print(EventTestLinks.to_json()) + +# convert the object into a dict +event_test_links_dict = event_test_links_instance.to_dict() +# create an instance of EventTestLinks from a dict +event_test_links_from_dict = EventTestLinks.from_dict(event_test_links_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) + + diff --git a/thousandeyes-sdk-event-detection/docs/EventType.md b/thousandeyes-sdk-event-detection/docs/EventType.md new file mode 100644 index 00000000..6550e361 --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/EventType.md @@ -0,0 +1,12 @@ +# EventType + +Specifies the event type in a machine-readable and backwards-compatible format. Allowed values are: `agent-local`, `network-pop`, `network`, `dns`, `target`, and `proxy`. + +## 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) + + diff --git a/thousandeyes-sdk-event-detection/docs/Events.md b/thousandeyes-sdk-event-detection/docs/Events.md new file mode 100644 index 00000000..b944a277 --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/Events.md @@ -0,0 +1,33 @@ +# Events + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**aid** | **str** | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. | [optional] +**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** | (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] +**events** | [**List[Event]**](Event.md) | | [optional] +**links** | [**PaginationNextAndSelfLinks**](PaginationNextAndSelfLinks.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.event_detection.models.events import Events + +# TODO update the JSON string below +json = "{}" +# create an instance of Events from a JSON string +events_instance = Events.from_json(json) +# print the JSON string representation of the object +print(Events.to_json()) + +# convert the object into a dict +events_dict = events_instance.to_dict() +# create an instance of Events from a dict +events_from_dict = Events.from_dict(events_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) + + diff --git a/thousandeyes-sdk-event-detection/docs/EventsApi.md b/thousandeyes-sdk-event-detection/docs/EventsApi.md new file mode 100644 index 00000000..ad4de707 --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/EventsApi.md @@ -0,0 +1,193 @@ +# thousandeyes_sdk.event_detection.EventsApi + +All URIs are relative to *https://api.thousandeyes.com/v7* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_event**](EventsApi.md#get_event) | **GET** /events/{id} | Retrieve event +[**get_events**](EventsApi.md#get_events) | **GET** /events | List events + + +# **get_event** +> EventDetail get_event(id, aid=aid) + +Retrieve event + +Returns detailed information about an event using its ID. + +### Example + +* Bearer Authentication (BearerAuth): + +```python +import thousandeyes_sdk.event_detection +from thousandeyes_sdk.event_detection.models.event_detail import EventDetail +from thousandeyes_sdk.event_detection.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.event_detection.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = thousandeyes_sdk.event_detection.EventsApi(api_client) + id = 'e9c3bf02-a48c-4aa8-9e5f-898800d6f569' # str | Unique event ID. + aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) + + try: + # Retrieve event + api_response = api_instance.get_event(id, aid=aid) + print("The response of EventsApi->get_event:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling EventsApi->get_event: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| Unique event ID. | + **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] + +### Return type + +[**EventDetail**](EventDetail.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) + +# **get_events** +> Events get_events(aid=aid, window=window, start_date=start_date, end_date=end_date, max=max, cursor=cursor) + +List events + +Retrieves a list of events within the specified time window. If no events are active during the specified time range, an empty response is returned. **Note**: You must provide either a time window using the `window` parameter or specify `startDate` and `endDate`. + +### Example + +* Bearer Authentication (BearerAuth): + +```python +import thousandeyes_sdk.event_detection +from thousandeyes_sdk.event_detection.models.events import Events +from thousandeyes_sdk.event_detection.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.event_detection.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = thousandeyes_sdk.event_detection.EventsApi(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) + window = '12h' # str | A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. (optional) + start_date = '2022-07-17T22:00:54Z' # datetime | Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. (optional) + end_date = '2022-07-18T22:00:54Z' # datetime | Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. (optional) + 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) + + try: + # List events + api_response = api_instance.get_events(aid=aid, window=window, start_date=start_date, end_date=end_date, max=max, cursor=cursor) + print("The response of EventsApi->get_events:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling EventsApi->get_events: %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] + **window** | **str**| A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. | [optional] + **start_date** | **datetime**| Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. | [optional] + **end_date** | **datetime**| Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. | [optional] + **max** | **int**| (Optional) Maximum number of objects to return. | [optional] + **cursor** | **str**| (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. | [optional] + +### Return type + +[**Events**](Events.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 | - | +**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) + diff --git a/thousandeyes-sdk-event-detection/docs/Link.md b/thousandeyes-sdk-event-detection/docs/Link.md new file mode 100644 index 00000000..42016cdc --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/Link.md @@ -0,0 +1,37 @@ +# Link + +A hyperlink from the containing resource to a URI. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | Its value is either a URI [RFC3986] or a URI template [RFC6570]. | +**templated** | **bool** | Should be true when the link object's \"href\" property is a URI template. | [optional] +**type** | **str** | Used as a hint to indicate the media type expected when dereferencing the target resource. | [optional] +**deprecation** | **str** | Its presence indicates that the link is to be deprecated at a future date. Its value is a URL that should provide further information about the deprecation. | [optional] +**name** | **str** | Its value may be used as a secondary key for selecting link objects that share the same relation type. | [optional] +**profile** | **str** | A URI that hints about the profile of the target resource. | [optional] +**title** | **str** | Intended for labelling the link with a human-readable identifier | [optional] +**hreflang** | **str** | Indicates the language of the target resource | [optional] + +## Example + +```python +from thousandeyes_sdk.event_detection.models.link import Link + +# TODO update the JSON string below +json = "{}" +# create an instance of Link from a JSON string +link_instance = Link.from_json(json) +# print the JSON string representation of the object +print(Link.to_json()) + +# convert the object into a dict +link_dict = link_instance.to_dict() +# create an instance of Link from a dict +link_from_dict = Link.from_dict(link_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) + + diff --git a/thousandeyes-sdk-event-detection/docs/NetworkEventDetail.md b/thousandeyes-sdk-event-detection/docs/NetworkEventDetail.md new file mode 100644 index 00000000..ff18ae96 --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/NetworkEventDetail.md @@ -0,0 +1,43 @@ +# NetworkEventDetail + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | A unique ID for each event. | [optional] [readonly] +**type_name** | **str** | Event type name. Examples include, Local Agent Issue, Network Path Issue, Network Outage, DNS Issue, Server Issue, and Proxy Issue. | [optional] [readonly] +**state** | [**EventState**](EventState.md) | | [optional] +**start_date** | **datetime** | The start date and time (in UTC, ISO 8601 format) when the event was first detected. | [optional] [readonly] +**end_date** | **datetime** | The end date and time (in UTC, ISO 8601 format) when the event was resolved (due to timeout). This value is populated for \"ongoing\" events. | [optional] [readonly] +**severity** | [**EventAlertSeverity**](EventAlertSeverity.md) | | [optional] +**aid** | **str** | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. | [optional] +**summary** | **str** | A brief summary describing the cause of the event. | [optional] [readonly] +**affected_tests** | [**AffectedTests**](AffectedTests.md) | | [optional] +**affected_targets** | [**AffectedTargets**](AffectedTargets.md) | | [optional] +**affected_agents** | [**AffectedAgents**](AffectedAgents.md) | | [optional] +**cause** | **List[str]** | The cause of the error. | [optional] +**links** | [**SelfLinks**](SelfLinks.md) | | [optional] +**type** | **str** | Network event type. | +**grouping** | [**NetworkEventGrouping**](NetworkEventGrouping.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.event_detection.models.network_event_detail import NetworkEventDetail + +# TODO update the JSON string below +json = "{}" +# create an instance of NetworkEventDetail from a JSON string +network_event_detail_instance = NetworkEventDetail.from_json(json) +# print the JSON string representation of the object +print(NetworkEventDetail.to_json()) + +# convert the object into a dict +network_event_detail_dict = network_event_detail_instance.to_dict() +# create an instance of NetworkEventDetail from a dict +network_event_detail_from_dict = NetworkEventDetail.from_dict(network_event_detail_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) + + diff --git a/thousandeyes-sdk-event-detection/docs/NetworkEventGrouping.md b/thousandeyes-sdk-event-detection/docs/NetworkEventGrouping.md new file mode 100644 index 00000000..d92f8a15 --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/NetworkEventGrouping.md @@ -0,0 +1,31 @@ +# NetworkEventGrouping + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**source_asn** | **int** | AS number of the source network (for network-pop and network events). | [optional] [readonly] +**dest_asn** | **int** | AS number of the destination network (for network events). | [optional] [readonly] +**source_country_code** | **str** | The source network's country code (for network-pop and network events). | [optional] [readonly] + +## Example + +```python +from thousandeyes_sdk.event_detection.models.network_event_grouping import NetworkEventGrouping + +# TODO update the JSON string below +json = "{}" +# create an instance of NetworkEventGrouping from a JSON string +network_event_grouping_instance = NetworkEventGrouping.from_json(json) +# print the JSON string representation of the object +print(NetworkEventGrouping.to_json()) + +# convert the object into a dict +network_event_grouping_dict = network_event_grouping_instance.to_dict() +# create an instance of NetworkEventGrouping from a dict +network_event_grouping_from_dict = NetworkEventGrouping.from_dict(network_event_grouping_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) + + diff --git a/thousandeyes-sdk-event-detection/docs/NetworkPopEventDetail.md b/thousandeyes-sdk-event-detection/docs/NetworkPopEventDetail.md new file mode 100644 index 00000000..b3685d60 --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/NetworkPopEventDetail.md @@ -0,0 +1,43 @@ +# NetworkPopEventDetail + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | A unique ID for each event. | [optional] [readonly] +**type_name** | **str** | Event type name. Examples include, Local Agent Issue, Network Path Issue, Network Outage, DNS Issue, Server Issue, and Proxy Issue. | [optional] [readonly] +**state** | [**EventState**](EventState.md) | | [optional] +**start_date** | **datetime** | The start date and time (in UTC, ISO 8601 format) when the event was first detected. | [optional] [readonly] +**end_date** | **datetime** | The end date and time (in UTC, ISO 8601 format) when the event was resolved (due to timeout). This value is populated for \"ongoing\" events. | [optional] [readonly] +**severity** | [**EventAlertSeverity**](EventAlertSeverity.md) | | [optional] +**aid** | **str** | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. | [optional] +**summary** | **str** | A brief summary describing the cause of the event. | [optional] [readonly] +**affected_tests** | [**AffectedTests**](AffectedTests.md) | | [optional] +**affected_targets** | [**AffectedTargets**](AffectedTargets.md) | | [optional] +**affected_agents** | [**AffectedAgents**](AffectedAgents.md) | | [optional] +**cause** | **List[str]** | The cause of the error. | [optional] +**links** | [**SelfLinks**](SelfLinks.md) | | [optional] +**type** | **str** | Network pop event type. | +**grouping** | [**NetworkEventGrouping**](NetworkEventGrouping.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.event_detection.models.network_pop_event_detail import NetworkPopEventDetail + +# TODO update the JSON string below +json = "{}" +# create an instance of NetworkPopEventDetail from a JSON string +network_pop_event_detail_instance = NetworkPopEventDetail.from_json(json) +# print the JSON string representation of the object +print(NetworkPopEventDetail.to_json()) + +# convert the object into a dict +network_pop_event_detail_dict = network_pop_event_detail_instance.to_dict() +# create an instance of NetworkPopEventDetail from a dict +network_pop_event_detail_from_dict = NetworkPopEventDetail.from_dict(network_pop_event_detail_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) + + diff --git a/thousandeyes-sdk-event-detection/docs/PaginationNextAndSelfLinks.md b/thousandeyes-sdk-event-detection/docs/PaginationNextAndSelfLinks.md new file mode 100644 index 00000000..5bde23bd --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/PaginationNextAndSelfLinks.md @@ -0,0 +1,31 @@ +# PaginationNextAndSelfLinks + +A links object containing pagination-related links, including only next and self. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**next** | [**Link**](Link.md) | | [optional] +**var_self** | [**Link**](Link.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.event_detection.models.pagination_next_and_self_links import PaginationNextAndSelfLinks + +# TODO update the JSON string below +json = "{}" +# create an instance of PaginationNextAndSelfLinks from a JSON string +pagination_next_and_self_links_instance = PaginationNextAndSelfLinks.from_json(json) +# print the JSON string representation of the object +print(PaginationNextAndSelfLinks.to_json()) + +# convert the object into a dict +pagination_next_and_self_links_dict = pagination_next_and_self_links_instance.to_dict() +# create an instance of PaginationNextAndSelfLinks from a dict +pagination_next_and_self_links_from_dict = PaginationNextAndSelfLinks.from_dict(pagination_next_and_self_links_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) + + diff --git a/thousandeyes-sdk-event-detection/docs/ProxyEventDetail.md b/thousandeyes-sdk-event-detection/docs/ProxyEventDetail.md new file mode 100644 index 00000000..292202cf --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/ProxyEventDetail.md @@ -0,0 +1,43 @@ +# ProxyEventDetail + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | A unique ID for each event. | [optional] [readonly] +**type_name** | **str** | Event type name. Examples include, Local Agent Issue, Network Path Issue, Network Outage, DNS Issue, Server Issue, and Proxy Issue. | [optional] [readonly] +**state** | [**EventState**](EventState.md) | | [optional] +**start_date** | **datetime** | The start date and time (in UTC, ISO 8601 format) when the event was first detected. | [optional] [readonly] +**end_date** | **datetime** | The end date and time (in UTC, ISO 8601 format) when the event was resolved (due to timeout). This value is populated for \"ongoing\" events. | [optional] [readonly] +**severity** | [**EventAlertSeverity**](EventAlertSeverity.md) | | [optional] +**aid** | **str** | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. | [optional] +**summary** | **str** | A brief summary describing the cause of the event. | [optional] [readonly] +**affected_tests** | [**AffectedTests**](AffectedTests.md) | | [optional] +**affected_targets** | [**AffectedTargets**](AffectedTargets.md) | | [optional] +**affected_agents** | [**AffectedAgents**](AffectedAgents.md) | | [optional] +**cause** | **List[str]** | The cause of the error. | [optional] +**links** | [**SelfLinks**](SelfLinks.md) | | [optional] +**type** | **str** | Proxy event type. | +**grouping** | [**ProxyEventGrouping**](ProxyEventGrouping.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.event_detection.models.proxy_event_detail import ProxyEventDetail + +# TODO update the JSON string below +json = "{}" +# create an instance of ProxyEventDetail from a JSON string +proxy_event_detail_instance = ProxyEventDetail.from_json(json) +# print the JSON string representation of the object +print(ProxyEventDetail.to_json()) + +# convert the object into a dict +proxy_event_detail_dict = proxy_event_detail_instance.to_dict() +# create an instance of ProxyEventDetail from a dict +proxy_event_detail_from_dict = ProxyEventDetail.from_dict(proxy_event_detail_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) + + diff --git a/thousandeyes-sdk-event-detection/docs/ProxyEventGrouping.md b/thousandeyes-sdk-event-detection/docs/ProxyEventGrouping.md new file mode 100644 index 00000000..6989b7b3 --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/ProxyEventGrouping.md @@ -0,0 +1,29 @@ +# ProxyEventGrouping + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**proxy** | **str** | Proxy name or IP (for proxy events). | [optional] [readonly] + +## Example + +```python +from thousandeyes_sdk.event_detection.models.proxy_event_grouping import ProxyEventGrouping + +# TODO update the JSON string below +json = "{}" +# create an instance of ProxyEventGrouping from a JSON string +proxy_event_grouping_instance = ProxyEventGrouping.from_json(json) +# print the JSON string representation of the object +print(ProxyEventGrouping.to_json()) + +# convert the object into a dict +proxy_event_grouping_dict = proxy_event_grouping_instance.to_dict() +# create an instance of ProxyEventGrouping from a dict +proxy_event_grouping_from_dict = ProxyEventGrouping.from_dict(proxy_event_grouping_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) + + diff --git a/thousandeyes-sdk-event-detection/docs/SelfLinks.md b/thousandeyes-sdk-event-detection/docs/SelfLinks.md new file mode 100644 index 00000000..5ba030cd --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/SelfLinks.md @@ -0,0 +1,30 @@ +# SelfLinks + +A links object containing the self link. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_self** | [**Link**](Link.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.event_detection.models.self_links import SelfLinks + +# TODO update the JSON string below +json = "{}" +# create an instance of SelfLinks from a JSON string +self_links_instance = SelfLinks.from_json(json) +# print the JSON string representation of the object +print(SelfLinks.to_json()) + +# convert the object into a dict +self_links_dict = self_links_instance.to_dict() +# create an instance of SelfLinks from a dict +self_links_from_dict = SelfLinks.from_dict(self_links_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) + + diff --git a/thousandeyes-sdk-event-detection/docs/SimpleEventDetail.md b/thousandeyes-sdk-event-detection/docs/SimpleEventDetail.md new file mode 100644 index 00000000..dc24e429 --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/SimpleEventDetail.md @@ -0,0 +1,34 @@ +# SimpleEventDetail + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | A unique ID for each event. | [optional] [readonly] +**type_name** | **str** | Event type name. Examples include, Local Agent Issue, Network Path Issue, Network Outage, DNS Issue, Server Issue, and Proxy Issue. | [optional] [readonly] +**state** | [**EventState**](EventState.md) | | [optional] +**start_date** | **datetime** | The start date and time (in UTC, ISO 8601 format) when the event was first detected. | [optional] [readonly] +**end_date** | **datetime** | The end date and time (in UTC, ISO 8601 format) when the event was resolved (due to timeout). This value is populated for \"ongoing\" events. | [optional] [readonly] +**severity** | [**EventAlertSeverity**](EventAlertSeverity.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.event_detection.models.simple_event_detail import SimpleEventDetail + +# TODO update the JSON string below +json = "{}" +# create an instance of SimpleEventDetail from a JSON string +simple_event_detail_instance = SimpleEventDetail.from_json(json) +# print the JSON string representation of the object +print(SimpleEventDetail.to_json()) + +# convert the object into a dict +simple_event_detail_dict = simple_event_detail_instance.to_dict() +# create an instance of SimpleEventDetail from a dict +simple_event_detail_from_dict = SimpleEventDetail.from_dict(simple_event_detail_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) + + diff --git a/thousandeyes-sdk-event-detection/docs/TargetEventDetail.md b/thousandeyes-sdk-event-detection/docs/TargetEventDetail.md new file mode 100644 index 00000000..c4f1956b --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/TargetEventDetail.md @@ -0,0 +1,43 @@ +# TargetEventDetail + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | A unique ID for each event. | [optional] [readonly] +**type_name** | **str** | Event type name. Examples include, Local Agent Issue, Network Path Issue, Network Outage, DNS Issue, Server Issue, and Proxy Issue. | [optional] [readonly] +**state** | [**EventState**](EventState.md) | | [optional] +**start_date** | **datetime** | The start date and time (in UTC, ISO 8601 format) when the event was first detected. | [optional] [readonly] +**end_date** | **datetime** | The end date and time (in UTC, ISO 8601 format) when the event was resolved (due to timeout). This value is populated for \"ongoing\" events. | [optional] [readonly] +**severity** | [**EventAlertSeverity**](EventAlertSeverity.md) | | [optional] +**aid** | **str** | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. | [optional] +**summary** | **str** | A brief summary describing the cause of the event. | [optional] [readonly] +**affected_tests** | [**AffectedTests**](AffectedTests.md) | | [optional] +**affected_targets** | [**AffectedTargets**](AffectedTargets.md) | | [optional] +**affected_agents** | [**AffectedAgents**](AffectedAgents.md) | | [optional] +**cause** | **List[str]** | The cause of the error. | [optional] +**links** | [**SelfLinks**](SelfLinks.md) | | [optional] +**type** | **str** | Target event type. | +**grouping** | [**TargetEventGrouping**](TargetEventGrouping.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.event_detection.models.target_event_detail import TargetEventDetail + +# TODO update the JSON string below +json = "{}" +# create an instance of TargetEventDetail from a JSON string +target_event_detail_instance = TargetEventDetail.from_json(json) +# print the JSON string representation of the object +print(TargetEventDetail.to_json()) + +# convert the object into a dict +target_event_detail_dict = target_event_detail_instance.to_dict() +# create an instance of TargetEventDetail from a dict +target_event_detail_from_dict = TargetEventDetail.from_dict(target_event_detail_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) + + diff --git a/thousandeyes-sdk-event-detection/docs/TargetEventGrouping.md b/thousandeyes-sdk-event-detection/docs/TargetEventGrouping.md new file mode 100644 index 00000000..772ea5a7 --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/TargetEventGrouping.md @@ -0,0 +1,29 @@ +# TargetEventGrouping + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**target** | **str** | Target name (for target events). | [optional] [readonly] + +## Example + +```python +from thousandeyes_sdk.event_detection.models.target_event_grouping import TargetEventGrouping + +# TODO update the JSON string below +json = "{}" +# create an instance of TargetEventGrouping from a JSON string +target_event_grouping_instance = TargetEventGrouping.from_json(json) +# print the JSON string representation of the object +print(TargetEventGrouping.to_json()) + +# convert the object into a dict +target_event_grouping_dict = target_event_grouping_instance.to_dict() +# create an instance of TargetEventGrouping from a dict +target_event_grouping_from_dict = TargetEventGrouping.from_dict(target_event_grouping_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) + + diff --git a/thousandeyes-sdk-event-detection/docs/TargetNetworkEventDetail.md b/thousandeyes-sdk-event-detection/docs/TargetNetworkEventDetail.md new file mode 100644 index 00000000..059fd3f9 --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/TargetNetworkEventDetail.md @@ -0,0 +1,43 @@ +# TargetNetworkEventDetail + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | A unique ID for each event. | [optional] [readonly] +**type_name** | **str** | Event type name. Examples include, Local Agent Issue, Network Path Issue, Network Outage, DNS Issue, Server Issue, and Proxy Issue. | [optional] [readonly] +**state** | [**EventState**](EventState.md) | | [optional] +**start_date** | **datetime** | The start date and time (in UTC, ISO 8601 format) when the event was first detected. | [optional] [readonly] +**end_date** | **datetime** | The end date and time (in UTC, ISO 8601 format) when the event was resolved (due to timeout). This value is populated for \"ongoing\" events. | [optional] [readonly] +**severity** | [**EventAlertSeverity**](EventAlertSeverity.md) | | [optional] +**aid** | **str** | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. | [optional] +**summary** | **str** | A brief summary describing the cause of the event. | [optional] [readonly] +**affected_tests** | [**AffectedTests**](AffectedTests.md) | | [optional] +**affected_targets** | [**AffectedTargets**](AffectedTargets.md) | | [optional] +**affected_agents** | [**AffectedAgents**](AffectedAgents.md) | | [optional] +**cause** | **List[str]** | The cause of the error. | [optional] +**links** | [**SelfLinks**](SelfLinks.md) | | [optional] +**type** | **str** | Target network event type. | +**grouping** | [**TargetNetworkEventGrouping**](TargetNetworkEventGrouping.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.event_detection.models.target_network_event_detail import TargetNetworkEventDetail + +# TODO update the JSON string below +json = "{}" +# create an instance of TargetNetworkEventDetail from a JSON string +target_network_event_detail_instance = TargetNetworkEventDetail.from_json(json) +# print the JSON string representation of the object +print(TargetNetworkEventDetail.to_json()) + +# convert the object into a dict +target_network_event_detail_dict = target_network_event_detail_instance.to_dict() +# create an instance of TargetNetworkEventDetail from a dict +target_network_event_detail_from_dict = TargetNetworkEventDetail.from_dict(target_network_event_detail_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) + + diff --git a/thousandeyes-sdk-event-detection/docs/TargetNetworkEventGrouping.md b/thousandeyes-sdk-event-detection/docs/TargetNetworkEventGrouping.md new file mode 100644 index 00000000..4ed7aea0 --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/TargetNetworkEventGrouping.md @@ -0,0 +1,29 @@ +# TargetNetworkEventGrouping + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**prefix** | **str** | Prefix value for target-network events. | [optional] [readonly] + +## Example + +```python +from thousandeyes_sdk.event_detection.models.target_network_event_grouping import TargetNetworkEventGrouping + +# TODO update the JSON string below +json = "{}" +# create an instance of TargetNetworkEventGrouping from a JSON string +target_network_event_grouping_instance = TargetNetworkEventGrouping.from_json(json) +# print the JSON string representation of the object +print(TargetNetworkEventGrouping.to_json()) + +# convert the object into a dict +target_network_event_grouping_dict = target_network_event_grouping_instance.to_dict() +# create an instance of TargetNetworkEventGrouping from a dict +target_network_event_grouping_from_dict = TargetNetworkEventGrouping.from_dict(target_network_event_grouping_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) + + diff --git a/thousandeyes-sdk-event-detection/docs/TestType.md b/thousandeyes-sdk-event-detection/docs/TestType.md new file mode 100644 index 00000000..8093a739 --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/TestType.md @@ -0,0 +1,12 @@ +# TestType + +This is a read only value, as test type is implicit in the test creation url. + +## 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) + + diff --git a/thousandeyes-sdk-event-detection/docs/UnauthorizedError.md b/thousandeyes-sdk-event-detection/docs/UnauthorizedError.md new file mode 100644 index 00000000..13e91f6c --- /dev/null +++ b/thousandeyes-sdk-event-detection/docs/UnauthorizedError.md @@ -0,0 +1,30 @@ +# UnauthorizedError + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error** | **str** | | [optional] +**error_description** | **str** | | [optional] + +## Example + +```python +from thousandeyes_sdk.event_detection.models.unauthorized_error import UnauthorizedError + +# TODO update the JSON string below +json = "{}" +# create an instance of UnauthorizedError from a JSON string +unauthorized_error_instance = UnauthorizedError.from_json(json) +# print the JSON string representation of the object +print(UnauthorizedError.to_json()) + +# convert the object into a dict +unauthorized_error_dict = unauthorized_error_instance.to_dict() +# create an instance of UnauthorizedError from a dict +unauthorized_error_from_dict = UnauthorizedError.from_dict(unauthorized_error_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) + + diff --git a/thousandeyes-sdk-labels/docs/ValidationError.md b/thousandeyes-sdk-event-detection/docs/ValidationError.md similarity index 94% rename from thousandeyes-sdk-labels/docs/ValidationError.md rename to thousandeyes-sdk-event-detection/docs/ValidationError.md index c94dd7c7..ac2be200 100644 --- a/thousandeyes-sdk-labels/docs/ValidationError.md +++ b/thousandeyes-sdk-event-detection/docs/ValidationError.md @@ -15,7 +15,7 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.labels.models.validation_error import ValidationError +from thousandeyes_sdk.event_detection.models.validation_error import ValidationError # TODO update the JSON string below json = "{}" diff --git a/thousandeyes-sdk-labels/docs/ValidationErrorItem.md b/thousandeyes-sdk-event-detection/docs/ValidationErrorItem.md similarity index 92% rename from thousandeyes-sdk-labels/docs/ValidationErrorItem.md rename to thousandeyes-sdk-event-detection/docs/ValidationErrorItem.md index 86a0278a..d0267958 100644 --- a/thousandeyes-sdk-labels/docs/ValidationErrorItem.md +++ b/thousandeyes-sdk-event-detection/docs/ValidationErrorItem.md @@ -12,7 +12,7 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.labels.models.validation_error_item import ValidationErrorItem +from thousandeyes_sdk.event_detection.models.validation_error_item import ValidationErrorItem # TODO update the JSON string below json = "{}" diff --git a/thousandeyes-sdk-event-detection/pyproject.toml b/thousandeyes-sdk-event-detection/pyproject.toml new file mode 100644 index 00000000..437c1490 --- /dev/null +++ b/thousandeyes-sdk-event-detection/pyproject.toml @@ -0,0 +1,82 @@ +[project] +name = "thousandeyes-sdk-event-detection" +dynamic = ["version"] +readme = "README.md" +authors = [ + { name = "ThousandEyes API Team", email = "api-team@thousandeyes.com" } +] +description = "ThousandEyes SDK Event Detection API" +license = { file = "LICENSE" } +requires-python = ">= 3.8" +dependencies = [ + "urllib3 >= 2.0.0", + "python-dateutil >=2.8.2", + "pydantic >=2.1.0", + "typing-extensions >=4.7.1", + "thousandeyes-sdk-core", +] + +[tool.setuptools.dynamic] +version = {file = ".version"} + +[project.optional-dependencies] +test = [ + "pytest~=7.1.3", + "pytest-cov>=2.8.1", + "pytest-randomly>=3.12.0", + "mypy>=1.4.1", + "types-python-dateutil>=2.8.19", +] +dev = [ + "flake8>=4.0.0", + "mypy>=1.4.1", + "types-python-dateutil>=2.8.19", +] + +[build-system] +requires = ["setuptools"] +build-backend = "setuptools.build_meta" + +[tool.setuptools] +include-package-data = true + +[tool.pylint.'MESSAGES CONTROL'] +extension-pkg-whitelist = "pydantic" + +[tool.mypy] +files = [ + "src", + #"test", # auto-generated tests + "tests", # hand-written tests +] +# TODO: enable "strict" once all these individual checks are passing +# strict = true + +# List from: https://mypy.readthedocs.io/en/stable/existing_code.html#introduce-stricter-options +warn_unused_configs = true +warn_redundant_casts = true +warn_unused_ignores = true + +## Getting these passing should be easy +strict_equality = true +strict_concatenate = true + +## Strongly recommend enabling this one as soon as you can +check_untyped_defs = true + +## These shouldn't be too much additional work, but may be tricky to +## get passing if you use a lot of untyped libraries +disallow_subclassing_any = true +disallow_untyped_decorators = true +disallow_any_generics = true + +### These next few are various gradations of forcing use of type annotations +#disallow_untyped_calls = true +#disallow_incomplete_defs = true +#disallow_untyped_defs = true +# +### This one isn't too hard to get passing, but return on investment is lower +#no_implicit_reexport = true +# +### This one can be tricky to get passing if you use a lot of untyped libraries +#warn_return_any = true diff --git a/thousandeyes-sdk-event-detection/setup.cfg b/thousandeyes-sdk-event-detection/setup.cfg new file mode 100644 index 00000000..11433ee8 --- /dev/null +++ b/thousandeyes-sdk-event-detection/setup.cfg @@ -0,0 +1,2 @@ +[flake8] +max-line-length=99 diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/__init__.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/__init__.py new file mode 100644 index 00000000..2423650d --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/__init__.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +# flake8: noqa + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +# import apis into sdk package +from thousandeyes_sdk.event_detection.api.events_api import EventsApi + + +# import models into sdk package +from thousandeyes_sdk.event_detection.models.affected_agents import AffectedAgents +from thousandeyes_sdk.event_detection.models.affected_count import AffectedCount +from thousandeyes_sdk.event_detection.models.affected_targets import AffectedTargets +from thousandeyes_sdk.event_detection.models.affected_tests import AffectedTests +from thousandeyes_sdk.event_detection.models.agent_links import AgentLinks +from thousandeyes_sdk.event_detection.models.agent_local_event_detail import AgentLocalEventDetail +from thousandeyes_sdk.event_detection.models.agent_local_event_grouping import AgentLocalEventGrouping +from thousandeyes_sdk.event_detection.models.api_affected_target import ApiAffectedTarget +from thousandeyes_sdk.event_detection.models.cloud_enterprise_agent_type import CloudEnterpriseAgentType +from thousandeyes_sdk.event_detection.models.dns_event_detail import DnsEventDetail +from thousandeyes_sdk.event_detection.models.dns_event_grouping import DnsEventGrouping +from thousandeyes_sdk.event_detection.models.error import Error +from thousandeyes_sdk.event_detection.models.event import Event +from thousandeyes_sdk.event_detection.models.event_alert_severity import EventAlertSeverity +from thousandeyes_sdk.event_detection.models.event_api_affected_agent import EventApiAffectedAgent +from thousandeyes_sdk.event_detection.models.event_api_affected_test import EventApiAffectedTest +from thousandeyes_sdk.event_detection.models.event_detail import EventDetail +from thousandeyes_sdk.event_detection.models.event_detail_base import EventDetailBase +from thousandeyes_sdk.event_detection.models.event_state import EventState +from thousandeyes_sdk.event_detection.models.event_test_links import EventTestLinks +from thousandeyes_sdk.event_detection.models.event_type import EventType +from thousandeyes_sdk.event_detection.models.events import Events +from thousandeyes_sdk.event_detection.models.link import Link +from thousandeyes_sdk.event_detection.models.network_event_detail import NetworkEventDetail +from thousandeyes_sdk.event_detection.models.network_event_grouping import NetworkEventGrouping +from thousandeyes_sdk.event_detection.models.network_pop_event_detail import NetworkPopEventDetail +from thousandeyes_sdk.event_detection.models.pagination_next_and_self_links import PaginationNextAndSelfLinks +from thousandeyes_sdk.event_detection.models.proxy_event_detail import ProxyEventDetail +from thousandeyes_sdk.event_detection.models.proxy_event_grouping import ProxyEventGrouping +from thousandeyes_sdk.event_detection.models.self_links import SelfLinks +from thousandeyes_sdk.event_detection.models.simple_event_detail import SimpleEventDetail +from thousandeyes_sdk.event_detection.models.target_event_detail import TargetEventDetail +from thousandeyes_sdk.event_detection.models.target_event_grouping import TargetEventGrouping +from thousandeyes_sdk.event_detection.models.target_network_event_detail import TargetNetworkEventDetail +from thousandeyes_sdk.event_detection.models.target_network_event_grouping import TargetNetworkEventGrouping +from thousandeyes_sdk.event_detection.models.test_type import TestType +from thousandeyes_sdk.event_detection.models.unauthorized_error import UnauthorizedError +from thousandeyes_sdk.event_detection.models.validation_error import ValidationError +from thousandeyes_sdk.event_detection.models.validation_error_item import ValidationErrorItem diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/api/__init__.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/api/__init__.py new file mode 100644 index 00000000..3b2b7dbe --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/api/__init__.py @@ -0,0 +1,5 @@ +# flake8: noqa + +# import apis into api package +from thousandeyes_sdk.event_detection.api.events_api import EventsApi + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/api/events_api.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/api/events_api.py new file mode 100644 index 00000000..c5768195 --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/api/events_api.py @@ -0,0 +1,729 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + 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.event_detection.models + +from datetime import datetime +from pydantic import Field, StrictInt, StrictStr, field_validator +from typing import Optional +from typing_extensions import Annotated +from thousandeyes_sdk.event_detection.models.event_detail import EventDetail +from thousandeyes_sdk.event_detection.models.events import Events + +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 EventsApi: + """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-event-detection")) + self.api_client = api_client + + + @validate_call + def get_event( + self, + id: Annotated[StrictStr, Field(description="Unique event 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, + _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, + ) -> EventDetail: + """Retrieve event + + Returns detailed information about an event using its ID. + + :param id: Unique event ID. (required) + :type id: str + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _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_event_serialize( + id=id, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "EventDetail", + '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.event_detection.models, + ).data + + + @validate_call + def get_event_with_http_info( + self, + id: Annotated[StrictStr, Field(description="Unique event 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, + _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[EventDetail]: + """Retrieve event + + Returns detailed information about an event using its ID. + + :param id: Unique event ID. (required) + :type id: str + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _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_event_serialize( + id=id, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "EventDetail", + '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.event_detection.models, + ) + + + @validate_call + def get_event_without_preload_content( + self, + id: Annotated[StrictStr, Field(description="Unique event 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, + _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 event + + Returns detailed information about an event using its ID. + + :param id: Unique event ID. (required) + :type id: str + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param _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_event_serialize( + id=id, + aid=aid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "EventDetail", + '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_event_serialize( + self, + id, + 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 + if id is not None: + _path_params['id'] = id + # 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='/events/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_events( + 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, + window: Annotated[Optional[Annotated[str, Field(strict=True)]], Field(description="A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`.")] = None, + start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, + end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, + max: Annotated[Optional[StrictInt], Field(description="(Optional) Maximum number of objects to return.")] = None, + cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = 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, + ) -> Events: + """List events + + Retrieves a list of events within the specified time window. If no events are active during the specified time range, an empty response is returned. **Note**: You must provide either a time window using the `window` parameter or specify `startDate` and `endDate`. + + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param window: A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. + :type window: str + :param start_date: Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. + :type start_date: datetime + :param end_date: Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. + :type end_date: datetime + :param max: (Optional) Maximum number of objects to return. + :type max: int + :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. + :type cursor: 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_events_serialize( + aid=aid, + window=window, + start_date=start_date, + end_date=end_date, + max=max, + cursor=cursor, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Events", + '400': "ValidationError", + '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.event_detection.models, + ).data + + + @validate_call + def get_events_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, + window: Annotated[Optional[Annotated[str, Field(strict=True)]], Field(description="A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`.")] = None, + start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, + end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, + max: Annotated[Optional[StrictInt], Field(description="(Optional) Maximum number of objects to return.")] = None, + cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = 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[Events]: + """List events + + Retrieves a list of events within the specified time window. If no events are active during the specified time range, an empty response is returned. **Note**: You must provide either a time window using the `window` parameter or specify `startDate` and `endDate`. + + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param window: A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. + :type window: str + :param start_date: Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. + :type start_date: datetime + :param end_date: Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. + :type end_date: datetime + :param max: (Optional) Maximum number of objects to return. + :type max: int + :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. + :type cursor: 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_events_serialize( + aid=aid, + window=window, + start_date=start_date, + end_date=end_date, + max=max, + cursor=cursor, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Events", + '400': "ValidationError", + '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.event_detection.models, + ) + + + @validate_call + def get_events_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, + window: Annotated[Optional[Annotated[str, Field(strict=True)]], Field(description="A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`.")] = None, + start_date: Annotated[Optional[datetime], Field(description="Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, + end_date: Annotated[Optional[datetime], Field(description="Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`.")] = None, + max: Annotated[Optional[StrictInt], Field(description="(Optional) Maximum number of objects to return.")] = None, + cursor: Annotated[Optional[StrictStr], Field(description="(Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter.")] = 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 events + + Retrieves a list of events within the specified time window. If no events are active during the specified time range, an empty response is returned. **Note**: You must provide either a time window using the `window` parameter or specify `startDate` and `endDate`. + + :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. + :type aid: str + :param window: A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. + :type window: str + :param start_date: Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. + :type start_date: datetime + :param end_date: Defaults to current time the request is made. Use with the `startDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. + :type end_date: datetime + :param max: (Optional) Maximum number of objects to return. + :type max: int + :param cursor: (Optional) Opaque cursor used for pagination. Clients should use `next` value from `_links` instead of this parameter. + :type cursor: 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_events_serialize( + aid=aid, + window=window, + start_date=start_date, + end_date=end_date, + max=max, + cursor=cursor, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Events", + '400': "ValidationError", + '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_events_serialize( + self, + aid, + window, + start_date, + end_date, + max, + cursor, + _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)) + + if window is not None: + + _query_params.append(('window', window)) + + if start_date is not None: + if isinstance(start_date, datetime): + _query_params.append( + ( + 'startDate', + start_date.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('startDate', start_date)) + + if end_date is not None: + if isinstance(end_date, datetime): + _query_params.append( + ( + 'endDate', + end_date.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('endDate', end_date)) + + if max is not None: + + _query_params.append(('max', max)) + + if cursor is not None: + + _query_params.append(('cursor', cursor)) + + # 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='/events', + 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 + ) + + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/__init__.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/__init__.py new file mode 100644 index 00000000..e5cb57b6 --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/__init__.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +# flake8: noqa +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +# import models into model package +from thousandeyes_sdk.event_detection.models.affected_agents import AffectedAgents +from thousandeyes_sdk.event_detection.models.affected_count import AffectedCount +from thousandeyes_sdk.event_detection.models.affected_targets import AffectedTargets +from thousandeyes_sdk.event_detection.models.affected_tests import AffectedTests +from thousandeyes_sdk.event_detection.models.agent_links import AgentLinks +from thousandeyes_sdk.event_detection.models.agent_local_event_detail import AgentLocalEventDetail +from thousandeyes_sdk.event_detection.models.agent_local_event_grouping import AgentLocalEventGrouping +from thousandeyes_sdk.event_detection.models.api_affected_target import ApiAffectedTarget +from thousandeyes_sdk.event_detection.models.cloud_enterprise_agent_type import CloudEnterpriseAgentType +from thousandeyes_sdk.event_detection.models.dns_event_detail import DnsEventDetail +from thousandeyes_sdk.event_detection.models.dns_event_grouping import DnsEventGrouping +from thousandeyes_sdk.event_detection.models.error import Error +from thousandeyes_sdk.event_detection.models.event import Event +from thousandeyes_sdk.event_detection.models.event_alert_severity import EventAlertSeverity +from thousandeyes_sdk.event_detection.models.event_api_affected_agent import EventApiAffectedAgent +from thousandeyes_sdk.event_detection.models.event_api_affected_test import EventApiAffectedTest +from thousandeyes_sdk.event_detection.models.event_detail import EventDetail +from thousandeyes_sdk.event_detection.models.event_detail_base import EventDetailBase +from thousandeyes_sdk.event_detection.models.event_state import EventState +from thousandeyes_sdk.event_detection.models.event_test_links import EventTestLinks +from thousandeyes_sdk.event_detection.models.event_type import EventType +from thousandeyes_sdk.event_detection.models.events import Events +from thousandeyes_sdk.event_detection.models.link import Link +from thousandeyes_sdk.event_detection.models.network_event_detail import NetworkEventDetail +from thousandeyes_sdk.event_detection.models.network_event_grouping import NetworkEventGrouping +from thousandeyes_sdk.event_detection.models.network_pop_event_detail import NetworkPopEventDetail +from thousandeyes_sdk.event_detection.models.pagination_next_and_self_links import PaginationNextAndSelfLinks +from thousandeyes_sdk.event_detection.models.proxy_event_detail import ProxyEventDetail +from thousandeyes_sdk.event_detection.models.proxy_event_grouping import ProxyEventGrouping +from thousandeyes_sdk.event_detection.models.self_links import SelfLinks +from thousandeyes_sdk.event_detection.models.simple_event_detail import SimpleEventDetail +from thousandeyes_sdk.event_detection.models.target_event_detail import TargetEventDetail +from thousandeyes_sdk.event_detection.models.target_event_grouping import TargetEventGrouping +from thousandeyes_sdk.event_detection.models.target_network_event_detail import TargetNetworkEventDetail +from thousandeyes_sdk.event_detection.models.target_network_event_grouping import TargetNetworkEventGrouping +from thousandeyes_sdk.event_detection.models.test_type import TestType +from thousandeyes_sdk.event_detection.models.unauthorized_error import UnauthorizedError +from thousandeyes_sdk.event_detection.models.validation_error import ValidationError +from thousandeyes_sdk.event_detection.models.validation_error_item import ValidationErrorItem diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/affected_agents.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/affected_agents.py new file mode 100644 index 00000000..357aaf2c --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/affected_agents.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.event_detection.models.event_api_affected_agent import EventApiAffectedAgent +from typing import Optional, Set +from typing_extensions import Self + +class AffectedAgents(BaseModel): + """ + AffectedAgents + """ # noqa: E501 + total: Optional[StrictInt] = Field(default=None, description="The total number affected.") + in_account_group: Optional[StrictInt] = Field(default=None, description="Indicates if in the affected account group.", alias="inAccountGroup") + agents: Optional[List[EventApiAffectedAgent]] = Field(default=None, description="List of affected agents.") + __properties: ClassVar[List[str]] = ["total", "inAccountGroup", "agents"] + + 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 AffectedAgents from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "total", + "in_account_group", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in agents (list) + _items = [] + if self.agents: + for _item in self.agents: + if _item: + _items.append(_item.to_dict()) + _dict['agents'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AffectedAgents from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "total": obj.get("total"), + "inAccountGroup": obj.get("inAccountGroup"), + "agents": [EventApiAffectedAgent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/affected_count.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/affected_count.py new file mode 100644 index 00000000..2a3d9ea2 --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/affected_count.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class AffectedCount(BaseModel): + """ + AffectedCount + """ # noqa: E501 + total: Optional[StrictInt] = Field(default=None, description="The total number affected.") + in_account_group: Optional[StrictInt] = Field(default=None, description="Indicates if in the affected account group.", alias="inAccountGroup") + __properties: ClassVar[List[str]] = ["total", "inAccountGroup"] + + 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 AffectedCount from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "total", + "in_account_group", + ]) + + _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 AffectedCount from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "total": obj.get("total"), + "inAccountGroup": obj.get("inAccountGroup") + }) + return _obj + + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/affected_targets.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/affected_targets.py new file mode 100644 index 00000000..94e4f8af --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/affected_targets.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.event_detection.models.api_affected_target import ApiAffectedTarget +from typing import Optional, Set +from typing_extensions import Self + +class AffectedTargets(BaseModel): + """ + AffectedTargets + """ # noqa: E501 + total: Optional[StrictInt] = Field(default=None, description="The total number affected.") + in_account_group: Optional[StrictInt] = Field(default=None, description="Indicates if in the affected account group.", alias="inAccountGroup") + targets: Optional[List[ApiAffectedTarget]] = Field(default=None, description="List of affected targets.") + __properties: ClassVar[List[str]] = ["total", "inAccountGroup", "targets"] + + 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 AffectedTargets from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "total", + "in_account_group", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in targets (list) + _items = [] + if self.targets: + for _item in self.targets: + if _item: + _items.append(_item.to_dict()) + _dict['targets'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AffectedTargets from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "total": obj.get("total"), + "inAccountGroup": obj.get("inAccountGroup"), + "targets": [ApiAffectedTarget.from_dict(_item) for _item in obj["targets"]] if obj.get("targets") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/affected_tests.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/affected_tests.py new file mode 100644 index 00000000..83ad4761 --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/affected_tests.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.event_detection.models.event_api_affected_test import EventApiAffectedTest +from typing import Optional, Set +from typing_extensions import Self + +class AffectedTests(BaseModel): + """ + AffectedTests + """ # noqa: E501 + total: Optional[StrictInt] = Field(default=None, description="The total number affected.") + in_account_group: Optional[StrictInt] = Field(default=None, description="Indicates if in the affected account group.", alias="inAccountGroup") + tests: Optional[List[EventApiAffectedTest]] = Field(default=None, description="List of affected tests.") + __properties: ClassVar[List[str]] = ["total", "inAccountGroup", "tests"] + + 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 AffectedTests from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "total", + "in_account_group", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in tests (list) + _items = [] + if self.tests: + for _item in self.tests: + if _item: + _items.append(_item.to_dict()) + _dict['tests'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AffectedTests from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "total": obj.get("total"), + "inAccountGroup": obj.get("inAccountGroup"), + "tests": [EventApiAffectedTest.from_dict(_item) for _item in obj["tests"]] if obj.get("tests") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/agent_links.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/agent_links.py new file mode 100644 index 00000000..bf6afe91 --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/agent_links.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.event_detection.models.link import Link +from typing import Optional, Set +from typing_extensions import Self + +class AgentLinks(BaseModel): + """ + A links object containing the agent link. + """ # noqa: E501 + agent: Optional[Link] = None + __properties: ClassVar[List[str]] = ["agent"] + + 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 AgentLinks 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 agent + if self.agent: + _dict['agent'] = self.agent.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AgentLinks from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "agent": Link.from_dict(obj["agent"]) if obj.get("agent") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/agent_local_event_detail.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/agent_local_event_detail.py new file mode 100644 index 00000000..4cfc062c --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/agent_local_event_detail.py @@ -0,0 +1,156 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from thousandeyes_sdk.event_detection.models.affected_agents import AffectedAgents +from thousandeyes_sdk.event_detection.models.affected_targets import AffectedTargets +from thousandeyes_sdk.event_detection.models.affected_tests import AffectedTests +from thousandeyes_sdk.event_detection.models.agent_local_event_grouping import AgentLocalEventGrouping +from thousandeyes_sdk.event_detection.models.event_alert_severity import EventAlertSeverity +from thousandeyes_sdk.event_detection.models.event_state import EventState +from thousandeyes_sdk.event_detection.models.self_links import SelfLinks +from typing import Optional, Set +from typing_extensions import Self + +class AgentLocalEventDetail(BaseModel): + """ + AgentLocalEventDetail + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="A unique ID for each event.") + type_name: Optional[StrictStr] = Field(default=None, description="Event type name. Examples include, Local Agent Issue, Network Path Issue, Network Outage, DNS Issue, Server Issue, and Proxy Issue.", alias="typeName") + state: Optional[EventState] = None + start_date: Optional[datetime] = Field(default=None, description="The start date and time (in UTC, ISO 8601 format) when the event was first detected.", alias="startDate") + end_date: Optional[datetime] = Field(default=None, description="The end date and time (in UTC, ISO 8601 format) when the event was resolved (due to timeout). This value is populated for \"ongoing\" events.", alias="endDate") + severity: Optional[EventAlertSeverity] = None + aid: Optional[StrictStr] = Field(default=None, description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint.") + summary: Optional[StrictStr] = Field(default=None, description="A brief summary describing the cause of the event.") + affected_tests: Optional[AffectedTests] = Field(default=None, alias="affectedTests") + affected_targets: Optional[AffectedTargets] = Field(default=None, alias="affectedTargets") + affected_agents: Optional[AffectedAgents] = Field(default=None, alias="affectedAgents") + cause: Optional[List[StrictStr]] = Field(default=None, description="The cause of the error.") + links: Optional[SelfLinks] = Field(default=None, alias="_links") + type: Annotated[str, Field(strict=True)] = Field(description="Agent local event type.") + grouping: Optional[AgentLocalEventGrouping] = None + __properties: ClassVar[List[str]] = ["id", "typeName", "state", "startDate", "endDate", "severity", "aid", "summary", "affectedTests", "affectedTargets", "affectedAgents", "cause", "_links", "type", "grouping"] + + @field_validator('type') + def type_validate_regular_expression(cls, value): + """Validates the regular expression""" + if not re.match(r"^agent-local$", value): + raise ValueError(r"must validate the regular expression /^agent-local$/") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + extra="allow", + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of AgentLocalEventDetail 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. + """ + excluded_fields: Set[str] = set([ + "id", + "type_name", + "start_date", + "end_date", + "summary", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of affected_tests + if self.affected_tests: + _dict['affectedTests'] = self.affected_tests.to_dict() + # override the default output from pydantic by calling `to_dict()` of affected_targets + if self.affected_targets: + _dict['affectedTargets'] = self.affected_targets.to_dict() + # override the default output from pydantic by calling `to_dict()` of affected_agents + if self.affected_agents: + _dict['affectedAgents'] = self.affected_agents.to_dict() + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of grouping + if self.grouping: + _dict['grouping'] = self.grouping.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AgentLocalEventDetail from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "typeName": obj.get("typeName"), + "state": obj.get("state"), + "startDate": obj.get("startDate"), + "endDate": obj.get("endDate"), + "severity": obj.get("severity"), + "aid": obj.get("aid"), + "summary": obj.get("summary"), + "affectedTests": AffectedTests.from_dict(obj["affectedTests"]) if obj.get("affectedTests") is not None else None, + "affectedTargets": AffectedTargets.from_dict(obj["affectedTargets"]) if obj.get("affectedTargets") is not None else None, + "affectedAgents": AffectedAgents.from_dict(obj["affectedAgents"]) if obj.get("affectedAgents") is not None else None, + "cause": obj.get("cause"), + "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, + "type": obj.get("type"), + "grouping": AgentLocalEventGrouping.from_dict(obj["grouping"]) if obj.get("grouping") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/agent_local_event_grouping.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/agent_local_event_grouping.py new file mode 100644 index 00000000..4dabec0f --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/agent_local_event_grouping.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + 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 AgentLocalEventGrouping(BaseModel): + """ + AgentLocalEventGrouping + """ # noqa: E501 + agent_id: Optional[StrictStr] = Field(default=None, description="Numeric Agent ID (for agent-local events).", alias="agentId") + __properties: ClassVar[List[str]] = ["agentId"] + + 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 AgentLocalEventGrouping from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "agent_id", + ]) + + _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 AgentLocalEventGrouping from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "agentId": obj.get("agentId") + }) + return _obj + + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/api_affected_target.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/api_affected_target.py new file mode 100644 index 00000000..1758bb1d --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/api_affected_target.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + 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 ApiAffectedTarget(BaseModel): + """ + ApiAffectedTarget + """ # noqa: E501 + server_id: Optional[StrictStr] = Field(default=None, description="The ID of the target server.", alias="serverId") + name: Optional[StrictStr] = Field(default=None, description="The target name as configured in the test settings.") + ip: Optional[StrictStr] = Field(default=None, description="The target server IP resolved by the agent. Depending on the failure type, the IP may not be present. For example, if the agent failed to resolve it or if the requests were routed through the proxy.") + affected_test_ids: Optional[List[StrictStr]] = Field(default=None, description="An array of unique test IDs that contributed data points which generated the signal for the event.", alias="affectedTestIds") + affected_agent_ids: Optional[List[StrictStr]] = Field(default=None, description="An array of unique agent IDs that contributed data points which generated the signal for the event.", alias="affectedAgentIds") + __properties: ClassVar[List[str]] = ["serverId", "name", "ip", "affectedTestIds", "affectedAgentIds"] + + 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 ApiAffectedTarget from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "server_id", + "name", + "ip", + ]) + + _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 ApiAffectedTarget from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "serverId": obj.get("serverId"), + "name": obj.get("name"), + "ip": obj.get("ip"), + "affectedTestIds": obj.get("affectedTestIds"), + "affectedAgentIds": obj.get("affectedAgentIds") + }) + return _obj + + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/cloud_enterprise_agent_type.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/cloud_enterprise_agent_type.py new file mode 100644 index 00000000..a31f096e --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/cloud_enterprise_agent_type.py @@ -0,0 +1,42 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + 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 CloudEnterpriseAgentType(str, Enum): + """ + Type of the agent. + """ + + """ + allowed enum values + """ + CLOUD = 'cloud' + ENTERPRISE_MINUS_CLUSTER = 'enterprise-cluster' + ENTERPRISE = 'enterprise' + UNKNOWN = 'unknown' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of CloudEnterpriseAgentType from a JSON string""" + return cls(json.loads(json_str)) + + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/dns_event_detail.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/dns_event_detail.py new file mode 100644 index 00000000..1f0de03a --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/dns_event_detail.py @@ -0,0 +1,156 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from thousandeyes_sdk.event_detection.models.affected_agents import AffectedAgents +from thousandeyes_sdk.event_detection.models.affected_targets import AffectedTargets +from thousandeyes_sdk.event_detection.models.affected_tests import AffectedTests +from thousandeyes_sdk.event_detection.models.dns_event_grouping import DnsEventGrouping +from thousandeyes_sdk.event_detection.models.event_alert_severity import EventAlertSeverity +from thousandeyes_sdk.event_detection.models.event_state import EventState +from thousandeyes_sdk.event_detection.models.self_links import SelfLinks +from typing import Optional, Set +from typing_extensions import Self + +class DnsEventDetail(BaseModel): + """ + DnsEventDetail + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="A unique ID for each event.") + type_name: Optional[StrictStr] = Field(default=None, description="Event type name. Examples include, Local Agent Issue, Network Path Issue, Network Outage, DNS Issue, Server Issue, and Proxy Issue.", alias="typeName") + state: Optional[EventState] = None + start_date: Optional[datetime] = Field(default=None, description="The start date and time (in UTC, ISO 8601 format) when the event was first detected.", alias="startDate") + end_date: Optional[datetime] = Field(default=None, description="The end date and time (in UTC, ISO 8601 format) when the event was resolved (due to timeout). This value is populated for \"ongoing\" events.", alias="endDate") + severity: Optional[EventAlertSeverity] = None + aid: Optional[StrictStr] = Field(default=None, description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint.") + summary: Optional[StrictStr] = Field(default=None, description="A brief summary describing the cause of the event.") + affected_tests: Optional[AffectedTests] = Field(default=None, alias="affectedTests") + affected_targets: Optional[AffectedTargets] = Field(default=None, alias="affectedTargets") + affected_agents: Optional[AffectedAgents] = Field(default=None, alias="affectedAgents") + cause: Optional[List[StrictStr]] = Field(default=None, description="The cause of the error.") + links: Optional[SelfLinks] = Field(default=None, alias="_links") + type: Annotated[str, Field(strict=True)] = Field(description="DNS event type.") + grouping: Optional[DnsEventGrouping] = None + __properties: ClassVar[List[str]] = ["id", "typeName", "state", "startDate", "endDate", "severity", "aid", "summary", "affectedTests", "affectedTargets", "affectedAgents", "cause", "_links", "type", "grouping"] + + @field_validator('type') + def type_validate_regular_expression(cls, value): + """Validates the regular expression""" + if not re.match(r"^dns$", value): + raise ValueError(r"must validate the regular expression /^dns$/") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + extra="allow", + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of DnsEventDetail 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. + """ + excluded_fields: Set[str] = set([ + "id", + "type_name", + "start_date", + "end_date", + "summary", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of affected_tests + if self.affected_tests: + _dict['affectedTests'] = self.affected_tests.to_dict() + # override the default output from pydantic by calling `to_dict()` of affected_targets + if self.affected_targets: + _dict['affectedTargets'] = self.affected_targets.to_dict() + # override the default output from pydantic by calling `to_dict()` of affected_agents + if self.affected_agents: + _dict['affectedAgents'] = self.affected_agents.to_dict() + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of grouping + if self.grouping: + _dict['grouping'] = self.grouping.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DnsEventDetail from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "typeName": obj.get("typeName"), + "state": obj.get("state"), + "startDate": obj.get("startDate"), + "endDate": obj.get("endDate"), + "severity": obj.get("severity"), + "aid": obj.get("aid"), + "summary": obj.get("summary"), + "affectedTests": AffectedTests.from_dict(obj["affectedTests"]) if obj.get("affectedTests") is not None else None, + "affectedTargets": AffectedTargets.from_dict(obj["affectedTargets"]) if obj.get("affectedTargets") is not None else None, + "affectedAgents": AffectedAgents.from_dict(obj["affectedAgents"]) if obj.get("affectedAgents") is not None else None, + "cause": obj.get("cause"), + "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, + "type": obj.get("type"), + "grouping": DnsEventGrouping.from_dict(obj["grouping"]) if obj.get("grouping") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/dns_event_grouping.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/dns_event_grouping.py new file mode 100644 index 00000000..dc29be18 --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/dns_event_grouping.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + 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 DnsEventGrouping(BaseModel): + """ + DnsEventGrouping + """ # noqa: E501 + root_domain: Optional[StrictStr] = Field(default=None, description="Root domain name (for dns events).", alias="rootDomain") + __properties: ClassVar[List[str]] = ["rootDomain"] + + 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 DnsEventGrouping from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "root_domain", + ]) + + _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 DnsEventGrouping from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "rootDomain": obj.get("rootDomain") + }) + return _obj + + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/error.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/error.py new file mode 100644 index 00000000..b2a22889 --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/error.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class Error(BaseModel): + """ + Error + """ # noqa: E501 + type: Optional[StrictStr] = Field(default=None, description="A URI reference that identifies the problem type. When this member is not present, its value is assumed to be \"about:blank\".") + title: Optional[StrictStr] = Field(default=None, description="A short, human-readable summary of the problem type.") + status: Optional[StrictInt] = Field(default=None, description="The HTTP status code generated by the origin server for this occurrence of the problem.") + detail: Optional[StrictStr] = Field(default=None, description="A human-readable explanation specific to this occurrence of the problem.") + instance: Optional[StrictStr] = Field(default=None, description="A URI reference that identifies the specific occurrence of the problem.") + __properties: ClassVar[List[str]] = ["type", "title", "status", "detail", "instance"] + + 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 Error 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 Error from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "title": obj.get("title"), + "status": obj.get("status"), + "detail": obj.get("detail"), + "instance": obj.get("instance") + }) + return _obj + + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event.py new file mode 100644 index 00000000..4ba4e299 --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event.py @@ -0,0 +1,137 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.event_detection.models.affected_count import AffectedCount +from thousandeyes_sdk.event_detection.models.event_alert_severity import EventAlertSeverity +from thousandeyes_sdk.event_detection.models.event_state import EventState +from thousandeyes_sdk.event_detection.models.event_type import EventType +from thousandeyes_sdk.event_detection.models.self_links import SelfLinks +from typing import Optional, Set +from typing_extensions import Self + +class Event(BaseModel): + """ + Event + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="A unique ID for each event.") + type_name: Optional[StrictStr] = Field(default=None, description="Event type name. Examples include, Local Agent Issue, Network Path Issue, Network Outage, DNS Issue, Server Issue, and Proxy Issue.", alias="typeName") + state: Optional[EventState] = None + start_date: Optional[datetime] = Field(default=None, description="The start date and time (in UTC, ISO 8601 format) when the event was first detected.", alias="startDate") + end_date: Optional[datetime] = Field(default=None, description="The end date and time (in UTC, ISO 8601 format) when the event was resolved (due to timeout). This value is populated for \"ongoing\" events.", alias="endDate") + severity: Optional[EventAlertSeverity] = None + title: Optional[StrictStr] = Field(default=None, description="Event title") + type: Optional[EventType] = None + affected_tests: Optional[AffectedCount] = Field(default=None, alias="affectedTests") + affected_targets: Optional[AffectedCount] = Field(default=None, alias="affectedTargets") + affected_agents: Optional[AffectedCount] = Field(default=None, alias="affectedAgents") + links: Optional[SelfLinks] = Field(default=None, alias="_links") + __properties: ClassVar[List[str]] = ["id", "typeName", "state", "startDate", "endDate", "severity", "title", "type", "affectedTests", "affectedTargets", "affectedAgents", "_links"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + extra="allow", + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Event 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. + """ + excluded_fields: Set[str] = set([ + "id", + "type_name", + "start_date", + "end_date", + "title", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of affected_tests + if self.affected_tests: + _dict['affectedTests'] = self.affected_tests.to_dict() + # override the default output from pydantic by calling `to_dict()` of affected_targets + if self.affected_targets: + _dict['affectedTargets'] = self.affected_targets.to_dict() + # override the default output from pydantic by calling `to_dict()` of affected_agents + if self.affected_agents: + _dict['affectedAgents'] = self.affected_agents.to_dict() + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Event from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "typeName": obj.get("typeName"), + "state": obj.get("state"), + "startDate": obj.get("startDate"), + "endDate": obj.get("endDate"), + "severity": obj.get("severity"), + "title": obj.get("title"), + "type": obj.get("type"), + "affectedTests": AffectedCount.from_dict(obj["affectedTests"]) if obj.get("affectedTests") is not None else None, + "affectedTargets": AffectedCount.from_dict(obj["affectedTargets"]) if obj.get("affectedTargets") is not None else None, + "affectedAgents": AffectedCount.from_dict(obj["affectedAgents"]) if obj.get("affectedAgents") is not None else None, + "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_alert_severity.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_alert_severity.py new file mode 100644 index 00000000..1fa542f2 --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_alert_severity.py @@ -0,0 +1,42 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + 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 EventAlertSeverity(str, Enum): + """ + The severity of the alert. + """ + + """ + allowed enum values + """ + HIGH = 'high' + MEDIUM = 'medium' + LOW = 'low' + UNKNOWN = 'unknown' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of EventAlertSeverity from a JSON string""" + return cls(json.loads(json_str)) + + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_api_affected_agent.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_api_affected_agent.py new file mode 100644 index 00000000..fa8f4b1f --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_api_affected_agent.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.event_detection.models.agent_links import AgentLinks +from thousandeyes_sdk.event_detection.models.cloud_enterprise_agent_type import CloudEnterpriseAgentType +from typing import Optional, Set +from typing_extensions import Self + +class EventApiAffectedAgent(BaseModel): + """ + EventApiAffectedAgent + """ # noqa: E501 + agent_id: Optional[StrictStr] = Field(default=None, description="The ID of the virtual agent.", alias="agentId") + type: Optional[CloudEnterpriseAgentType] = None + name: Optional[StrictStr] = Field(default=None, description="The name of the agent as defined in settings.") + location: Optional[StrictStr] = Field(default=None, description="The name of the agent's location.") + country_code: Optional[StrictStr] = Field(default=None, description="The country code of the agent's location .", alias="countryCode") + affected_target_ids: Optional[List[StrictStr]] = Field(default=None, description="An array of unique target IDs that contributed data points which generated the signal for the event.", alias="affectedTargetIds") + affected_test_ids: Optional[List[StrictStr]] = Field(default=None, description="An array of unique agent IDs that contributed data points which generated the signal for the event.", alias="affectedTestIds") + links: Optional[AgentLinks] = Field(default=None, alias="_links") + __properties: ClassVar[List[str]] = ["agentId", "type", "name", "location", "countryCode", "affectedTargetIds", "affectedTestIds", "_links"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + extra="allow", + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of EventApiAffectedAgent 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. + """ + excluded_fields: Set[str] = set([ + "agent_id", + "name", + "location", + "country_code", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of EventApiAffectedAgent from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "agentId": obj.get("agentId"), + "type": obj.get("type"), + "name": obj.get("name"), + "location": obj.get("location"), + "countryCode": obj.get("countryCode"), + "affectedTargetIds": obj.get("affectedTargetIds"), + "affectedTestIds": obj.get("affectedTestIds"), + "_links": AgentLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_api_affected_test.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_api_affected_test.py new file mode 100644 index 00000000..1027e216 --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_api_affected_test.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.event_detection.models.event_test_links import EventTestLinks +from thousandeyes_sdk.event_detection.models.test_type import TestType +from typing import Optional, Set +from typing_extensions import Self + +class EventApiAffectedTest(BaseModel): + """ + EventApiAffectedTest + """ # noqa: E501 + test_id: Optional[StrictStr] = Field(default=None, description="The ID of the affected test.", alias="testId") + test_type: Optional[TestType] = Field(default=None, alias="testType") + name: Optional[StrictStr] = Field(default=None, description="The test name as configured in the test settings.") + affected_target_ids: Optional[List[StrictStr]] = Field(default=None, description="An array of unique target IDs contributed data points which generated the signal for the event.", alias="affectedTargetIds") + affected_agent_ids: Optional[List[StrictStr]] = Field(default=None, description="An array of unique agent IDs that contributed data points which generated the signal for the event.", alias="affectedAgentIds") + links: Optional[EventTestLinks] = Field(default=None, alias="_links") + __properties: ClassVar[List[str]] = ["testId", "testType", "name", "affectedTargetIds", "affectedAgentIds", "_links"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + extra="allow", + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of EventApiAffectedTest from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "test_id", + "name", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of EventApiAffectedTest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "testId": obj.get("testId"), + "testType": obj.get("testType"), + "name": obj.get("name"), + "affectedTargetIds": obj.get("affectedTargetIds"), + "affectedAgentIds": obj.get("affectedAgentIds"), + "_links": EventTestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_detail.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_detail.py new file mode 100644 index 00000000..b18b8cd5 --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_detail.py @@ -0,0 +1,213 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from thousandeyes_sdk.event_detection.models.agent_local_event_detail import AgentLocalEventDetail +from thousandeyes_sdk.event_detection.models.dns_event_detail import DnsEventDetail +from thousandeyes_sdk.event_detection.models.network_event_detail import NetworkEventDetail +from thousandeyes_sdk.event_detection.models.network_pop_event_detail import NetworkPopEventDetail +from thousandeyes_sdk.event_detection.models.proxy_event_detail import ProxyEventDetail +from thousandeyes_sdk.event_detection.models.target_event_detail import TargetEventDetail +from thousandeyes_sdk.event_detection.models.target_network_event_detail import TargetNetworkEventDetail +from pydantic import StrictStr, Field, model_serializer +from typing import Union, List, Set, Optional, Dict +from typing_extensions import Literal, Self + +EVENTDETAIL_ONE_OF_SCHEMAS = ["AgentLocalEventDetail", "DnsEventDetail", "NetworkEventDetail", "NetworkPopEventDetail", "ProxyEventDetail", "TargetEventDetail", "TargetNetworkEventDetail"] + +class EventDetail(BaseModel): + """ + EventDetail + """ + # data type: TargetEventDetail + oneof_schema_1_validator: Optional[TargetEventDetail] = None + # data type: TargetNetworkEventDetail + oneof_schema_2_validator: Optional[TargetNetworkEventDetail] = None + # data type: ProxyEventDetail + oneof_schema_3_validator: Optional[ProxyEventDetail] = None + # data type: DnsEventDetail + oneof_schema_4_validator: Optional[DnsEventDetail] = None + # data type: AgentLocalEventDetail + oneof_schema_5_validator: Optional[AgentLocalEventDetail] = None + # data type: NetworkEventDetail + oneof_schema_6_validator: Optional[NetworkEventDetail] = None + # data type: NetworkPopEventDetail + oneof_schema_7_validator: Optional[NetworkPopEventDetail] = None + actual_instance: Optional[Union[AgentLocalEventDetail, DnsEventDetail, NetworkEventDetail, NetworkPopEventDetail, ProxyEventDetail, TargetEventDetail, TargetNetworkEventDetail]] = None + one_of_schemas: Set[str] = { "AgentLocalEventDetail", "DnsEventDetail", "NetworkEventDetail", "NetworkPopEventDetail", "ProxyEventDetail", "TargetEventDetail", "TargetNetworkEventDetail" } + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + discriminator_value_class_map: Dict[str, str] = { + } + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = EventDetail.model_construct() + error_messages = [] + match = 0 + # validate data type: TargetEventDetail + if not isinstance(v, TargetEventDetail): + error_messages.append(f"Error! Input type `{type(v)}` is not `TargetEventDetail`") + else: + match += 1 + # validate data type: TargetNetworkEventDetail + if not isinstance(v, TargetNetworkEventDetail): + error_messages.append(f"Error! Input type `{type(v)}` is not `TargetNetworkEventDetail`") + else: + match += 1 + # validate data type: ProxyEventDetail + if not isinstance(v, ProxyEventDetail): + error_messages.append(f"Error! Input type `{type(v)}` is not `ProxyEventDetail`") + else: + match += 1 + # validate data type: DnsEventDetail + if not isinstance(v, DnsEventDetail): + error_messages.append(f"Error! Input type `{type(v)}` is not `DnsEventDetail`") + else: + match += 1 + # validate data type: AgentLocalEventDetail + if not isinstance(v, AgentLocalEventDetail): + error_messages.append(f"Error! Input type `{type(v)}` is not `AgentLocalEventDetail`") + else: + match += 1 + # validate data type: NetworkEventDetail + if not isinstance(v, NetworkEventDetail): + error_messages.append(f"Error! Input type `{type(v)}` is not `NetworkEventDetail`") + else: + match += 1 + # validate data type: NetworkPopEventDetail + if not isinstance(v, NetworkPopEventDetail): + error_messages.append(f"Error! Input type `{type(v)}` is not `NetworkPopEventDetail`") + else: + match += 1 + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in EventDetail with oneOf schemas: AgentLocalEventDetail, DnsEventDetail, NetworkEventDetail, NetworkPopEventDetail, ProxyEventDetail, TargetEventDetail, TargetNetworkEventDetail. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in EventDetail with oneOf schemas: AgentLocalEventDetail, DnsEventDetail, NetworkEventDetail, NetworkPopEventDetail, ProxyEventDetail, TargetEventDetail, TargetNetworkEventDetail. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into TargetEventDetail + try: + instance.actual_instance = TargetEventDetail.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into TargetNetworkEventDetail + try: + instance.actual_instance = TargetNetworkEventDetail.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into ProxyEventDetail + try: + instance.actual_instance = ProxyEventDetail.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into DnsEventDetail + try: + instance.actual_instance = DnsEventDetail.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into AgentLocalEventDetail + try: + instance.actual_instance = AgentLocalEventDetail.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into NetworkEventDetail + try: + instance.actual_instance = NetworkEventDetail.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into NetworkPopEventDetail + try: + instance.actual_instance = NetworkPopEventDetail.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into EventDetail with oneOf schemas: AgentLocalEventDetail, DnsEventDetail, NetworkEventDetail, NetworkPopEventDetail, ProxyEventDetail, TargetEventDetail, TargetNetworkEventDetail. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into EventDetail with oneOf schemas: AgentLocalEventDetail, DnsEventDetail, NetworkEventDetail, NetworkPopEventDetail, ProxyEventDetail, TargetEventDetail, TargetNetworkEventDetail. Details: " + ", ".join(error_messages)) + else: + return instance + + @model_serializer(when_used="json") + def serialize_model(self): + return json.loads(self.to_json()) + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], AgentLocalEventDetail, DnsEventDetail, NetworkEventDetail, NetworkPopEventDetail, ProxyEventDetail, TargetEventDetail, TargetNetworkEventDetail]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_detail_base.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_detail_base.py new file mode 100644 index 00000000..29825316 --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_detail_base.py @@ -0,0 +1,140 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.event_detection.models.affected_agents import AffectedAgents +from thousandeyes_sdk.event_detection.models.affected_targets import AffectedTargets +from thousandeyes_sdk.event_detection.models.affected_tests import AffectedTests +from thousandeyes_sdk.event_detection.models.event_alert_severity import EventAlertSeverity +from thousandeyes_sdk.event_detection.models.event_state import EventState +from thousandeyes_sdk.event_detection.models.self_links import SelfLinks +from typing import Optional, Set +from typing_extensions import Self + +class EventDetailBase(BaseModel): + """ + EventDetailBase + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="A unique ID for each event.") + type_name: Optional[StrictStr] = Field(default=None, description="Event type name. Examples include, Local Agent Issue, Network Path Issue, Network Outage, DNS Issue, Server Issue, and Proxy Issue.", alias="typeName") + state: Optional[EventState] = None + start_date: Optional[datetime] = Field(default=None, description="The start date and time (in UTC, ISO 8601 format) when the event was first detected.", alias="startDate") + end_date: Optional[datetime] = Field(default=None, description="The end date and time (in UTC, ISO 8601 format) when the event was resolved (due to timeout). This value is populated for \"ongoing\" events.", alias="endDate") + severity: Optional[EventAlertSeverity] = None + aid: Optional[StrictStr] = Field(default=None, description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint.") + summary: Optional[StrictStr] = Field(default=None, description="A brief summary describing the cause of the event.") + affected_tests: Optional[AffectedTests] = Field(default=None, alias="affectedTests") + affected_targets: Optional[AffectedTargets] = Field(default=None, alias="affectedTargets") + affected_agents: Optional[AffectedAgents] = Field(default=None, alias="affectedAgents") + cause: Optional[List[StrictStr]] = Field(default=None, description="The cause of the error.") + links: Optional[SelfLinks] = Field(default=None, alias="_links") + __properties: ClassVar[List[str]] = ["id", "typeName", "state", "startDate", "endDate", "severity", "aid", "summary", "affectedTests", "affectedTargets", "affectedAgents", "cause", "_links"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + extra="allow", + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of EventDetailBase 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. + """ + excluded_fields: Set[str] = set([ + "id", + "type_name", + "start_date", + "end_date", + "summary", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of affected_tests + if self.affected_tests: + _dict['affectedTests'] = self.affected_tests.to_dict() + # override the default output from pydantic by calling `to_dict()` of affected_targets + if self.affected_targets: + _dict['affectedTargets'] = self.affected_targets.to_dict() + # override the default output from pydantic by calling `to_dict()` of affected_agents + if self.affected_agents: + _dict['affectedAgents'] = self.affected_agents.to_dict() + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of EventDetailBase from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "typeName": obj.get("typeName"), + "state": obj.get("state"), + "startDate": obj.get("startDate"), + "endDate": obj.get("endDate"), + "severity": obj.get("severity"), + "aid": obj.get("aid"), + "summary": obj.get("summary"), + "affectedTests": AffectedTests.from_dict(obj["affectedTests"]) if obj.get("affectedTests") is not None else None, + "affectedTargets": AffectedTargets.from_dict(obj["affectedTargets"]) if obj.get("affectedTargets") is not None else None, + "affectedAgents": AffectedAgents.from_dict(obj["affectedAgents"]) if obj.get("affectedAgents") is not None else None, + "cause": obj.get("cause"), + "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_state.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_state.py new file mode 100644 index 00000000..9d38a8d0 --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_state.py @@ -0,0 +1,41 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + 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 EventState(str, Enum): + """ + Indicates the state of the event, whether it is ongoing (active) or has been resolved. + """ + + """ + allowed enum values + """ + ACTIVE = 'active' + RESOLVED = 'resolved' + UNKNOWN = 'unknown' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of EventState from a JSON string""" + return cls(json.loads(json_str)) + + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_test_links.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_test_links.py new file mode 100644 index 00000000..289488cc --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_test_links.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.event_detection.models.link import Link +from typing import Optional, Set +from typing_extensions import Self + +class EventTestLinks(BaseModel): + """ + A links object containing the self link. + """ # noqa: E501 + test: Optional[Link] = None + __properties: ClassVar[List[str]] = ["test"] + + 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 EventTestLinks 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 test + if self.test: + _dict['test'] = self.test.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of EventTestLinks from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "test": Link.from_dict(obj["test"]) if obj.get("test") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_type.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_type.py new file mode 100644 index 00000000..a1dbf0cf --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/event_type.py @@ -0,0 +1,46 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + 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 EventType(str, Enum): + """ + Specifies the event type in a machine-readable and backwards-compatible format. Allowed values are: `agent-local`, `network-pop`, `network`, `dns`, `target`, and `proxy`. + """ + + """ + allowed enum values + """ + AGENT_MINUS_LOCAL = 'agent-local' + NETWORK_MINUS_POP = 'network-pop' + NETWORK = 'network' + DNS = 'dns' + TARGET = 'target' + TARGET_MINUS_NETWORK = 'target-network' + PROXY = 'proxy' + UNKNOWN = 'unknown' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of EventType from a JSON string""" + return cls(json.loads(json_str)) + + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/events.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/events.py new file mode 100644 index 00000000..afbc8042 --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/events.py @@ -0,0 +1,112 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.event_detection.models.event import Event +from thousandeyes_sdk.event_detection.models.pagination_next_and_self_links import PaginationNextAndSelfLinks +from typing import Optional, Set +from typing_extensions import Self + +class Events(BaseModel): + """ + Events + """ # noqa: E501 + aid: Optional[StrictStr] = Field(default=None, description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint.") + 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="(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") + events: Optional[List[Event]] = None + links: Optional[PaginationNextAndSelfLinks] = Field(default=None, alias="_links") + __properties: ClassVar[List[str]] = ["aid", "startDate", "endDate", "events", "_links"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + extra="allow", + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Events from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "start_date", + "end_date", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in events (list) + _items = [] + if self.events: + for _item in self.events: + if _item: + _items.append(_item.to_dict()) + _dict['events'] = _items + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Events from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "aid": obj.get("aid"), + "startDate": obj.get("startDate"), + "endDate": obj.get("endDate"), + "events": [Event.from_dict(_item) for _item in obj["events"]] if obj.get("events") is not None else None, + "_links": PaginationNextAndSelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/link.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/link.py new file mode 100644 index 00000000..55f53be5 --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/link.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + 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 typing import Optional, Set +from typing_extensions import Self + +class Link(BaseModel): + """ + A hyperlink from the containing resource to a URI. + """ # noqa: E501 + href: StrictStr = Field(description="Its value is either a URI [RFC3986] or a URI template [RFC6570].") + templated: Optional[StrictBool] = Field(default=None, description="Should be true when the link object's \"href\" property is a URI template.") + type: Optional[StrictStr] = Field(default=None, description="Used as a hint to indicate the media type expected when dereferencing the target resource.") + deprecation: Optional[StrictStr] = Field(default=None, description="Its presence indicates that the link is to be deprecated at a future date. Its value is a URL that should provide further information about the deprecation.") + name: Optional[StrictStr] = Field(default=None, description="Its value may be used as a secondary key for selecting link objects that share the same relation type.") + profile: Optional[StrictStr] = Field(default=None, description="A URI that hints about the profile of the target resource.") + title: Optional[StrictStr] = Field(default=None, description="Intended for labelling the link with a human-readable identifier") + hreflang: Optional[StrictStr] = Field(default=None, description="Indicates the language of the target resource") + __properties: ClassVar[List[str]] = ["href", "templated", "type", "deprecation", "name", "profile", "title", "hreflang"] + + 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 Link 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 Link from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "href": obj.get("href"), + "templated": obj.get("templated"), + "type": obj.get("type"), + "deprecation": obj.get("deprecation"), + "name": obj.get("name"), + "profile": obj.get("profile"), + "title": obj.get("title"), + "hreflang": obj.get("hreflang") + }) + return _obj + + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/network_event_detail.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/network_event_detail.py new file mode 100644 index 00000000..9d3f550c --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/network_event_detail.py @@ -0,0 +1,156 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from thousandeyes_sdk.event_detection.models.affected_agents import AffectedAgents +from thousandeyes_sdk.event_detection.models.affected_targets import AffectedTargets +from thousandeyes_sdk.event_detection.models.affected_tests import AffectedTests +from thousandeyes_sdk.event_detection.models.event_alert_severity import EventAlertSeverity +from thousandeyes_sdk.event_detection.models.event_state import EventState +from thousandeyes_sdk.event_detection.models.network_event_grouping import NetworkEventGrouping +from thousandeyes_sdk.event_detection.models.self_links import SelfLinks +from typing import Optional, Set +from typing_extensions import Self + +class NetworkEventDetail(BaseModel): + """ + NetworkEventDetail + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="A unique ID for each event.") + type_name: Optional[StrictStr] = Field(default=None, description="Event type name. Examples include, Local Agent Issue, Network Path Issue, Network Outage, DNS Issue, Server Issue, and Proxy Issue.", alias="typeName") + state: Optional[EventState] = None + start_date: Optional[datetime] = Field(default=None, description="The start date and time (in UTC, ISO 8601 format) when the event was first detected.", alias="startDate") + end_date: Optional[datetime] = Field(default=None, description="The end date and time (in UTC, ISO 8601 format) when the event was resolved (due to timeout). This value is populated for \"ongoing\" events.", alias="endDate") + severity: Optional[EventAlertSeverity] = None + aid: Optional[StrictStr] = Field(default=None, description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint.") + summary: Optional[StrictStr] = Field(default=None, description="A brief summary describing the cause of the event.") + affected_tests: Optional[AffectedTests] = Field(default=None, alias="affectedTests") + affected_targets: Optional[AffectedTargets] = Field(default=None, alias="affectedTargets") + affected_agents: Optional[AffectedAgents] = Field(default=None, alias="affectedAgents") + cause: Optional[List[StrictStr]] = Field(default=None, description="The cause of the error.") + links: Optional[SelfLinks] = Field(default=None, alias="_links") + type: Annotated[str, Field(strict=True)] = Field(description="Network event type.") + grouping: Optional[NetworkEventGrouping] = None + __properties: ClassVar[List[str]] = ["id", "typeName", "state", "startDate", "endDate", "severity", "aid", "summary", "affectedTests", "affectedTargets", "affectedAgents", "cause", "_links", "type", "grouping"] + + @field_validator('type') + def type_validate_regular_expression(cls, value): + """Validates the regular expression""" + if not re.match(r"^network$", value): + raise ValueError(r"must validate the regular expression /^network$/") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + extra="allow", + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of NetworkEventDetail 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. + """ + excluded_fields: Set[str] = set([ + "id", + "type_name", + "start_date", + "end_date", + "summary", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of affected_tests + if self.affected_tests: + _dict['affectedTests'] = self.affected_tests.to_dict() + # override the default output from pydantic by calling `to_dict()` of affected_targets + if self.affected_targets: + _dict['affectedTargets'] = self.affected_targets.to_dict() + # override the default output from pydantic by calling `to_dict()` of affected_agents + if self.affected_agents: + _dict['affectedAgents'] = self.affected_agents.to_dict() + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of grouping + if self.grouping: + _dict['grouping'] = self.grouping.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of NetworkEventDetail from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "typeName": obj.get("typeName"), + "state": obj.get("state"), + "startDate": obj.get("startDate"), + "endDate": obj.get("endDate"), + "severity": obj.get("severity"), + "aid": obj.get("aid"), + "summary": obj.get("summary"), + "affectedTests": AffectedTests.from_dict(obj["affectedTests"]) if obj.get("affectedTests") is not None else None, + "affectedTargets": AffectedTargets.from_dict(obj["affectedTargets"]) if obj.get("affectedTargets") is not None else None, + "affectedAgents": AffectedAgents.from_dict(obj["affectedAgents"]) if obj.get("affectedAgents") is not None else None, + "cause": obj.get("cause"), + "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, + "type": obj.get("type"), + "grouping": NetworkEventGrouping.from_dict(obj["grouping"]) if obj.get("grouping") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/network_event_grouping.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/network_event_grouping.py new file mode 100644 index 00000000..87233748 --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/network_event_grouping.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class NetworkEventGrouping(BaseModel): + """ + NetworkEventGrouping + """ # noqa: E501 + source_asn: Optional[StrictInt] = Field(default=None, description="AS number of the source network (for network-pop and network events).", alias="sourceAsn") + dest_asn: Optional[StrictInt] = Field(default=None, description="AS number of the destination network (for network events).", alias="destAsn") + source_country_code: Optional[StrictStr] = Field(default=None, description="The source network's country code (for network-pop and network events).", alias="sourceCountryCode") + __properties: ClassVar[List[str]] = ["sourceAsn", "destAsn", "sourceCountryCode"] + + 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 NetworkEventGrouping from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "source_asn", + "dest_asn", + "source_country_code", + ]) + + _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 NetworkEventGrouping from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "sourceAsn": obj.get("sourceAsn"), + "destAsn": obj.get("destAsn"), + "sourceCountryCode": obj.get("sourceCountryCode") + }) + return _obj + + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/network_pop_event_detail.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/network_pop_event_detail.py new file mode 100644 index 00000000..ae23fd58 --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/network_pop_event_detail.py @@ -0,0 +1,156 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from thousandeyes_sdk.event_detection.models.affected_agents import AffectedAgents +from thousandeyes_sdk.event_detection.models.affected_targets import AffectedTargets +from thousandeyes_sdk.event_detection.models.affected_tests import AffectedTests +from thousandeyes_sdk.event_detection.models.event_alert_severity import EventAlertSeverity +from thousandeyes_sdk.event_detection.models.event_state import EventState +from thousandeyes_sdk.event_detection.models.network_event_grouping import NetworkEventGrouping +from thousandeyes_sdk.event_detection.models.self_links import SelfLinks +from typing import Optional, Set +from typing_extensions import Self + +class NetworkPopEventDetail(BaseModel): + """ + NetworkPopEventDetail + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="A unique ID for each event.") + type_name: Optional[StrictStr] = Field(default=None, description="Event type name. Examples include, Local Agent Issue, Network Path Issue, Network Outage, DNS Issue, Server Issue, and Proxy Issue.", alias="typeName") + state: Optional[EventState] = None + start_date: Optional[datetime] = Field(default=None, description="The start date and time (in UTC, ISO 8601 format) when the event was first detected.", alias="startDate") + end_date: Optional[datetime] = Field(default=None, description="The end date and time (in UTC, ISO 8601 format) when the event was resolved (due to timeout). This value is populated for \"ongoing\" events.", alias="endDate") + severity: Optional[EventAlertSeverity] = None + aid: Optional[StrictStr] = Field(default=None, description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint.") + summary: Optional[StrictStr] = Field(default=None, description="A brief summary describing the cause of the event.") + affected_tests: Optional[AffectedTests] = Field(default=None, alias="affectedTests") + affected_targets: Optional[AffectedTargets] = Field(default=None, alias="affectedTargets") + affected_agents: Optional[AffectedAgents] = Field(default=None, alias="affectedAgents") + cause: Optional[List[StrictStr]] = Field(default=None, description="The cause of the error.") + links: Optional[SelfLinks] = Field(default=None, alias="_links") + type: Annotated[str, Field(strict=True)] = Field(description="Network pop event type.") + grouping: Optional[NetworkEventGrouping] = None + __properties: ClassVar[List[str]] = ["id", "typeName", "state", "startDate", "endDate", "severity", "aid", "summary", "affectedTests", "affectedTargets", "affectedAgents", "cause", "_links", "type", "grouping"] + + @field_validator('type') + def type_validate_regular_expression(cls, value): + """Validates the regular expression""" + if not re.match(r"^network-pop$", value): + raise ValueError(r"must validate the regular expression /^network-pop$/") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + extra="allow", + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of NetworkPopEventDetail 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. + """ + excluded_fields: Set[str] = set([ + "id", + "type_name", + "start_date", + "end_date", + "summary", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of affected_tests + if self.affected_tests: + _dict['affectedTests'] = self.affected_tests.to_dict() + # override the default output from pydantic by calling `to_dict()` of affected_targets + if self.affected_targets: + _dict['affectedTargets'] = self.affected_targets.to_dict() + # override the default output from pydantic by calling `to_dict()` of affected_agents + if self.affected_agents: + _dict['affectedAgents'] = self.affected_agents.to_dict() + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of grouping + if self.grouping: + _dict['grouping'] = self.grouping.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of NetworkPopEventDetail from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "typeName": obj.get("typeName"), + "state": obj.get("state"), + "startDate": obj.get("startDate"), + "endDate": obj.get("endDate"), + "severity": obj.get("severity"), + "aid": obj.get("aid"), + "summary": obj.get("summary"), + "affectedTests": AffectedTests.from_dict(obj["affectedTests"]) if obj.get("affectedTests") is not None else None, + "affectedTargets": AffectedTargets.from_dict(obj["affectedTargets"]) if obj.get("affectedTargets") is not None else None, + "affectedAgents": AffectedAgents.from_dict(obj["affectedAgents"]) if obj.get("affectedAgents") is not None else None, + "cause": obj.get("cause"), + "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, + "type": obj.get("type"), + "grouping": NetworkEventGrouping.from_dict(obj["grouping"]) if obj.get("grouping") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/pagination_next_and_self_links.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/pagination_next_and_self_links.py new file mode 100644 index 00000000..4faaf2fb --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/pagination_next_and_self_links.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + 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.event_detection.models.link import Link +from typing import Optional, Set +from typing_extensions import Self + +class PaginationNextAndSelfLinks(BaseModel): + """ + A links object containing pagination-related links, including only next and self. + """ # noqa: E501 + next: Optional[Link] = None + var_self: Optional[Link] = Field(default=None, alias="self") + __properties: ClassVar[List[str]] = ["next", "self"] + + 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 PaginationNextAndSelfLinks 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 next + if self.next: + _dict['next'] = self.next.to_dict() + # override the default output from pydantic by calling `to_dict()` of var_self + if self.var_self: + _dict['self'] = self.var_self.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PaginationNextAndSelfLinks from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "next": Link.from_dict(obj["next"]) if obj.get("next") is not None else None, + "self": Link.from_dict(obj["self"]) if obj.get("self") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/proxy_event_detail.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/proxy_event_detail.py new file mode 100644 index 00000000..97222663 --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/proxy_event_detail.py @@ -0,0 +1,156 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from thousandeyes_sdk.event_detection.models.affected_agents import AffectedAgents +from thousandeyes_sdk.event_detection.models.affected_targets import AffectedTargets +from thousandeyes_sdk.event_detection.models.affected_tests import AffectedTests +from thousandeyes_sdk.event_detection.models.event_alert_severity import EventAlertSeverity +from thousandeyes_sdk.event_detection.models.event_state import EventState +from thousandeyes_sdk.event_detection.models.proxy_event_grouping import ProxyEventGrouping +from thousandeyes_sdk.event_detection.models.self_links import SelfLinks +from typing import Optional, Set +from typing_extensions import Self + +class ProxyEventDetail(BaseModel): + """ + ProxyEventDetail + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="A unique ID for each event.") + type_name: Optional[StrictStr] = Field(default=None, description="Event type name. Examples include, Local Agent Issue, Network Path Issue, Network Outage, DNS Issue, Server Issue, and Proxy Issue.", alias="typeName") + state: Optional[EventState] = None + start_date: Optional[datetime] = Field(default=None, description="The start date and time (in UTC, ISO 8601 format) when the event was first detected.", alias="startDate") + end_date: Optional[datetime] = Field(default=None, description="The end date and time (in UTC, ISO 8601 format) when the event was resolved (due to timeout). This value is populated for \"ongoing\" events.", alias="endDate") + severity: Optional[EventAlertSeverity] = None + aid: Optional[StrictStr] = Field(default=None, description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint.") + summary: Optional[StrictStr] = Field(default=None, description="A brief summary describing the cause of the event.") + affected_tests: Optional[AffectedTests] = Field(default=None, alias="affectedTests") + affected_targets: Optional[AffectedTargets] = Field(default=None, alias="affectedTargets") + affected_agents: Optional[AffectedAgents] = Field(default=None, alias="affectedAgents") + cause: Optional[List[StrictStr]] = Field(default=None, description="The cause of the error.") + links: Optional[SelfLinks] = Field(default=None, alias="_links") + type: Annotated[str, Field(strict=True)] = Field(description="Proxy event type.") + grouping: Optional[ProxyEventGrouping] = None + __properties: ClassVar[List[str]] = ["id", "typeName", "state", "startDate", "endDate", "severity", "aid", "summary", "affectedTests", "affectedTargets", "affectedAgents", "cause", "_links", "type", "grouping"] + + @field_validator('type') + def type_validate_regular_expression(cls, value): + """Validates the regular expression""" + if not re.match(r"^proxy$", value): + raise ValueError(r"must validate the regular expression /^proxy$/") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + extra="allow", + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ProxyEventDetail 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. + """ + excluded_fields: Set[str] = set([ + "id", + "type_name", + "start_date", + "end_date", + "summary", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of affected_tests + if self.affected_tests: + _dict['affectedTests'] = self.affected_tests.to_dict() + # override the default output from pydantic by calling `to_dict()` of affected_targets + if self.affected_targets: + _dict['affectedTargets'] = self.affected_targets.to_dict() + # override the default output from pydantic by calling `to_dict()` of affected_agents + if self.affected_agents: + _dict['affectedAgents'] = self.affected_agents.to_dict() + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of grouping + if self.grouping: + _dict['grouping'] = self.grouping.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ProxyEventDetail from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "typeName": obj.get("typeName"), + "state": obj.get("state"), + "startDate": obj.get("startDate"), + "endDate": obj.get("endDate"), + "severity": obj.get("severity"), + "aid": obj.get("aid"), + "summary": obj.get("summary"), + "affectedTests": AffectedTests.from_dict(obj["affectedTests"]) if obj.get("affectedTests") is not None else None, + "affectedTargets": AffectedTargets.from_dict(obj["affectedTargets"]) if obj.get("affectedTargets") is not None else None, + "affectedAgents": AffectedAgents.from_dict(obj["affectedAgents"]) if obj.get("affectedAgents") is not None else None, + "cause": obj.get("cause"), + "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, + "type": obj.get("type"), + "grouping": ProxyEventGrouping.from_dict(obj["grouping"]) if obj.get("grouping") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/proxy_event_grouping.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/proxy_event_grouping.py new file mode 100644 index 00000000..bdf635e4 --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/proxy_event_grouping.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + 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 ProxyEventGrouping(BaseModel): + """ + ProxyEventGrouping + """ # noqa: E501 + proxy: Optional[StrictStr] = Field(default=None, description="Proxy name or IP (for proxy events).") + __properties: ClassVar[List[str]] = ["proxy"] + + 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 ProxyEventGrouping from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "proxy", + ]) + + _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 ProxyEventGrouping from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "proxy": obj.get("proxy") + }) + return _obj + + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/self_links.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/self_links.py new file mode 100644 index 00000000..5a584b76 --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/self_links.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + 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.event_detection.models.link import Link +from typing import Optional, Set +from typing_extensions import Self + +class SelfLinks(BaseModel): + """ + A links object containing the self link. + """ # noqa: E501 + var_self: Optional[Link] = Field(default=None, alias="self") + __properties: ClassVar[List[str]] = ["self"] + + 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 SelfLinks 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 var_self + if self.var_self: + _dict['self'] = self.var_self.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SelfLinks from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "self": Link.from_dict(obj["self"]) if obj.get("self") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/simple_event_detail.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/simple_event_detail.py new file mode 100644 index 00000000..9070c589 --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/simple_event_detail.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.event_detection.models.event_alert_severity import EventAlertSeverity +from thousandeyes_sdk.event_detection.models.event_state import EventState +from typing import Optional, Set +from typing_extensions import Self + +class SimpleEventDetail(BaseModel): + """ + SimpleEventDetail + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="A unique ID for each event.") + type_name: Optional[StrictStr] = Field(default=None, description="Event type name. Examples include, Local Agent Issue, Network Path Issue, Network Outage, DNS Issue, Server Issue, and Proxy Issue.", alias="typeName") + state: Optional[EventState] = None + start_date: Optional[datetime] = Field(default=None, description="The start date and time (in UTC, ISO 8601 format) when the event was first detected.", alias="startDate") + end_date: Optional[datetime] = Field(default=None, description="The end date and time (in UTC, ISO 8601 format) when the event was resolved (due to timeout). This value is populated for \"ongoing\" events.", alias="endDate") + severity: Optional[EventAlertSeverity] = None + __properties: ClassVar[List[str]] = ["id", "typeName", "state", "startDate", "endDate", "severity"] + + 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 SimpleEventDetail 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. + """ + excluded_fields: Set[str] = set([ + "id", + "type_name", + "start_date", + "end_date", + ]) + + _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 SimpleEventDetail from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "typeName": obj.get("typeName"), + "state": obj.get("state"), + "startDate": obj.get("startDate"), + "endDate": obj.get("endDate"), + "severity": obj.get("severity") + }) + return _obj + + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/target_event_detail.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/target_event_detail.py new file mode 100644 index 00000000..4e46c6cb --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/target_event_detail.py @@ -0,0 +1,156 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from thousandeyes_sdk.event_detection.models.affected_agents import AffectedAgents +from thousandeyes_sdk.event_detection.models.affected_targets import AffectedTargets +from thousandeyes_sdk.event_detection.models.affected_tests import AffectedTests +from thousandeyes_sdk.event_detection.models.event_alert_severity import EventAlertSeverity +from thousandeyes_sdk.event_detection.models.event_state import EventState +from thousandeyes_sdk.event_detection.models.self_links import SelfLinks +from thousandeyes_sdk.event_detection.models.target_event_grouping import TargetEventGrouping +from typing import Optional, Set +from typing_extensions import Self + +class TargetEventDetail(BaseModel): + """ + TargetEventDetail + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="A unique ID for each event.") + type_name: Optional[StrictStr] = Field(default=None, description="Event type name. Examples include, Local Agent Issue, Network Path Issue, Network Outage, DNS Issue, Server Issue, and Proxy Issue.", alias="typeName") + state: Optional[EventState] = None + start_date: Optional[datetime] = Field(default=None, description="The start date and time (in UTC, ISO 8601 format) when the event was first detected.", alias="startDate") + end_date: Optional[datetime] = Field(default=None, description="The end date and time (in UTC, ISO 8601 format) when the event was resolved (due to timeout). This value is populated for \"ongoing\" events.", alias="endDate") + severity: Optional[EventAlertSeverity] = None + aid: Optional[StrictStr] = Field(default=None, description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint.") + summary: Optional[StrictStr] = Field(default=None, description="A brief summary describing the cause of the event.") + affected_tests: Optional[AffectedTests] = Field(default=None, alias="affectedTests") + affected_targets: Optional[AffectedTargets] = Field(default=None, alias="affectedTargets") + affected_agents: Optional[AffectedAgents] = Field(default=None, alias="affectedAgents") + cause: Optional[List[StrictStr]] = Field(default=None, description="The cause of the error.") + links: Optional[SelfLinks] = Field(default=None, alias="_links") + type: Annotated[str, Field(strict=True)] = Field(description="Target event type.") + grouping: Optional[TargetEventGrouping] = None + __properties: ClassVar[List[str]] = ["id", "typeName", "state", "startDate", "endDate", "severity", "aid", "summary", "affectedTests", "affectedTargets", "affectedAgents", "cause", "_links", "type", "grouping"] + + @field_validator('type') + def type_validate_regular_expression(cls, value): + """Validates the regular expression""" + if not re.match(r"^target$", value): + raise ValueError(r"must validate the regular expression /^target$/") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + extra="allow", + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TargetEventDetail 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. + """ + excluded_fields: Set[str] = set([ + "id", + "type_name", + "start_date", + "end_date", + "summary", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of affected_tests + if self.affected_tests: + _dict['affectedTests'] = self.affected_tests.to_dict() + # override the default output from pydantic by calling `to_dict()` of affected_targets + if self.affected_targets: + _dict['affectedTargets'] = self.affected_targets.to_dict() + # override the default output from pydantic by calling `to_dict()` of affected_agents + if self.affected_agents: + _dict['affectedAgents'] = self.affected_agents.to_dict() + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of grouping + if self.grouping: + _dict['grouping'] = self.grouping.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TargetEventDetail from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "typeName": obj.get("typeName"), + "state": obj.get("state"), + "startDate": obj.get("startDate"), + "endDate": obj.get("endDate"), + "severity": obj.get("severity"), + "aid": obj.get("aid"), + "summary": obj.get("summary"), + "affectedTests": AffectedTests.from_dict(obj["affectedTests"]) if obj.get("affectedTests") is not None else None, + "affectedTargets": AffectedTargets.from_dict(obj["affectedTargets"]) if obj.get("affectedTargets") is not None else None, + "affectedAgents": AffectedAgents.from_dict(obj["affectedAgents"]) if obj.get("affectedAgents") is not None else None, + "cause": obj.get("cause"), + "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, + "type": obj.get("type"), + "grouping": TargetEventGrouping.from_dict(obj["grouping"]) if obj.get("grouping") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/target_event_grouping.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/target_event_grouping.py new file mode 100644 index 00000000..6bebce00 --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/target_event_grouping.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + 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 TargetEventGrouping(BaseModel): + """ + TargetEventGrouping + """ # noqa: E501 + target: Optional[StrictStr] = Field(default=None, description="Target name (for target events).") + __properties: ClassVar[List[str]] = ["target"] + + 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 TargetEventGrouping from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "target", + ]) + + _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 TargetEventGrouping from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "target": obj.get("target") + }) + return _obj + + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/target_network_event_detail.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/target_network_event_detail.py new file mode 100644 index 00000000..a27162b5 --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/target_network_event_detail.py @@ -0,0 +1,156 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from thousandeyes_sdk.event_detection.models.affected_agents import AffectedAgents +from thousandeyes_sdk.event_detection.models.affected_targets import AffectedTargets +from thousandeyes_sdk.event_detection.models.affected_tests import AffectedTests +from thousandeyes_sdk.event_detection.models.event_alert_severity import EventAlertSeverity +from thousandeyes_sdk.event_detection.models.event_state import EventState +from thousandeyes_sdk.event_detection.models.self_links import SelfLinks +from thousandeyes_sdk.event_detection.models.target_network_event_grouping import TargetNetworkEventGrouping +from typing import Optional, Set +from typing_extensions import Self + +class TargetNetworkEventDetail(BaseModel): + """ + TargetNetworkEventDetail + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="A unique ID for each event.") + type_name: Optional[StrictStr] = Field(default=None, description="Event type name. Examples include, Local Agent Issue, Network Path Issue, Network Outage, DNS Issue, Server Issue, and Proxy Issue.", alias="typeName") + state: Optional[EventState] = None + start_date: Optional[datetime] = Field(default=None, description="The start date and time (in UTC, ISO 8601 format) when the event was first detected.", alias="startDate") + end_date: Optional[datetime] = Field(default=None, description="The end date and time (in UTC, ISO 8601 format) when the event was resolved (due to timeout). This value is populated for \"ongoing\" events.", alias="endDate") + severity: Optional[EventAlertSeverity] = None + aid: Optional[StrictStr] = Field(default=None, description="A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint.") + summary: Optional[StrictStr] = Field(default=None, description="A brief summary describing the cause of the event.") + affected_tests: Optional[AffectedTests] = Field(default=None, alias="affectedTests") + affected_targets: Optional[AffectedTargets] = Field(default=None, alias="affectedTargets") + affected_agents: Optional[AffectedAgents] = Field(default=None, alias="affectedAgents") + cause: Optional[List[StrictStr]] = Field(default=None, description="The cause of the error.") + links: Optional[SelfLinks] = Field(default=None, alias="_links") + type: Annotated[str, Field(strict=True)] = Field(description="Target network event type.") + grouping: Optional[TargetNetworkEventGrouping] = None + __properties: ClassVar[List[str]] = ["id", "typeName", "state", "startDate", "endDate", "severity", "aid", "summary", "affectedTests", "affectedTargets", "affectedAgents", "cause", "_links", "type", "grouping"] + + @field_validator('type') + def type_validate_regular_expression(cls, value): + """Validates the regular expression""" + if not re.match(r"^target-network$", value): + raise ValueError(r"must validate the regular expression /^target-network$/") + return value + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + extra="allow", + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of TargetNetworkEventDetail 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. + """ + excluded_fields: Set[str] = set([ + "id", + "type_name", + "start_date", + "end_date", + "summary", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of affected_tests + if self.affected_tests: + _dict['affectedTests'] = self.affected_tests.to_dict() + # override the default output from pydantic by calling `to_dict()` of affected_targets + if self.affected_targets: + _dict['affectedTargets'] = self.affected_targets.to_dict() + # override the default output from pydantic by calling `to_dict()` of affected_agents + if self.affected_agents: + _dict['affectedAgents'] = self.affected_agents.to_dict() + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of grouping + if self.grouping: + _dict['grouping'] = self.grouping.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TargetNetworkEventDetail from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "typeName": obj.get("typeName"), + "state": obj.get("state"), + "startDate": obj.get("startDate"), + "endDate": obj.get("endDate"), + "severity": obj.get("severity"), + "aid": obj.get("aid"), + "summary": obj.get("summary"), + "affectedTests": AffectedTests.from_dict(obj["affectedTests"]) if obj.get("affectedTests") is not None else None, + "affectedTargets": AffectedTargets.from_dict(obj["affectedTargets"]) if obj.get("affectedTargets") is not None else None, + "affectedAgents": AffectedAgents.from_dict(obj["affectedAgents"]) if obj.get("affectedAgents") is not None else None, + "cause": obj.get("cause"), + "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, + "type": obj.get("type"), + "grouping": TargetNetworkEventGrouping.from_dict(obj["grouping"]) if obj.get("grouping") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/target_network_event_grouping.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/target_network_event_grouping.py new file mode 100644 index 00000000..f1ff83ae --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/target_network_event_grouping.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + 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 TargetNetworkEventGrouping(BaseModel): + """ + TargetNetworkEventGrouping + """ # noqa: E501 + prefix: Optional[StrictStr] = Field(default=None, description="Prefix value for target-network events.") + __properties: ClassVar[List[str]] = ["prefix"] + + 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 TargetNetworkEventGrouping from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "prefix", + ]) + + _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 TargetNetworkEventGrouping from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "prefix": obj.get("prefix") + }) + return _obj + + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/test_type.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/test_type.py new file mode 100644 index 00000000..881095a4 --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/test_type.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + 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 TestType(str, Enum): + """ + This is a read only value, as test type is implicit in the test creation url. + """ + + """ + allowed enum values + """ + API = 'api' + AGENT_MINUS_TO_MINUS_AGENT = 'agent-to-agent' + AGENT_MINUS_TO_MINUS_SERVER = 'agent-to-server' + BGP = 'bgp' + HTTP_MINUS_SERVER = 'http-server' + PAGE_MINUS_LOAD = 'page-load' + WEB_MINUS_TRANSACTIONS = 'web-transactions' + FTP_MINUS_SERVER = 'ftp-server' + DNS_MINUS_TRACE = 'dns-trace' + DNS_MINUS_SERVER = 'dns-server' + DNSSEC = 'dnssec' + SIP_MINUS_SERVER = 'sip-server' + VOICE = 'voice' + UNKNOWN = 'unknown' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of TestType from a JSON string""" + return cls(json.loads(json_str)) + + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN + diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/unauthorized_error.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/unauthorized_error.py new file mode 100644 index 00000000..5788a83f --- /dev/null +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/unauthorized_error.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class UnauthorizedError(BaseModel): + """ + UnauthorizedError + """ # noqa: E501 + error: Optional[StrictStr] = None + error_description: Optional[StrictStr] = None + __properties: ClassVar[List[str]] = ["error", "error_description"] + + 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 UnauthorizedError 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 UnauthorizedError from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "error": obj.get("error"), + "error_description": obj.get("error_description") + }) + return _obj + + diff --git a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/validation_error.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/validation_error.py similarity index 75% rename from thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/validation_error.py rename to thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/validation_error.py index 6323ebb5..a8b74816 100644 --- a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/validation_error.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/validation_error.py @@ -1,11 +1,10 @@ # coding: utf-8 """ - Labels API + Event Detection API - ### Overview This is API for the Labels API (formerly called groups). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -19,7 +18,7 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.labels.models.validation_error_item import ValidationErrorItem +from thousandeyes_sdk.event_detection.models.validation_error_item import ValidationErrorItem from typing import Optional, Set from typing_extensions import Self diff --git a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/validation_error_item.py b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/validation_error_item.py similarity index 70% rename from thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/validation_error_item.py rename to thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/validation_error_item.py index 35510a02..e2632ca8 100644 --- a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/validation_error_item.py +++ b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/models/validation_error_item.py @@ -1,11 +1,10 @@ # coding: utf-8 """ - Labels API + Event Detection API - ### Overview This is API for the Labels API (formerly called groups). + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/py.typed b/thousandeyes-sdk-event-detection/src/thousandeyes_sdk/event_detection/py.typed new file mode 100644 index 00000000..e69de29b diff --git a/thousandeyes-sdk-event-detection/test/__init__.py b/thousandeyes-sdk-event-detection/test/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/thousandeyes-sdk-event-detection/test/test_events_api.py b/thousandeyes-sdk-event-detection/test/test_events_api.py new file mode 100644 index 00000000..faa281c5 --- /dev/null +++ b/thousandeyes-sdk-event-detection/test/test_events_api.py @@ -0,0 +1,275 @@ +# coding: utf-8 + +""" + Event Detection API + + Event detection occurs when ThousandEyes identifies that error signals related to a component (proxy, network node, AS, server etc) have deviated from the baselines established by events. * To determine this, ThousandEyes takes the test results from all accounts groups within an organization, and analyzes that data. * Noisy test results (those that have too many errors in a short window) are removed until they stabilize, and the rest of the results are tagged with the components associated with that test result (for example, proxy, network, or server). * Next, any increase in failures from the test results and each component helps in determining the problem domain and which component may be at fault. * When this failure rate increases beyond a pre-defined threshold (set by the algorithm), an event is triggered and an email notification is sent to the user (if they've enabled email alerts). With the Events API, you can perform the following tasks on the ThousandEyes platform: * **Retrieve Events**: Obtain a list of events and detailed information for each event. For more information about events, see [Event Detection](https://docs.thousandeyes.com/product-documentation/event-detection). + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import json +import unittest +import thousandeyes_sdk.event_detection.models + +from .test_utils import assert_constructed_model_matches_example_json +from thousandeyes_sdk.event_detection.api.events_api import EventsApi + + +class TestEventsApi(unittest.TestCase): + """EventsApi unit test stubs""" + + def setUp(self) -> None: + self.api = EventsApi() + + def tearDown(self) -> None: + pass + + def test_get_event_models_validation(self) -> None: + """Test case for get_event request and response models""" + + response_body_json = """ + { + "severity" : "medium", + "summary" : "Significant number of issues detected with 66.29.146.15", + "affectedTests" : { + "total" : 5, + "tests" : [ { + "affectedTargetIds" : [ "123", "1234" ], + "affectedAgentIds" : [ "2954", "2953" ], + "_links" : { + "test" : { + "hreflang" : "hreflang", + "templated" : true, + "profile" : "profile", + "name" : "name", + "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", + "type" : "type", + "deprecation" : "deprecation", + "title" : "title" + } + }, + "name" : "Google test", + "testType" : "agent-to-server", + "testId" : "226770" + }, { + "affectedTargetIds" : [ "123", "1234" ], + "affectedAgentIds" : [ "2954", "2953" ], + "_links" : { + "test" : { + "hreflang" : "hreflang", + "templated" : true, + "profile" : "profile", + "name" : "name", + "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", + "type" : "type", + "deprecation" : "deprecation", + "title" : "title" + } + }, + "name" : "Google test", + "testType" : "agent-to-server", + "testId" : "226770" + } ], + "inAccountGroup" : 2 + }, + "endDate" : "2020-04-23T13:43:16Z", + "_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" + } + }, + "typeName" : "Network Issue", + "cause" : [ "Network Loss and/or High RTT" ], + "affectedTargets" : { + "total" : 5, + "inAccountGroup" : 2, + "targets" : [ { + "affectedAgentIds" : [ "2954", "2953" ], + "ip" : "216.239.32.10", + "name" : "google.com", + "affectedTestIds" : [ "123", "1234" ], + "serverId" : "123" + }, { + "affectedAgentIds" : [ "2954", "2953" ], + "ip" : "216.239.32.10", + "name" : "google.com", + "affectedTestIds" : [ "123", "1234" ], + "serverId" : "123" + } ] + }, + "type" : "target", + "grouping" : { + "target" : "google.com" + }, + "affectedAgents" : { + "total" : 5, + "inAccountGroup" : 2, + "agents" : [ { + "affectedTargetIds" : [ "123", "1234" ], + "agentId" : "2954", + "_links" : { + "agent" : { + "hreflang" : "hreflang", + "templated" : true, + "profile" : "profile", + "name" : "name", + "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", + "type" : "type", + "deprecation" : "deprecation", + "title" : "title" + } + }, + "countryCode" : "BR", + "name" : "São Paulo, Brazil - agent", + "location" : "São Paulo, Brazil", + "affectedTestIds" : [ "2954", "2953" ], + "type" : "enterprise-cluster" + }, { + "affectedTargetIds" : [ "123", "1234" ], + "agentId" : "2954", + "_links" : { + "agent" : { + "hreflang" : "hreflang", + "templated" : true, + "profile" : "profile", + "name" : "name", + "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", + "type" : "type", + "deprecation" : "deprecation", + "title" : "title" + } + }, + "countryCode" : "BR", + "name" : "São Paulo, Brazil - agent", + "location" : "São Paulo, Brazil", + "affectedTestIds" : [ "2954", "2953" ], + "type" : "enterprise-cluster" + } ] + }, + "id" : "e9c3bf02-a48c-4aa8-9e5f-898800d6f569", + "state" : "resolved", + "aid" : "1234", + "startDate" : "2020-04-23T13:43:16Z" + }""" + + response_loaded_json = json.loads(response_body_json) + response_from_json = thousandeyes_sdk.event_detection.models.EventDetail.from_json(response_body_json) + assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) + + def test_get_events_models_validation(self) -> None: + """Test case for get_events request and response models""" + + response_body_json = """ + { + "endDate" : "2022-07-18T22:00:54Z", + "_links" : { + "next" : { + "hreflang" : "hreflang", + "templated" : true, + "profile" : "profile", + "name" : "name", + "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", + "type" : "type", + "deprecation" : "deprecation", + "title" : "title" + }, + "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" + } + }, + "aid" : "1234", + "startDate" : "2022-07-17T22:00:54Z", + "events" : [ { + "severity" : "medium", + "affectedTests" : { + "total" : 5, + "inAccountGroup" : 2 + }, + "endDate" : "2020-04-23T13:43:16Z", + "_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" + } + }, + "affectedAgents" : { + "total" : 5, + "inAccountGroup" : 2 + }, + "typeName" : "Network Issue", + "id" : "e9c3bf02-a48c-4aa8-9e5f-898800d6f569", + "state" : "resolved", + "title" : "Affecting destinations in google.com", + "type" : "target", + "affectedTargets" : { + "total" : 5, + "inAccountGroup" : 2 + }, + "startDate" : "2020-04-23T13:43:16Z" + }, { + "severity" : "medium", + "affectedTests" : { + "total" : 5, + "inAccountGroup" : 2 + }, + "endDate" : "2020-04-23T13:43:16Z", + "_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" + } + }, + "affectedAgents" : { + "total" : 5, + "inAccountGroup" : 2 + }, + "typeName" : "Network Issue", + "id" : "e9c3bf02-a48c-4aa8-9e5f-898800d6f569", + "state" : "resolved", + "title" : "Affecting destinations in google.com", + "type" : "target", + "affectedTargets" : { + "total" : 5, + "inAccountGroup" : 2 + }, + "startDate" : "2020-04-23T13:43:16Z" + } ] + }""" + + response_loaded_json = json.loads(response_body_json) + response_from_json = thousandeyes_sdk.event_detection.models.Events.from_json(response_body_json) + assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) + + +if __name__ == '__main__': + unittest.main() diff --git a/thousandeyes-sdk-event-detection/test/test_utils.py b/thousandeyes-sdk-event-detection/test/test_utils.py new file mode 100644 index 00000000..930528d9 --- /dev/null +++ b/thousandeyes-sdk-event-detection/test/test_utils.py @@ -0,0 +1,16 @@ +# coding: utf-8 + +import json +import unittest + +from pydantic import BaseModel + + +def assert_constructed_model_matches_example_json(model: BaseModel, loaded_json: dict): + test_case = unittest.TestCase() + test_case.maxDiff = None + test_case.assertIsNotNone(model) + constructed_json = json.loads(model.to_json()) + sorted_loaded_json = json.dumps(loaded_json, sort_keys=True) + sorted_constructed_json = json.dumps(constructed_json, sort_keys=True) + test_case.assertEqual(sorted_loaded_json, sorted_constructed_json) diff --git a/thousandeyes-sdk-instant-tests/.openapi-generator/FILES b/thousandeyes-sdk-instant-tests/.openapi-generator/FILES index c5e9934c..a988ef14 100644 --- a/thousandeyes-sdk-instant-tests/.openapi-generator/FILES +++ b/thousandeyes-sdk-instant-tests/.openapi-generator/FILES @@ -1,20 +1,24 @@ .openapi-generator-ignore MANIFEST.in README.md -docs/APIApi.md -docs/Agent.md +docs/APIInstantTestsApi.md docs/AgentBase.md -docs/AgentToAgentApi.md +docs/AgentInterfaces.md +docs/AgentResponse.md docs/AgentToAgentInstantTest.md docs/AgentToAgentInstantTestRequest.md +docs/AgentToAgentInstantTestResponse.md +docs/AgentToAgentInstantTestsApi.md docs/AgentToAgentProperties.md docs/AgentToAgentTestProtocol.md -docs/AgentToServerApi.md docs/AgentToServerInstantTest.md docs/AgentToServerInstantTestRequest.md +docs/AgentToServerInstantTestResponse.md +docs/AgentToServerInstantTestsApi.md docs/AgentToServerProperties.md docs/ApiInstantTest.md docs/ApiInstantTestRequest.md +docs/ApiInstantTestResponse.md docs/ApiPredefinedVariable.md docs/ApiProperties.md docs/ApiRequest.md @@ -26,45 +30,53 @@ docs/ApiRequestHeader.md docs/ApiRequestMethod.md docs/ApiRequestVariable.md docs/CloudEnterpriseAgentType.md -docs/DNSSecurityApi.md -docs/DNSServerApi.md -docs/DNSTraceApi.md +docs/DNSSECInstantTestsApi.md +docs/DNSServerInstantTestsApi.md +docs/DNSTraceInstantTestsApi.md docs/DnsQueryClass.md docs/DnsSecInstantTest.md docs/DnsSecInstantTestRequest.md +docs/DnsSecInstantTestResponse.md docs/DnsSecProperties.md docs/DnsServerInstantTest.md docs/DnsServerInstantTestRequest.md +docs/DnsServerInstantTestResponse.md docs/DnsServerProperties.md docs/DnsServersRequest.md docs/DnsTraceInstantTest.md docs/DnsTraceInstantTestRequest.md +docs/DnsTraceInstantTestResponse.md docs/DnsTraceProperties.md docs/Error.md -docs/Expand.md -docs/FTPServerApi.md +docs/ExpandInstantTestOptions.md +docs/FTPServerInstantTestsApi.md docs/FtpServerInstantTest.md +docs/FtpServerInstantTestRequest.md +docs/FtpServerInstantTestResponse.md docs/FtpServerProperties.md docs/FtpServerRequestType.md -docs/HTTPPageLoadApi.md -docs/HTTPServerApi.md +docs/HTTPPageLoadInstantTestsApi.md +docs/HTTPServerInstantTestsApi.md +docs/HttpServerBaseProperties.md docs/HttpServerInstantTest.md docs/HttpServerInstantTestRequest.md +docs/HttpServerInstantTestResponse.md docs/HttpServerProperties.md docs/InstantTest.md docs/InstantTestRequest.md +docs/InstantTestsApi.md docs/Link.md +docs/OAuth.md docs/PageLoadInstantTest.md docs/PageLoadInstantTestRequest.md +docs/PageLoadInstantTestResponse.md docs/PageLoadProperties.md -docs/RunApi.md -docs/SIPServerApi.md -docs/ServerInstantTestRequest.md +docs/RequestMethod.md +docs/SIPServerInstantTestsApi.md docs/SharedWithAccount.md docs/SimpleAgent.md docs/SipServerInstantTest.md docs/SipServerInstantTestRequest.md -docs/SipServerInstantTestRequest1.md docs/SipServerInstantTestResponse.md docs/SipServerProperties.md docs/SipTestProtocol.md @@ -90,43 +102,49 @@ docs/UnauthorizedError.md docs/UnexpandedInstantTest.md docs/ValidationError.md docs/ValidationErrorItem.md -docs/VoiceApi.md docs/VoiceInstantTest.md docs/VoiceInstantTestRequest.md +docs/VoiceInstantTestResponse.md +docs/VoiceInstantTestsApi.md docs/VoiceProperties.md -docs/WebTransactionApi.md docs/WebTransactionInstantTest.md docs/WebTransactionInstantTestRequest.md +docs/WebTransactionInstantTestResponse.md +docs/WebTransactionInstantTestsApi.md docs/WebTransactionProperties.md pyproject.toml setup.cfg src/thousandeyes_sdk/instant_tests/__init__.py src/thousandeyes_sdk/instant_tests/api/__init__.py -src/thousandeyes_sdk/instant_tests/api/agent_to_agent_api.py -src/thousandeyes_sdk/instant_tests/api/agent_to_server_api.py -src/thousandeyes_sdk/instant_tests/api/api_api.py -src/thousandeyes_sdk/instant_tests/api/dns_security_api.py -src/thousandeyes_sdk/instant_tests/api/dns_server_api.py -src/thousandeyes_sdk/instant_tests/api/dns_trace_api.py -src/thousandeyes_sdk/instant_tests/api/ftp_server_api.py -src/thousandeyes_sdk/instant_tests/api/http_page_load_api.py -src/thousandeyes_sdk/instant_tests/api/http_server_api.py -src/thousandeyes_sdk/instant_tests/api/run_api.py -src/thousandeyes_sdk/instant_tests/api/sip_server_api.py -src/thousandeyes_sdk/instant_tests/api/voice_api.py -src/thousandeyes_sdk/instant_tests/api/web_transaction_api.py +src/thousandeyes_sdk/instant_tests/api/agent_to_agent_instant_tests_api.py +src/thousandeyes_sdk/instant_tests/api/agent_to_server_instant_tests_api.py +src/thousandeyes_sdk/instant_tests/api/api_instant_tests_api.py +src/thousandeyes_sdk/instant_tests/api/dns_server_instant_tests_api.py +src/thousandeyes_sdk/instant_tests/api/dns_trace_instant_tests_api.py +src/thousandeyes_sdk/instant_tests/api/dnssec_instant_tests_api.py +src/thousandeyes_sdk/instant_tests/api/ftp_server_instant_tests_api.py +src/thousandeyes_sdk/instant_tests/api/http_page_load_instant_tests_api.py +src/thousandeyes_sdk/instant_tests/api/http_server_instant_tests_api.py +src/thousandeyes_sdk/instant_tests/api/instant_tests_api.py +src/thousandeyes_sdk/instant_tests/api/sip_server_instant_tests_api.py +src/thousandeyes_sdk/instant_tests/api/voice_instant_tests_api.py +src/thousandeyes_sdk/instant_tests/api/web_transaction_instant_tests_api.py src/thousandeyes_sdk/instant_tests/models/__init__.py -src/thousandeyes_sdk/instant_tests/models/agent.py src/thousandeyes_sdk/instant_tests/models/agent_base.py +src/thousandeyes_sdk/instant_tests/models/agent_interfaces.py +src/thousandeyes_sdk/instant_tests/models/agent_response.py src/thousandeyes_sdk/instant_tests/models/agent_to_agent_instant_test.py src/thousandeyes_sdk/instant_tests/models/agent_to_agent_instant_test_request.py +src/thousandeyes_sdk/instant_tests/models/agent_to_agent_instant_test_response.py src/thousandeyes_sdk/instant_tests/models/agent_to_agent_properties.py src/thousandeyes_sdk/instant_tests/models/agent_to_agent_test_protocol.py src/thousandeyes_sdk/instant_tests/models/agent_to_server_instant_test.py src/thousandeyes_sdk/instant_tests/models/agent_to_server_instant_test_request.py +src/thousandeyes_sdk/instant_tests/models/agent_to_server_instant_test_response.py src/thousandeyes_sdk/instant_tests/models/agent_to_server_properties.py src/thousandeyes_sdk/instant_tests/models/api_instant_test.py src/thousandeyes_sdk/instant_tests/models/api_instant_test_request.py +src/thousandeyes_sdk/instant_tests/models/api_instant_test_response.py src/thousandeyes_sdk/instant_tests/models/api_predefined_variable.py src/thousandeyes_sdk/instant_tests/models/api_properties.py src/thousandeyes_sdk/instant_tests/models/api_request.py @@ -141,34 +159,42 @@ src/thousandeyes_sdk/instant_tests/models/cloud_enterprise_agent_type.py src/thousandeyes_sdk/instant_tests/models/dns_query_class.py src/thousandeyes_sdk/instant_tests/models/dns_sec_instant_test.py src/thousandeyes_sdk/instant_tests/models/dns_sec_instant_test_request.py +src/thousandeyes_sdk/instant_tests/models/dns_sec_instant_test_response.py src/thousandeyes_sdk/instant_tests/models/dns_sec_properties.py src/thousandeyes_sdk/instant_tests/models/dns_server_instant_test.py src/thousandeyes_sdk/instant_tests/models/dns_server_instant_test_request.py +src/thousandeyes_sdk/instant_tests/models/dns_server_instant_test_response.py src/thousandeyes_sdk/instant_tests/models/dns_server_properties.py src/thousandeyes_sdk/instant_tests/models/dns_servers_request.py src/thousandeyes_sdk/instant_tests/models/dns_trace_instant_test.py src/thousandeyes_sdk/instant_tests/models/dns_trace_instant_test_request.py +src/thousandeyes_sdk/instant_tests/models/dns_trace_instant_test_response.py src/thousandeyes_sdk/instant_tests/models/dns_trace_properties.py src/thousandeyes_sdk/instant_tests/models/error.py -src/thousandeyes_sdk/instant_tests/models/expand.py +src/thousandeyes_sdk/instant_tests/models/expand_instant_test_options.py src/thousandeyes_sdk/instant_tests/models/ftp_server_instant_test.py +src/thousandeyes_sdk/instant_tests/models/ftp_server_instant_test_request.py +src/thousandeyes_sdk/instant_tests/models/ftp_server_instant_test_response.py src/thousandeyes_sdk/instant_tests/models/ftp_server_properties.py src/thousandeyes_sdk/instant_tests/models/ftp_server_request_type.py +src/thousandeyes_sdk/instant_tests/models/http_server_base_properties.py src/thousandeyes_sdk/instant_tests/models/http_server_instant_test.py src/thousandeyes_sdk/instant_tests/models/http_server_instant_test_request.py +src/thousandeyes_sdk/instant_tests/models/http_server_instant_test_response.py src/thousandeyes_sdk/instant_tests/models/http_server_properties.py src/thousandeyes_sdk/instant_tests/models/instant_test.py src/thousandeyes_sdk/instant_tests/models/instant_test_request.py src/thousandeyes_sdk/instant_tests/models/link.py +src/thousandeyes_sdk/instant_tests/models/o_auth.py src/thousandeyes_sdk/instant_tests/models/page_load_instant_test.py src/thousandeyes_sdk/instant_tests/models/page_load_instant_test_request.py +src/thousandeyes_sdk/instant_tests/models/page_load_instant_test_response.py src/thousandeyes_sdk/instant_tests/models/page_load_properties.py -src/thousandeyes_sdk/instant_tests/models/server_instant_test_request.py +src/thousandeyes_sdk/instant_tests/models/request_method.py src/thousandeyes_sdk/instant_tests/models/shared_with_account.py src/thousandeyes_sdk/instant_tests/models/simple_agent.py src/thousandeyes_sdk/instant_tests/models/sip_server_instant_test.py src/thousandeyes_sdk/instant_tests/models/sip_server_instant_test_request.py -src/thousandeyes_sdk/instant_tests/models/sip_server_instant_test_request1.py src/thousandeyes_sdk/instant_tests/models/sip_server_instant_test_response.py src/thousandeyes_sdk/instant_tests/models/sip_server_properties.py src/thousandeyes_sdk/instant_tests/models/sip_test_protocol.py @@ -196,23 +222,25 @@ src/thousandeyes_sdk/instant_tests/models/validation_error.py src/thousandeyes_sdk/instant_tests/models/validation_error_item.py src/thousandeyes_sdk/instant_tests/models/voice_instant_test.py src/thousandeyes_sdk/instant_tests/models/voice_instant_test_request.py +src/thousandeyes_sdk/instant_tests/models/voice_instant_test_response.py src/thousandeyes_sdk/instant_tests/models/voice_properties.py src/thousandeyes_sdk/instant_tests/models/web_transaction_instant_test.py src/thousandeyes_sdk/instant_tests/models/web_transaction_instant_test_request.py +src/thousandeyes_sdk/instant_tests/models/web_transaction_instant_test_response.py src/thousandeyes_sdk/instant_tests/models/web_transaction_properties.py src/thousandeyes_sdk/instant_tests/py.typed test/__init__.py -test/test_agent_to_agent_api.py -test/test_agent_to_server_api.py -test/test_api_api.py -test/test_dns_security_api.py -test/test_dns_server_api.py -test/test_dns_trace_api.py -test/test_ftp_server_api.py -test/test_http_page_load_api.py -test/test_http_server_api.py -test/test_run_api.py -test/test_sip_server_api.py +test/test_agent_to_agent_instant_tests_api.py +test/test_agent_to_server_instant_tests_api.py +test/test_api_instant_tests_api.py +test/test_dns_server_instant_tests_api.py +test/test_dns_trace_instant_tests_api.py +test/test_dnssec_instant_tests_api.py +test/test_ftp_server_instant_tests_api.py +test/test_http_page_load_instant_tests_api.py +test/test_http_server_instant_tests_api.py +test/test_instant_tests_api.py +test/test_sip_server_instant_tests_api.py test/test_utils.py -test/test_voice_api.py -test/test_web_transaction_api.py +test/test_voice_instant_tests_api.py +test/test_web_transaction_instant_tests_api.py diff --git a/thousandeyes-sdk-instant-tests/README.md b/thousandeyes-sdk-instant-tests/README.md index dd25fc1c..e00eb7a0 100644 --- a/thousandeyes-sdk-instant-tests/README.md +++ b/thousandeyes-sdk-instant-tests/README.md @@ -1,5 +1,5 @@ # thousandeyes-sdk-instant-tests -The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: +The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` @@ -8,7 +8,7 @@ The response does not include the immediate test results. Use the Test Results e This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 7.0.8 +- API version: 7.0.20 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator @@ -60,10 +60,10 @@ import thousandeyes_sdk.instant_tests from thousandeyes_sdk.core.exceptions import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -80,55 +80,59 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.core.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.instant_tests.APIApi(api_client) + api_instance = thousandeyes_sdk.instant_tests.APIInstantTestsApi(api_client) api_instant_test_request = thousandeyes_sdk.instant_tests.ApiInstantTestRequest() # ApiInstantTestRequest | 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.instant_tests.Expand()] # List[Expand] | (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. (optional) + expand = [thousandeyes_sdk.instant_tests.ExpandInstantTestOptions()] # List[ExpandInstantTestOptions] | (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. (optional) try: # Create API instant test api_response = api_instance.create_api_instant_test(api_instant_test_request, aid=aid, expand=expand) - print("The response of APIApi->create_api_instant_test:\n") + print("The response of APIInstantTestsApi->create_api_instant_test:\n") pprint(api_response) except ApiException as e: - print("Exception when calling APIApi->create_api_instant_test: %s\n" % e) + print("Exception when calling APIInstantTestsApi->create_api_instant_test: %s\n" % e) ``` ## Documentation for API Endpoints -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- -*APIApi* | [**create_api_instant_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/APIApi.md#create_api_instant_test) | **POST** /v7/tests/api/instant | Create API instant test -*AgentToAgentApi* | [**create_agent_to_agent_instant_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/AgentToAgentApi.md#create_agent_to_agent_instant_test) | **POST** /v7/tests/agent-to-agent/instant | Create agent-to-agent instant test -*AgentToServerApi* | [**create_agent_to_server_instant_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/AgentToServerApi.md#create_agent_to_server_instant_test) | **POST** /v7/tests/agent-to-server/instant | Create agent-to-server instant test -*DNSSecurityApi* | [**create_dns_sec_instant_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/DNSSecurityApi.md#create_dns_sec_instant_test) | **POST** /v7/tests/dnssec/instant | Create DNS security instant test -*DNSServerApi* | [**create_dns_server_instant_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/DNSServerApi.md#create_dns_server_instant_test) | **POST** /v7/tests/dns-server/instant | Create DNS server instant test -*DNSTraceApi* | [**create_dns_trace_instant_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/DNSTraceApi.md#create_dns_trace_instant_test) | **POST** /v7/tests/dns-trace/instant | Create DNS trace instant test -*FTPServerApi* | [**create_ftp_server_instant_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/FTPServerApi.md#create_ftp_server_instant_test) | **POST** /v7/tests/ftp-server/instant | Create FTP server instant test -*HTTPPageLoadApi* | [**create_page_load_instant_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/HTTPPageLoadApi.md#create_page_load_instant_test) | **POST** /v7/tests/page-load/instant | Create HTTP page load instant test -*HTTPServerApi* | [**create_http_server_instant_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/HTTPServerApi.md#create_http_server_instant_test) | **POST** /v7/tests/http-server/instant | Create HTTP server instant test -*RunApi* | [**run_instant_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/RunApi.md#run_instant_test) | **POST** /v7/tests/{testId}/run | Run instant test -*SIPServerApi* | [**create_sip_server_instant_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/SIPServerApi.md#create_sip_server_instant_test) | **POST** /v7/tests/sip-server/instant | Create SIP server instant test -*VoiceApi* | [**create_voice_instant_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/VoiceApi.md#create_voice_instant_test) | **POST** /v7/tests/voice/instant | Create voice instant test -*WebTransactionApi* | [**create_web_transaction_instant_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/WebTransactionApi.md#create_web_transaction_instant_test) | **POST** /v7/tests/web-transactions/instant | Create web transactions instant test +*APIInstantTestsApi* | [**create_api_instant_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/APIInstantTestsApi.md#create_api_instant_test) | **POST** /tests/api/instant | Create API instant test +*AgentToAgentInstantTestsApi* | [**create_agent_to_agent_instant_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/AgentToAgentInstantTestsApi.md#create_agent_to_agent_instant_test) | **POST** /tests/agent-to-agent/instant | Create agent-to-agent instant test +*AgentToServerInstantTestsApi* | [**create_agent_to_server_instant_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/AgentToServerInstantTestsApi.md#create_agent_to_server_instant_test) | **POST** /tests/agent-to-server/instant | Create agent-to-server instant test +*DNSSECInstantTestsApi* | [**create_dns_sec_instant_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/DNSSECInstantTestsApi.md#create_dns_sec_instant_test) | **POST** /tests/dnssec/instant | Create DNSSEC instant test +*DNSServerInstantTestsApi* | [**create_dns_server_instant_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/DNSServerInstantTestsApi.md#create_dns_server_instant_test) | **POST** /tests/dns-server/instant | Create DNS server instant test +*DNSTraceInstantTestsApi* | [**create_dns_trace_instant_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/DNSTraceInstantTestsApi.md#create_dns_trace_instant_test) | **POST** /tests/dns-trace/instant | Create DNS trace instant test +*FTPServerInstantTestsApi* | [**create_ftp_server_instant_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/FTPServerInstantTestsApi.md#create_ftp_server_instant_test) | **POST** /tests/ftp-server/instant | Create FTP server instant test +*HTTPPageLoadInstantTestsApi* | [**create_page_load_instant_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/HTTPPageLoadInstantTestsApi.md#create_page_load_instant_test) | **POST** /tests/page-load/instant | Create HTTP page load instant test +*HTTPServerInstantTestsApi* | [**create_http_server_instant_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/HTTPServerInstantTestsApi.md#create_http_server_instant_test) | **POST** /tests/http-server/instant | Create HTTP server instant test +*InstantTestsApi* | [**run_instant_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/InstantTestsApi.md#run_instant_test) | **POST** /tests/{testId}/run | Run instant test +*SIPServerInstantTestsApi* | [**create_sip_server_instant_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/SIPServerInstantTestsApi.md#create_sip_server_instant_test) | **POST** /tests/sip-server/instant | Create SIP server instant test +*VoiceInstantTestsApi* | [**create_voice_instant_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/VoiceInstantTestsApi.md#create_voice_instant_test) | **POST** /tests/voice/instant | Create voice instant test +*WebTransactionInstantTestsApi* | [**create_web_transaction_instant_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/WebTransactionInstantTestsApi.md#create_web_transaction_instant_test) | **POST** /tests/web-transactions/instant | Create web transactions instant test ## Documentation For Models - - [Agent](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/Agent.md) - [AgentBase](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/AgentBase.md) + - [AgentInterfaces](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/AgentInterfaces.md) + - [AgentResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/AgentResponse.md) - [AgentToAgentInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/AgentToAgentInstantTest.md) - [AgentToAgentInstantTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/AgentToAgentInstantTestRequest.md) + - [AgentToAgentInstantTestResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/AgentToAgentInstantTestResponse.md) - [AgentToAgentProperties](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/AgentToAgentProperties.md) - [AgentToAgentTestProtocol](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/AgentToAgentTestProtocol.md) - [AgentToServerInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/AgentToServerInstantTest.md) - [AgentToServerInstantTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/AgentToServerInstantTestRequest.md) + - [AgentToServerInstantTestResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/AgentToServerInstantTestResponse.md) - [AgentToServerProperties](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/AgentToServerProperties.md) - [ApiInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/ApiInstantTest.md) - [ApiInstantTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/ApiInstantTestRequest.md) + - [ApiInstantTestResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/ApiInstantTestResponse.md) - [ApiPredefinedVariable](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/ApiPredefinedVariable.md) - [ApiProperties](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/ApiProperties.md) - [ApiRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/ApiRequest.md) @@ -143,34 +147,42 @@ Class | Method | HTTP request | Description - [DnsQueryClass](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/DnsQueryClass.md) - [DnsSecInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/DnsSecInstantTest.md) - [DnsSecInstantTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/DnsSecInstantTestRequest.md) + - [DnsSecInstantTestResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/DnsSecInstantTestResponse.md) - [DnsSecProperties](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/DnsSecProperties.md) - [DnsServerInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/DnsServerInstantTest.md) - [DnsServerInstantTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/DnsServerInstantTestRequest.md) + - [DnsServerInstantTestResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/DnsServerInstantTestResponse.md) - [DnsServerProperties](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/DnsServerProperties.md) - [DnsServersRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/DnsServersRequest.md) - [DnsTraceInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/DnsTraceInstantTest.md) - [DnsTraceInstantTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/DnsTraceInstantTestRequest.md) + - [DnsTraceInstantTestResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/DnsTraceInstantTestResponse.md) - [DnsTraceProperties](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/DnsTraceProperties.md) - [Error](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/Error.md) - - [Expand](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/Expand.md) + - [ExpandInstantTestOptions](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/ExpandInstantTestOptions.md) - [FtpServerInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/FtpServerInstantTest.md) + - [FtpServerInstantTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/FtpServerInstantTestRequest.md) + - [FtpServerInstantTestResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/FtpServerInstantTestResponse.md) - [FtpServerProperties](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/FtpServerProperties.md) - [FtpServerRequestType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/FtpServerRequestType.md) + - [HttpServerBaseProperties](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/HttpServerBaseProperties.md) - [HttpServerInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/HttpServerInstantTest.md) - [HttpServerInstantTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/HttpServerInstantTestRequest.md) + - [HttpServerInstantTestResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/HttpServerInstantTestResponse.md) - [HttpServerProperties](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/HttpServerProperties.md) - [InstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/InstantTest.md) - [InstantTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/InstantTestRequest.md) - [Link](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/Link.md) + - [OAuth](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/OAuth.md) - [PageLoadInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/PageLoadInstantTest.md) - [PageLoadInstantTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/PageLoadInstantTestRequest.md) + - [PageLoadInstantTestResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/PageLoadInstantTestResponse.md) - [PageLoadProperties](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/PageLoadProperties.md) - - [ServerInstantTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/ServerInstantTestRequest.md) + - [RequestMethod](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/RequestMethod.md) - [SharedWithAccount](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/SharedWithAccount.md) - [SimpleAgent](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/SimpleAgent.md) - [SipServerInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/SipServerInstantTest.md) - [SipServerInstantTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/SipServerInstantTestRequest.md) - - [SipServerInstantTestRequest1](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/SipServerInstantTestRequest1.md) - [SipServerInstantTestResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/SipServerInstantTestResponse.md) - [SipServerProperties](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/SipServerProperties.md) - [SipTestProtocol](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/SipTestProtocol.md) @@ -198,9 +210,11 @@ Class | Method | HTTP request | Description - [ValidationErrorItem](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/ValidationErrorItem.md) - [VoiceInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/VoiceInstantTest.md) - [VoiceInstantTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/VoiceInstantTestRequest.md) + - [VoiceInstantTestResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/VoiceInstantTestResponse.md) - [VoiceProperties](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/VoiceProperties.md) - [WebTransactionInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/WebTransactionInstantTest.md) - [WebTransactionInstantTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/WebTransactionInstantTestRequest.md) + - [WebTransactionInstantTestResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/WebTransactionInstantTestResponse.md) - [WebTransactionProperties](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-instant-tests/docs/WebTransactionProperties.md) diff --git a/thousandeyes-sdk-instant-tests/docs/APIApi.md b/thousandeyes-sdk-instant-tests/docs/APIInstantTestsApi.md similarity index 69% rename from thousandeyes-sdk-instant-tests/docs/APIApi.md rename to thousandeyes-sdk-instant-tests/docs/APIInstantTestsApi.md index fcb6080b..6b326ba0 100644 --- a/thousandeyes-sdk-instant-tests/docs/APIApi.md +++ b/thousandeyes-sdk-instant-tests/docs/APIInstantTestsApi.md @@ -1,14 +1,14 @@ -# thousandeyes_sdk.instant_tests.APIApi +# thousandeyes_sdk.instant_tests.APIInstantTestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_api_instant_test**](APIApi.md#create_api_instant_test) | **POST** /v7/tests/api/instant | Create API instant test +[**create_api_instant_test**](APIInstantTestsApi.md#create_api_instant_test) | **POST** /tests/api/instant | Create API instant test # **create_api_instant_test** -> ApiInstantTest create_api_instant_test(api_instant_test_request, aid=aid, expand=expand) +> ApiInstantTestResponse create_api_instant_test(api_instant_test_request, aid=aid, expand=expand) Create API instant test @@ -20,16 +20,16 @@ Creates and runs a new API instant test. ```python import thousandeyes_sdk.instant_tests -from thousandeyes_sdk.instant_tests.models.api_instant_test import ApiInstantTest from thousandeyes_sdk.instant_tests.models.api_instant_test_request import ApiInstantTestRequest -from thousandeyes_sdk.instant_tests.models.expand import Expand +from thousandeyes_sdk.instant_tests.models.api_instant_test_response import ApiInstantTestResponse +from thousandeyes_sdk.instant_tests.models.expand_instant_test_options import ExpandInstantTestOptions from thousandeyes_sdk.instant_tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -45,18 +45,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.instant_tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.instant_tests.APIApi(api_client) + api_instance = thousandeyes_sdk.instant_tests.APIInstantTestsApi(api_client) api_instant_test_request = thousandeyes_sdk.instant_tests.ApiInstantTestRequest() # ApiInstantTestRequest | 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.instant_tests.Expand()] # List[Expand] | (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. (optional) + expand = [thousandeyes_sdk.instant_tests.ExpandInstantTestOptions()] # List[ExpandInstantTestOptions] | (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. (optional) try: # Create API instant test api_response = api_instance.create_api_instant_test(api_instant_test_request, aid=aid, expand=expand) - print("The response of APIApi->create_api_instant_test:\n") + print("The response of APIInstantTestsApi->create_api_instant_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling APIApi->create_api_instant_test: %s\n" % e) + print("Exception when calling APIInstantTestsApi->create_api_instant_test: %s\n" % e) ``` @@ -68,11 +68,11 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **api_instant_test_request** | [**ApiInstantTestRequest**](ApiInstantTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. | [optional] + **expand** | [**List[ExpandInstantTestOptions]**](ExpandInstantTestOptions.md)| (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. | [optional] ### Return type -[**ApiInstantTest**](ApiInstantTest.md) +[**ApiInstantTestResponse**](ApiInstantTestResponse.md) ### Authorization diff --git a/thousandeyes-sdk-instant-tests/docs/AgentInterfaces.md b/thousandeyes-sdk-instant-tests/docs/AgentInterfaces.md new file mode 100644 index 00000000..ba933191 --- /dev/null +++ b/thousandeyes-sdk-instant-tests/docs/AgentInterfaces.md @@ -0,0 +1,30 @@ +# AgentInterfaces + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ip_address** | **str** | IP address of the agent interface. | [optional] +**agent_id** | **str** | The agent ID of the enterprise agent for the test. | [optional] + +## Example + +```python +from thousandeyes_sdk.instant_tests.models.agent_interfaces import AgentInterfaces + +# TODO update the JSON string below +json = "{}" +# create an instance of AgentInterfaces from a JSON string +agent_interfaces_instance = AgentInterfaces.from_json(json) +# print the JSON string representation of the object +print(AgentInterfaces.to_json()) + +# convert the object into a dict +agent_interfaces_dict = agent_interfaces_instance.to_dict() +# create an instance of AgentInterfaces from a dict +agent_interfaces_from_dict = AgentInterfaces.from_dict(agent_interfaces_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) + + diff --git a/thousandeyes-sdk-instant-tests/docs/Agent.md b/thousandeyes-sdk-instant-tests/docs/AgentResponse.md similarity index 77% rename from thousandeyes-sdk-instant-tests/docs/Agent.md rename to thousandeyes-sdk-instant-tests/docs/AgentResponse.md index 646dc6f9..9753405c 100644 --- a/thousandeyes-sdk-instant-tests/docs/Agent.md +++ b/thousandeyes-sdk-instant-tests/docs/AgentResponse.md @@ -1,4 +1,4 @@ -# Agent +# AgentResponse ## Properties @@ -20,19 +20,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.instant_tests.models.agent import Agent +from thousandeyes_sdk.instant_tests.models.agent_response import AgentResponse # TODO update the JSON string below json = "{}" -# create an instance of Agent from a JSON string -agent_instance = Agent.from_json(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(Agent.to_json()) +print(AgentResponse.to_json()) # convert the object into a dict -agent_dict = agent_instance.to_dict() -# create an instance of Agent from a dict -agent_from_dict = Agent.from_dict(agent_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) diff --git a/thousandeyes-sdk-instant-tests/docs/AgentToAgentInstantTest.md b/thousandeyes-sdk-instant-tests/docs/AgentToAgentInstantTest.md index 242c073c..e48f718c 100644 --- a/thousandeyes-sdk-instant-tests/docs/AgentToAgentInstantTest.md +++ b/thousandeyes-sdk-instant-tests/docs/AgentToAgentInstantTest.md @@ -31,7 +31,6 @@ Name | Type | Description | Notes **throughput_duration** | **int** | The throughput duration. | [optional] [default to 10000] **throughput_rate** | **int** | The throughput rate, only applicable for UDP protocol. | [optional] **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-tests/docs/SipServerInstantTestRequest.md b/thousandeyes-sdk-instant-tests/docs/AgentToAgentInstantTestResponse.md similarity index 53% rename from thousandeyes-sdk-tests/docs/SipServerInstantTestRequest.md rename to thousandeyes-sdk-instant-tests/docs/AgentToAgentInstantTestResponse.md index c40f45d5..ffe2cd6d 100644 --- a/thousandeyes-sdk-tests/docs/SipServerInstantTestRequest.md +++ b/thousandeyes-sdk-instant-tests/docs/AgentToAgentInstantTestResponse.md @@ -1,4 +1,4 @@ -# SipServerInstantTestRequest +# AgentToAgentInstantTestResponse ## Properties @@ -18,36 +18,37 @@ Name | Type | Description | Notes **links** | [**TestLinks**](TestLinks.md) | | [optional] **labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] **shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] -**mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] -**network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] +**direction** | [**TestDirection**](TestDirection.md) | | [optional] +**dscp** | **str** | DSCP label. | [optional] [readonly] +**dscp_id** | [**TestDscpId**](TestDscpId.md) | | [optional] +**mss** | **int** | Maximum segment size, in bytes. | [optional] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] -**options_regex** | **str** | Options regex, this field does not require escaping. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] -**probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] -**register_enabled** | **bool** | Set to true to perform SIP registration on the test target with the SIP REGISTER command. | [optional] [default to False] -**sip_target_time** | **int** | Target time for test completion in milliseconds. | [optional] -**sip_time_limit** | **int** | Time limit in milliseconds. | [optional] [default to 5] +**port** | **int** | Target port. | [optional] [default to 49153] +**protocol** | [**AgentToAgentTestProtocol**](AgentToAgentTestProtocol.md) | | [optional] +**target_agent_id** | **str** | `agentId` of the target agent for the test. | +**throughput_measurements** | **bool** | Enable or disable throughput measurements. Throughput measurements cannot be enabled when the source or target of the test is a cloud agent. | [optional] [default to False] +**throughput_duration** | **int** | The throughput duration. | [optional] [default to 10000] +**throughput_rate** | **int** | The throughput rate, only applicable for UDP protocol. | [optional] **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] -**ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] -**target_sip_credentials** | [**TestSipCredentials**](TestSipCredentials.md) | | +**agents** | [**List[AgentResponse]**](AgentResponse.md) | Contains list of agents. | [optional] ## Example ```python -from thousandeyes_sdk.tests.models.sip_server_instant_test_request import SipServerInstantTestRequest +from thousandeyes_sdk.instant_tests.models.agent_to_agent_instant_test_response import AgentToAgentInstantTestResponse # TODO update the JSON string below json = "{}" -# create an instance of SipServerInstantTestRequest from a JSON string -sip_server_instant_test_request_instance = SipServerInstantTestRequest.from_json(json) +# create an instance of AgentToAgentInstantTestResponse from a JSON string +agent_to_agent_instant_test_response_instance = AgentToAgentInstantTestResponse.from_json(json) # print the JSON string representation of the object -print(SipServerInstantTestRequest.to_json()) +print(AgentToAgentInstantTestResponse.to_json()) # convert the object into a dict -sip_server_instant_test_request_dict = sip_server_instant_test_request_instance.to_dict() -# create an instance of SipServerInstantTestRequest from a dict -sip_server_instant_test_request_from_dict = SipServerInstantTestRequest.from_dict(sip_server_instant_test_request_dict) +agent_to_agent_instant_test_response_dict = agent_to_agent_instant_test_response_instance.to_dict() +# create an instance of AgentToAgentInstantTestResponse from a dict +agent_to_agent_instant_test_response_from_dict = AgentToAgentInstantTestResponse.from_dict(agent_to_agent_instant_test_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) diff --git a/thousandeyes-sdk-instant-tests/docs/AgentToAgentApi.md b/thousandeyes-sdk-instant-tests/docs/AgentToAgentInstantTestsApi.md similarity index 68% rename from thousandeyes-sdk-instant-tests/docs/AgentToAgentApi.md rename to thousandeyes-sdk-instant-tests/docs/AgentToAgentInstantTestsApi.md index f7cacd81..b64e8787 100644 --- a/thousandeyes-sdk-instant-tests/docs/AgentToAgentApi.md +++ b/thousandeyes-sdk-instant-tests/docs/AgentToAgentInstantTestsApi.md @@ -1,14 +1,14 @@ -# thousandeyes_sdk.instant_tests.AgentToAgentApi +# thousandeyes_sdk.instant_tests.AgentToAgentInstantTestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_agent_to_agent_instant_test**](AgentToAgentApi.md#create_agent_to_agent_instant_test) | **POST** /v7/tests/agent-to-agent/instant | Create agent-to-agent instant test +[**create_agent_to_agent_instant_test**](AgentToAgentInstantTestsApi.md#create_agent_to_agent_instant_test) | **POST** /tests/agent-to-agent/instant | Create agent-to-agent instant test # **create_agent_to_agent_instant_test** -> AgentToAgentInstantTest create_agent_to_agent_instant_test(agent_to_agent_instant_test_request, aid=aid, expand=expand) +> AgentToAgentInstantTestResponse create_agent_to_agent_instant_test(agent_to_agent_instant_test_request, aid=aid, expand=expand) Create agent-to-agent instant test @@ -20,16 +20,16 @@ Creates and runs a new agent-to-agent instant test. ```python import thousandeyes_sdk.instant_tests -from thousandeyes_sdk.instant_tests.models.agent_to_agent_instant_test import AgentToAgentInstantTest from thousandeyes_sdk.instant_tests.models.agent_to_agent_instant_test_request import AgentToAgentInstantTestRequest -from thousandeyes_sdk.instant_tests.models.expand import Expand +from thousandeyes_sdk.instant_tests.models.agent_to_agent_instant_test_response import AgentToAgentInstantTestResponse +from thousandeyes_sdk.instant_tests.models.expand_instant_test_options import ExpandInstantTestOptions from thousandeyes_sdk.instant_tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -45,18 +45,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.instant_tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.instant_tests.AgentToAgentApi(api_client) + api_instance = thousandeyes_sdk.instant_tests.AgentToAgentInstantTestsApi(api_client) agent_to_agent_instant_test_request = thousandeyes_sdk.instant_tests.AgentToAgentInstantTestRequest() # AgentToAgentInstantTestRequest | 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.instant_tests.Expand()] # List[Expand] | (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. (optional) + expand = [thousandeyes_sdk.instant_tests.ExpandInstantTestOptions()] # List[ExpandInstantTestOptions] | (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. (optional) try: # Create agent-to-agent instant test api_response = api_instance.create_agent_to_agent_instant_test(agent_to_agent_instant_test_request, aid=aid, expand=expand) - print("The response of AgentToAgentApi->create_agent_to_agent_instant_test:\n") + print("The response of AgentToAgentInstantTestsApi->create_agent_to_agent_instant_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling AgentToAgentApi->create_agent_to_agent_instant_test: %s\n" % e) + print("Exception when calling AgentToAgentInstantTestsApi->create_agent_to_agent_instant_test: %s\n" % e) ``` @@ -68,11 +68,11 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **agent_to_agent_instant_test_request** | [**AgentToAgentInstantTestRequest**](AgentToAgentInstantTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. | [optional] + **expand** | [**List[ExpandInstantTestOptions]**](ExpandInstantTestOptions.md)| (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. | [optional] ### Return type -[**AgentToAgentInstantTest**](AgentToAgentInstantTest.md) +[**AgentToAgentInstantTestResponse**](AgentToAgentInstantTestResponse.md) ### Authorization diff --git a/thousandeyes-sdk-instant-tests/docs/AgentToServerInstantTest.md b/thousandeyes-sdk-instant-tests/docs/AgentToServerInstantTest.md index 291312f2..70934347 100644 --- a/thousandeyes-sdk-instant-tests/docs/AgentToServerInstantTest.md +++ b/thousandeyes-sdk-instant-tests/docs/AgentToServerInstantTest.md @@ -33,7 +33,6 @@ Name | Type | Description | Notes **ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] **ping_payload_size** | **int** | Payload size (not total packet size) for the end-to-end metric's probes, ping payload size allows values from 0 to 1400 bytes. When set to null, payload sizes are 0 bytes for ICMP-based tests and 1 byte for TCP-based tests. | [optional] **network_measurements** | **bool** | View packet loss in 1-second intervals. This is only available for 1-minute interval tests. Set to `true` to enable network measurements. | [optional] [default to False] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/AgentToServerInstantTestResponse.md b/thousandeyes-sdk-instant-tests/docs/AgentToServerInstantTestResponse.md new file mode 100644 index 00000000..bd703f1a --- /dev/null +++ b/thousandeyes-sdk-instant-tests/docs/AgentToServerInstantTestResponse.md @@ -0,0 +1,57 @@ +# AgentToServerInstantTestResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**created_by** | **str** | User that created the test. | [optional] [readonly] +**created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] +**description** | **str** | A description of the test. | [optional] +**live_share** | **bool** | Indicates if the test is shared with the account group. | [optional] [readonly] +**modified_by** | **str** | User that modified the test. | [optional] [readonly] +**modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] +**saved_event** | **bool** | Indicates if the test is a saved event. | [optional] [readonly] +**test_id** | **str** | Each test is assigned an unique ID; this is used to access test information and results from other endpoints. | [optional] [readonly] +**test_name** | **str** | The name of the test. Test name must be unique. | [optional] +**type** | **str** | | [optional] [readonly] +**links** | [**TestLinks**](TestLinks.md) | | [optional] +**labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] +**shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] +**bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] +**continuous_mode** | **bool** | To enable continuous monitoring, set this parameter to `true` to. When continuous monitoring is enabled, the following actions occur: * `fixedPacketRate` is enforced * `bandwidthMeasurements` are disabled * If the `protocol` is set to `tcp`, `probeMode` is set to `syn`. | [optional] +**fixed_packet_rate** | **int** | If continuousMode is `false`, set the fixedPacketRate to a value between 10-100. If `continuousMode` is `true`, set the `fixedPacketRate` to `1` | [optional] +**mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] +**num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] +**port** | **int** | Target port. | [optional] [default to 49153] +**probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] +**protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] +**server** | **str** | Target name or IP address. | +**dscp** | **str** | DSCP label. | [optional] [readonly] +**dscp_id** | [**TestDscpId**](TestDscpId.md) | | [optional] +**ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] +**ping_payload_size** | **int** | Payload size (not total packet size) for the end-to-end metric's probes, ping payload size allows values from 0 to 1400 bytes. When set to null, payload sizes are 0 bytes for ICMP-based tests and 1 byte for TCP-based tests. | [optional] +**network_measurements** | **bool** | View packet loss in 1-second intervals. This is only available for 1-minute interval tests. Set to `true` to enable network measurements. | [optional] [default to False] +**agents** | [**List[AgentResponse]**](AgentResponse.md) | Contains list of agents. | [optional] + +## Example + +```python +from thousandeyes_sdk.instant_tests.models.agent_to_server_instant_test_response import AgentToServerInstantTestResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of AgentToServerInstantTestResponse from a JSON string +agent_to_server_instant_test_response_instance = AgentToServerInstantTestResponse.from_json(json) +# print the JSON string representation of the object +print(AgentToServerInstantTestResponse.to_json()) + +# convert the object into a dict +agent_to_server_instant_test_response_dict = agent_to_server_instant_test_response_instance.to_dict() +# create an instance of AgentToServerInstantTestResponse from a dict +agent_to_server_instant_test_response_from_dict = AgentToServerInstantTestResponse.from_dict(agent_to_server_instant_test_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) + + diff --git a/thousandeyes-sdk-instant-tests/docs/AgentToServerApi.md b/thousandeyes-sdk-instant-tests/docs/AgentToServerInstantTestsApi.md similarity index 68% rename from thousandeyes-sdk-instant-tests/docs/AgentToServerApi.md rename to thousandeyes-sdk-instant-tests/docs/AgentToServerInstantTestsApi.md index 6a63b301..ef722c90 100644 --- a/thousandeyes-sdk-instant-tests/docs/AgentToServerApi.md +++ b/thousandeyes-sdk-instant-tests/docs/AgentToServerInstantTestsApi.md @@ -1,14 +1,14 @@ -# thousandeyes_sdk.instant_tests.AgentToServerApi +# thousandeyes_sdk.instant_tests.AgentToServerInstantTestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_agent_to_server_instant_test**](AgentToServerApi.md#create_agent_to_server_instant_test) | **POST** /v7/tests/agent-to-server/instant | Create agent-to-server instant test +[**create_agent_to_server_instant_test**](AgentToServerInstantTestsApi.md#create_agent_to_server_instant_test) | **POST** /tests/agent-to-server/instant | Create agent-to-server instant test # **create_agent_to_server_instant_test** -> AgentToServerInstantTest create_agent_to_server_instant_test(agent_to_server_instant_test_request, aid=aid, expand=expand) +> AgentToServerInstantTestResponse create_agent_to_server_instant_test(agent_to_server_instant_test_request, aid=aid, expand=expand) Create agent-to-server instant test @@ -20,16 +20,16 @@ Creates and runs a new agent-to-server instant test. ```python import thousandeyes_sdk.instant_tests -from thousandeyes_sdk.instant_tests.models.agent_to_server_instant_test import AgentToServerInstantTest from thousandeyes_sdk.instant_tests.models.agent_to_server_instant_test_request import AgentToServerInstantTestRequest -from thousandeyes_sdk.instant_tests.models.expand import Expand +from thousandeyes_sdk.instant_tests.models.agent_to_server_instant_test_response import AgentToServerInstantTestResponse +from thousandeyes_sdk.instant_tests.models.expand_instant_test_options import ExpandInstantTestOptions from thousandeyes_sdk.instant_tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -45,18 +45,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.instant_tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.instant_tests.AgentToServerApi(api_client) + api_instance = thousandeyes_sdk.instant_tests.AgentToServerInstantTestsApi(api_client) agent_to_server_instant_test_request = thousandeyes_sdk.instant_tests.AgentToServerInstantTestRequest() # AgentToServerInstantTestRequest | 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.instant_tests.Expand()] # List[Expand] | (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. (optional) + expand = [thousandeyes_sdk.instant_tests.ExpandInstantTestOptions()] # List[ExpandInstantTestOptions] | (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. (optional) try: # Create agent-to-server instant test api_response = api_instance.create_agent_to_server_instant_test(agent_to_server_instant_test_request, aid=aid, expand=expand) - print("The response of AgentToServerApi->create_agent_to_server_instant_test:\n") + print("The response of AgentToServerInstantTestsApi->create_agent_to_server_instant_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling AgentToServerApi->create_agent_to_server_instant_test: %s\n" % e) + print("Exception when calling AgentToServerInstantTestsApi->create_agent_to_server_instant_test: %s\n" % e) ``` @@ -68,11 +68,11 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **agent_to_server_instant_test_request** | [**AgentToServerInstantTestRequest**](AgentToServerInstantTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. | [optional] + **expand** | [**List[ExpandInstantTestOptions]**](ExpandInstantTestOptions.md)| (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. | [optional] ### Return type -[**AgentToServerInstantTest**](AgentToServerInstantTest.md) +[**AgentToServerInstantTestResponse**](AgentToServerInstantTestResponse.md) ### Authorization diff --git a/thousandeyes-sdk-instant-tests/docs/ApiInstantTest.md b/thousandeyes-sdk-instant-tests/docs/ApiInstantTest.md index d5a6c2af..0c09b158 100644 --- a/thousandeyes-sdk-instant-tests/docs/ApiInstantTest.md +++ b/thousandeyes-sdk-instant-tests/docs/ApiInstantTest.md @@ -18,10 +18,13 @@ Name | Type | Description | Notes **links** | [**TestLinks**](TestLinks.md) | | [optional] **labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] **shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] **follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] **predefined_variables** | [**List[ApiPredefinedVariable]**](ApiPredefinedVariable.md) | | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] @@ -31,7 +34,6 @@ Name | Type | Description | Notes **target_time** | **int** | Target time for completion metric, defaults to 50% of time limit specified in seconds. (0 means default behavior) | [optional] **time_limit** | **int** | Time limit for transaction in seconds. Exceeding this limit will result in a Timeout error. | [optional] [default to 30] **url** | **str** | Target for the test. | -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] **credentials** | **List[str]** | Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint). | [optional] ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/ApiInstantTestRequest.md b/thousandeyes-sdk-instant-tests/docs/ApiInstantTestRequest.md index 5aaecce5..daa51c22 100644 --- a/thousandeyes-sdk-instant-tests/docs/ApiInstantTestRequest.md +++ b/thousandeyes-sdk-instant-tests/docs/ApiInstantTestRequest.md @@ -18,10 +18,13 @@ Name | Type | Description | Notes **links** | [**TestLinks**](TestLinks.md) | | [optional] **labels** | **List[str]** | A list of test label identifiers (get `labelId` from `/labels` endpoint). | [optional] **shared_with_accounts** | **List[str]** | A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint). | [optional] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] **follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] **predefined_variables** | [**List[ApiPredefinedVariable]**](ApiPredefinedVariable.md) | | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] @@ -31,8 +34,8 @@ Name | Type | Description | Notes **target_time** | **int** | Target time for completion metric, defaults to 50% of time limit specified in seconds. (0 means default behavior) | [optional] **time_limit** | **int** | Time limit for transaction in seconds. Exceeding this limit will result in a Timeout error. | [optional] [default to 30] **url** | **str** | Target for the test. | -**agents** | [**List[TestAgent]**](TestAgent.md) | A list of objects with `agentId` (required) and `sourceIpAddress` (optional). | **credentials** | **List[str]** | Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint). | [optional] +**agents** | [**List[TestAgent]**](TestAgent.md) | A list of objects with `agentId` (required) and `sourceIpAddress` (optional). | ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/ApiInstantTestResponse.md b/thousandeyes-sdk-instant-tests/docs/ApiInstantTestResponse.md new file mode 100644 index 00000000..2e03bf00 --- /dev/null +++ b/thousandeyes-sdk-instant-tests/docs/ApiInstantTestResponse.md @@ -0,0 +1,59 @@ +# ApiInstantTestResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**created_by** | **str** | User that created the test. | [optional] [readonly] +**created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] +**description** | **str** | A description of the test. | [optional] +**live_share** | **bool** | Indicates if the test is shared with the account group. | [optional] [readonly] +**modified_by** | **str** | User that modified the test. | [optional] [readonly] +**modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] +**saved_event** | **bool** | Indicates if the test is a saved event. | [optional] [readonly] +**test_id** | **str** | Each test is assigned an unique ID; this is used to access test information and results from other endpoints. | [optional] [readonly] +**test_name** | **str** | The name of the test. Test name must be unique. | [optional] +**type** | **str** | | [optional] [readonly] +**links** | [**TestLinks**](TestLinks.md) | | [optional] +**labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] +**shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] +**network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] +**num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] +**path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] +**predefined_variables** | [**List[ApiPredefinedVariable]**](ApiPredefinedVariable.md) | | [optional] +**probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] +**protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] +**requests** | [**List[ApiRequest]**](ApiRequest.md) | | +**ssl_version_id** | [**TestSslVersionId**](TestSslVersionId.md) | | [optional] +**target_time** | **int** | Target time for completion metric, defaults to 50% of time limit specified in seconds. (0 means default behavior) | [optional] +**time_limit** | **int** | Time limit for transaction in seconds. Exceeding this limit will result in a Timeout error. | [optional] [default to 30] +**url** | **str** | Target for the test. | +**credentials** | **List[str]** | Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint). | [optional] +**agents** | [**List[AgentResponse]**](AgentResponse.md) | Contains list of agents. | [optional] + +## Example + +```python +from thousandeyes_sdk.instant_tests.models.api_instant_test_response import ApiInstantTestResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of ApiInstantTestResponse from a JSON string +api_instant_test_response_instance = ApiInstantTestResponse.from_json(json) +# print the JSON string representation of the object +print(ApiInstantTestResponse.to_json()) + +# convert the object into a dict +api_instant_test_response_dict = api_instant_test_response_instance.to_dict() +# create an instance of ApiInstantTestResponse from a dict +api_instant_test_response_from_dict = ApiInstantTestResponse.from_dict(api_instant_test_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) + + diff --git a/thousandeyes-sdk-instant-tests/docs/ApiProperties.md b/thousandeyes-sdk-instant-tests/docs/ApiProperties.md index c45753c3..90b9ff7a 100644 --- a/thousandeyes-sdk-instant-tests/docs/ApiProperties.md +++ b/thousandeyes-sdk-instant-tests/docs/ApiProperties.md @@ -5,10 +5,13 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] **follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] **predefined_variables** | [**List[ApiPredefinedVariable]**](ApiPredefinedVariable.md) | | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] diff --git a/thousandeyes-sdk-instant-tests/docs/DNSSecurityApi.md b/thousandeyes-sdk-instant-tests/docs/DNSSECInstantTestsApi.md similarity index 66% rename from thousandeyes-sdk-instant-tests/docs/DNSSecurityApi.md rename to thousandeyes-sdk-instant-tests/docs/DNSSECInstantTestsApi.md index 0f311fce..128c94ef 100644 --- a/thousandeyes-sdk-instant-tests/docs/DNSSecurityApi.md +++ b/thousandeyes-sdk-instant-tests/docs/DNSSECInstantTestsApi.md @@ -1,18 +1,18 @@ -# thousandeyes_sdk.instant_tests.DNSSecurityApi +# thousandeyes_sdk.instant_tests.DNSSECInstantTestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_dns_sec_instant_test**](DNSSecurityApi.md#create_dns_sec_instant_test) | **POST** /v7/tests/dnssec/instant | Create DNS security instant test +[**create_dns_sec_instant_test**](DNSSECInstantTestsApi.md#create_dns_sec_instant_test) | **POST** /tests/dnssec/instant | Create DNSSEC instant test # **create_dns_sec_instant_test** -> DnsSecInstantTest create_dns_sec_instant_test(dns_sec_instant_test_request, aid=aid, expand=expand) +> DnsSecInstantTestResponse create_dns_sec_instant_test(dns_sec_instant_test_request, aid=aid, expand=expand) -Create DNS security instant test +Create DNSSEC instant test -Creates and runs a new DNS security instant test. +Creates and runs a new DNSSEC instant test. ### Example @@ -20,16 +20,16 @@ Creates and runs a new DNS security instant test. ```python import thousandeyes_sdk.instant_tests -from thousandeyes_sdk.instant_tests.models.dns_sec_instant_test import DnsSecInstantTest from thousandeyes_sdk.instant_tests.models.dns_sec_instant_test_request import DnsSecInstantTestRequest -from thousandeyes_sdk.instant_tests.models.expand import Expand +from thousandeyes_sdk.instant_tests.models.dns_sec_instant_test_response import DnsSecInstantTestResponse +from thousandeyes_sdk.instant_tests.models.expand_instant_test_options import ExpandInstantTestOptions from thousandeyes_sdk.instant_tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -45,18 +45,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.instant_tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.instant_tests.DNSSecurityApi(api_client) + api_instance = thousandeyes_sdk.instant_tests.DNSSECInstantTestsApi(api_client) dns_sec_instant_test_request = thousandeyes_sdk.instant_tests.DnsSecInstantTestRequest() # DnsSecInstantTestRequest | 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.instant_tests.Expand()] # List[Expand] | (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. (optional) + expand = [thousandeyes_sdk.instant_tests.ExpandInstantTestOptions()] # List[ExpandInstantTestOptions] | (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. (optional) try: - # Create DNS security instant test + # Create DNSSEC instant test api_response = api_instance.create_dns_sec_instant_test(dns_sec_instant_test_request, aid=aid, expand=expand) - print("The response of DNSSecurityApi->create_dns_sec_instant_test:\n") + print("The response of DNSSECInstantTestsApi->create_dns_sec_instant_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling DNSSecurityApi->create_dns_sec_instant_test: %s\n" % e) + print("Exception when calling DNSSECInstantTestsApi->create_dns_sec_instant_test: %s\n" % e) ``` @@ -68,11 +68,11 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **dns_sec_instant_test_request** | [**DnsSecInstantTestRequest**](DnsSecInstantTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. | [optional] + **expand** | [**List[ExpandInstantTestOptions]**](ExpandInstantTestOptions.md)| (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. | [optional] ### Return type -[**DnsSecInstantTest**](DnsSecInstantTest.md) +[**DnsSecInstantTestResponse**](DnsSecInstantTestResponse.md) ### Authorization diff --git a/thousandeyes-sdk-instant-tests/docs/DNSServerApi.md b/thousandeyes-sdk-instant-tests/docs/DNSServerInstantTestsApi.md similarity index 69% rename from thousandeyes-sdk-instant-tests/docs/DNSServerApi.md rename to thousandeyes-sdk-instant-tests/docs/DNSServerInstantTestsApi.md index 4ff20453..ab6d4e36 100644 --- a/thousandeyes-sdk-instant-tests/docs/DNSServerApi.md +++ b/thousandeyes-sdk-instant-tests/docs/DNSServerInstantTestsApi.md @@ -1,14 +1,14 @@ -# thousandeyes_sdk.instant_tests.DNSServerApi +# thousandeyes_sdk.instant_tests.DNSServerInstantTestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_dns_server_instant_test**](DNSServerApi.md#create_dns_server_instant_test) | **POST** /v7/tests/dns-server/instant | Create DNS server instant test +[**create_dns_server_instant_test**](DNSServerInstantTestsApi.md#create_dns_server_instant_test) | **POST** /tests/dns-server/instant | Create DNS server instant test # **create_dns_server_instant_test** -> DnsServerInstantTest create_dns_server_instant_test(dns_server_instant_test_request, aid=aid, expand=expand) +> DnsServerInstantTestResponse create_dns_server_instant_test(dns_server_instant_test_request, aid=aid, expand=expand) Create DNS server instant test @@ -20,16 +20,16 @@ Creates and runs a new DNS server instant test. ```python import thousandeyes_sdk.instant_tests -from thousandeyes_sdk.instant_tests.models.dns_server_instant_test import DnsServerInstantTest from thousandeyes_sdk.instant_tests.models.dns_server_instant_test_request import DnsServerInstantTestRequest -from thousandeyes_sdk.instant_tests.models.expand import Expand +from thousandeyes_sdk.instant_tests.models.dns_server_instant_test_response import DnsServerInstantTestResponse +from thousandeyes_sdk.instant_tests.models.expand_instant_test_options import ExpandInstantTestOptions from thousandeyes_sdk.instant_tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -45,18 +45,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.instant_tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.instant_tests.DNSServerApi(api_client) + api_instance = thousandeyes_sdk.instant_tests.DNSServerInstantTestsApi(api_client) dns_server_instant_test_request = thousandeyes_sdk.instant_tests.DnsServerInstantTestRequest() # DnsServerInstantTestRequest | 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.instant_tests.Expand()] # List[Expand] | (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. (optional) + expand = [thousandeyes_sdk.instant_tests.ExpandInstantTestOptions()] # List[ExpandInstantTestOptions] | (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. (optional) try: # Create DNS server instant test api_response = api_instance.create_dns_server_instant_test(dns_server_instant_test_request, aid=aid, expand=expand) - print("The response of DNSServerApi->create_dns_server_instant_test:\n") + print("The response of DNSServerInstantTestsApi->create_dns_server_instant_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling DNSServerApi->create_dns_server_instant_test: %s\n" % e) + print("Exception when calling DNSServerInstantTestsApi->create_dns_server_instant_test: %s\n" % e) ``` @@ -68,11 +68,11 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **dns_server_instant_test_request** | [**DnsServerInstantTestRequest**](DnsServerInstantTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. | [optional] + **expand** | [**List[ExpandInstantTestOptions]**](ExpandInstantTestOptions.md)| (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. | [optional] ### Return type -[**DnsServerInstantTest**](DnsServerInstantTest.md) +[**DnsServerInstantTestResponse**](DnsServerInstantTestResponse.md) ### Authorization diff --git a/thousandeyes-sdk-instant-tests/docs/DNSTraceApi.md b/thousandeyes-sdk-instant-tests/docs/DNSTraceInstantTestsApi.md similarity index 69% rename from thousandeyes-sdk-instant-tests/docs/DNSTraceApi.md rename to thousandeyes-sdk-instant-tests/docs/DNSTraceInstantTestsApi.md index 684500de..82cc9246 100644 --- a/thousandeyes-sdk-instant-tests/docs/DNSTraceApi.md +++ b/thousandeyes-sdk-instant-tests/docs/DNSTraceInstantTestsApi.md @@ -1,14 +1,14 @@ -# thousandeyes_sdk.instant_tests.DNSTraceApi +# thousandeyes_sdk.instant_tests.DNSTraceInstantTestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_dns_trace_instant_test**](DNSTraceApi.md#create_dns_trace_instant_test) | **POST** /v7/tests/dns-trace/instant | Create DNS trace instant test +[**create_dns_trace_instant_test**](DNSTraceInstantTestsApi.md#create_dns_trace_instant_test) | **POST** /tests/dns-trace/instant | Create DNS trace instant test # **create_dns_trace_instant_test** -> DnsTraceInstantTest create_dns_trace_instant_test(dns_trace_instant_test_request, aid=aid, expand=expand) +> DnsTraceInstantTestResponse create_dns_trace_instant_test(dns_trace_instant_test_request, aid=aid, expand=expand) Create DNS trace instant test @@ -20,16 +20,16 @@ Creates and runs a new DNS trace instant test. ```python import thousandeyes_sdk.instant_tests -from thousandeyes_sdk.instant_tests.models.dns_trace_instant_test import DnsTraceInstantTest from thousandeyes_sdk.instant_tests.models.dns_trace_instant_test_request import DnsTraceInstantTestRequest -from thousandeyes_sdk.instant_tests.models.expand import Expand +from thousandeyes_sdk.instant_tests.models.dns_trace_instant_test_response import DnsTraceInstantTestResponse +from thousandeyes_sdk.instant_tests.models.expand_instant_test_options import ExpandInstantTestOptions from thousandeyes_sdk.instant_tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -45,18 +45,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.instant_tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.instant_tests.DNSTraceApi(api_client) + api_instance = thousandeyes_sdk.instant_tests.DNSTraceInstantTestsApi(api_client) dns_trace_instant_test_request = thousandeyes_sdk.instant_tests.DnsTraceInstantTestRequest() # DnsTraceInstantTestRequest | 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.instant_tests.Expand()] # List[Expand] | (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. (optional) + expand = [thousandeyes_sdk.instant_tests.ExpandInstantTestOptions()] # List[ExpandInstantTestOptions] | (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. (optional) try: # Create DNS trace instant test api_response = api_instance.create_dns_trace_instant_test(dns_trace_instant_test_request, aid=aid, expand=expand) - print("The response of DNSTraceApi->create_dns_trace_instant_test:\n") + print("The response of DNSTraceInstantTestsApi->create_dns_trace_instant_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling DNSTraceApi->create_dns_trace_instant_test: %s\n" % e) + print("Exception when calling DNSTraceInstantTestsApi->create_dns_trace_instant_test: %s\n" % e) ``` @@ -68,11 +68,11 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **dns_trace_instant_test_request** | [**DnsTraceInstantTestRequest**](DnsTraceInstantTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. | [optional] + **expand** | [**List[ExpandInstantTestOptions]**](ExpandInstantTestOptions.md)| (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. | [optional] ### Return type -[**DnsTraceInstantTest**](DnsTraceInstantTest.md) +[**DnsTraceInstantTestResponse**](DnsTraceInstantTestResponse.md) ### Authorization diff --git a/thousandeyes-sdk-instant-tests/docs/DnsSecInstantTest.md b/thousandeyes-sdk-instant-tests/docs/DnsSecInstantTest.md index 17b01215..f0514076 100644 --- a/thousandeyes-sdk-instant-tests/docs/DnsSecInstantTest.md +++ b/thousandeyes-sdk-instant-tests/docs/DnsSecInstantTest.md @@ -20,7 +20,6 @@ Name | Type | Description | Notes **shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] **domain** | **str** | The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record. | **dns_query_class** | [**DnsQueryClass**](DnsQueryClass.md) | | [optional] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/DnsSecInstantTestResponse.md b/thousandeyes-sdk-instant-tests/docs/DnsSecInstantTestResponse.md new file mode 100644 index 00000000..430ed0cb --- /dev/null +++ b/thousandeyes-sdk-instant-tests/docs/DnsSecInstantTestResponse.md @@ -0,0 +1,44 @@ +# DnsSecInstantTestResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**created_by** | **str** | User that created the test. | [optional] [readonly] +**created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] +**description** | **str** | A description of the test. | [optional] +**live_share** | **bool** | Indicates if the test is shared with the account group. | [optional] [readonly] +**modified_by** | **str** | User that modified the test. | [optional] [readonly] +**modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] +**saved_event** | **bool** | Indicates if the test is a saved event. | [optional] [readonly] +**test_id** | **str** | Each test is assigned an unique ID; this is used to access test information and results from other endpoints. | [optional] [readonly] +**test_name** | **str** | The name of the test. Test name must be unique. | [optional] +**type** | **str** | | [optional] [readonly] +**links** | [**TestLinks**](TestLinks.md) | | [optional] +**labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] +**shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] +**domain** | **str** | The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record. | +**dns_query_class** | [**DnsQueryClass**](DnsQueryClass.md) | | [optional] +**agents** | [**List[AgentResponse]**](AgentResponse.md) | Contains list of agents. | [optional] + +## Example + +```python +from thousandeyes_sdk.instant_tests.models.dns_sec_instant_test_response import DnsSecInstantTestResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of DnsSecInstantTestResponse from a JSON string +dns_sec_instant_test_response_instance = DnsSecInstantTestResponse.from_json(json) +# print the JSON string representation of the object +print(DnsSecInstantTestResponse.to_json()) + +# convert the object into a dict +dns_sec_instant_test_response_dict = dns_sec_instant_test_response_instance.to_dict() +# create an instance of DnsSecInstantTestResponse from a dict +dns_sec_instant_test_response_from_dict = DnsSecInstantTestResponse.from_dict(dns_sec_instant_test_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) + + diff --git a/thousandeyes-sdk-instant-tests/docs/DnsServerInstantTest.md b/thousandeyes-sdk-instant-tests/docs/DnsServerInstantTest.md index 8eaed1ab..38a01aa4 100644 --- a/thousandeyes-sdk-instant-tests/docs/DnsServerInstantTest.md +++ b/thousandeyes-sdk-instant-tests/docs/DnsServerInstantTest.md @@ -32,7 +32,6 @@ Name | Type | Description | Notes **ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] **dns_query_class** | [**DnsQueryClass**](DnsQueryClass.md) | | [optional] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/SipServerInstantTestRequest1.md b/thousandeyes-sdk-instant-tests/docs/DnsServerInstantTestResponse.md similarity index 61% rename from thousandeyes-sdk-instant-tests/docs/SipServerInstantTestRequest1.md rename to thousandeyes-sdk-instant-tests/docs/DnsServerInstantTestResponse.md index 6bd4c423..1e00f850 100644 --- a/thousandeyes-sdk-instant-tests/docs/SipServerInstantTestRequest1.md +++ b/thousandeyes-sdk-instant-tests/docs/DnsServerInstantTestResponse.md @@ -1,4 +1,4 @@ -# SipServerInstantTestRequest1 +# DnsServerInstantTestResponse ## Properties @@ -18,36 +18,38 @@ Name | Type | Description | Notes **links** | [**TestLinks**](TestLinks.md) | | [optional] **labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] **shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] +**bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] +**dns_servers** | [**List[TestDnsServer]**](TestDnsServer.md) | | +**dns_transport_protocol** | [**TestDnsTransportProtocol**](TestDnsTransportProtocol.md) | | [optional] +**domain** | **str** | The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record. | **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] -**options_regex** | **str** | Options regex, this field does not require escaping. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] -**register_enabled** | **bool** | Set to true to perform SIP registration on the test target with the SIP REGISTER command. | [optional] [default to False] -**sip_target_time** | **int** | Target time for test completion in milliseconds. | [optional] -**sip_time_limit** | **int** | Time limit in milliseconds. | [optional] [default to 5] -**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] +**recursive_queries** | **bool** | Set true to run query with RD (recursion desired) flag enabled. | [optional] **ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] -**target_sip_credentials** | [**TestSipCredentials**](TestSipCredentials.md) | | +**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**dns_query_class** | [**DnsQueryClass**](DnsQueryClass.md) | | [optional] +**agents** | [**List[AgentResponse]**](AgentResponse.md) | Contains list of agents. | [optional] ## Example ```python -from thousandeyes_sdk.instant_tests.models.sip_server_instant_test_request1 import SipServerInstantTestRequest1 +from thousandeyes_sdk.instant_tests.models.dns_server_instant_test_response import DnsServerInstantTestResponse # TODO update the JSON string below json = "{}" -# create an instance of SipServerInstantTestRequest1 from a JSON string -sip_server_instant_test_request1_instance = SipServerInstantTestRequest1.from_json(json) +# create an instance of DnsServerInstantTestResponse from a JSON string +dns_server_instant_test_response_instance = DnsServerInstantTestResponse.from_json(json) # print the JSON string representation of the object -print(SipServerInstantTestRequest1.to_json()) +print(DnsServerInstantTestResponse.to_json()) # convert the object into a dict -sip_server_instant_test_request1_dict = sip_server_instant_test_request1_instance.to_dict() -# create an instance of SipServerInstantTestRequest1 from a dict -sip_server_instant_test_request1_from_dict = SipServerInstantTestRequest1.from_dict(sip_server_instant_test_request1_dict) +dns_server_instant_test_response_dict = dns_server_instant_test_response_instance.to_dict() +# create an instance of DnsServerInstantTestResponse from a dict +dns_server_instant_test_response_from_dict = DnsServerInstantTestResponse.from_dict(dns_server_instant_test_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) diff --git a/thousandeyes-sdk-instant-tests/docs/DnsTraceInstantTest.md b/thousandeyes-sdk-instant-tests/docs/DnsTraceInstantTest.md index 45ebb8f4..f4bf7ff7 100644 --- a/thousandeyes-sdk-instant-tests/docs/DnsTraceInstantTest.md +++ b/thousandeyes-sdk-instant-tests/docs/DnsTraceInstantTest.md @@ -21,7 +21,6 @@ Name | Type | Description | Notes **dns_transport_protocol** | [**TestDnsTransportProtocol**](TestDnsTransportProtocol.md) | | [optional] **domain** | **str** | The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record. | **dns_query_class** | [**DnsQueryClass**](DnsQueryClass.md) | | [optional] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/DnsTraceInstantTestResponse.md b/thousandeyes-sdk-instant-tests/docs/DnsTraceInstantTestResponse.md new file mode 100644 index 00000000..d115d276 --- /dev/null +++ b/thousandeyes-sdk-instant-tests/docs/DnsTraceInstantTestResponse.md @@ -0,0 +1,45 @@ +# DnsTraceInstantTestResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**created_by** | **str** | User that created the test. | [optional] [readonly] +**created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] +**description** | **str** | A description of the test. | [optional] +**live_share** | **bool** | Indicates if the test is shared with the account group. | [optional] [readonly] +**modified_by** | **str** | User that modified the test. | [optional] [readonly] +**modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] +**saved_event** | **bool** | Indicates if the test is a saved event. | [optional] [readonly] +**test_id** | **str** | Each test is assigned an unique ID; this is used to access test information and results from other endpoints. | [optional] [readonly] +**test_name** | **str** | The name of the test. Test name must be unique. | [optional] +**type** | **str** | | [optional] [readonly] +**links** | [**TestLinks**](TestLinks.md) | | [optional] +**labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] +**shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] +**dns_transport_protocol** | [**TestDnsTransportProtocol**](TestDnsTransportProtocol.md) | | [optional] +**domain** | **str** | The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record. | +**dns_query_class** | [**DnsQueryClass**](DnsQueryClass.md) | | [optional] +**agents** | [**List[AgentResponse]**](AgentResponse.md) | Contains list of agents. | [optional] + +## Example + +```python +from thousandeyes_sdk.instant_tests.models.dns_trace_instant_test_response import DnsTraceInstantTestResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of DnsTraceInstantTestResponse from a JSON string +dns_trace_instant_test_response_instance = DnsTraceInstantTestResponse.from_json(json) +# print the JSON string representation of the object +print(DnsTraceInstantTestResponse.to_json()) + +# convert the object into a dict +dns_trace_instant_test_response_dict = dns_trace_instant_test_response_instance.to_dict() +# create an instance of DnsTraceInstantTestResponse from a dict +dns_trace_instant_test_response_from_dict = DnsTraceInstantTestResponse.from_dict(dns_trace_instant_test_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) + + diff --git a/thousandeyes-sdk-instant-tests/docs/Expand.md b/thousandeyes-sdk-instant-tests/docs/Expand.md deleted file mode 100644 index f6553b30..00000000 --- a/thousandeyes-sdk-instant-tests/docs/Expand.md +++ /dev/null @@ -1,11 +0,0 @@ -# Expand - - -## 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) - - diff --git a/thousandeyes-sdk-instant-tests/docs/ExpandInstantTestOptions.md b/thousandeyes-sdk-instant-tests/docs/ExpandInstantTestOptions.md new file mode 100644 index 00000000..bdc04753 --- /dev/null +++ b/thousandeyes-sdk-instant-tests/docs/ExpandInstantTestOptions.md @@ -0,0 +1,11 @@ +# ExpandInstantTestOptions + + +## 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) + + diff --git a/thousandeyes-sdk-instant-tests/docs/FTPServerApi.md b/thousandeyes-sdk-instant-tests/docs/FTPServerInstantTestsApi.md similarity index 61% rename from thousandeyes-sdk-instant-tests/docs/FTPServerApi.md rename to thousandeyes-sdk-instant-tests/docs/FTPServerInstantTestsApi.md index 63119f66..ca361068 100644 --- a/thousandeyes-sdk-instant-tests/docs/FTPServerApi.md +++ b/thousandeyes-sdk-instant-tests/docs/FTPServerInstantTestsApi.md @@ -1,14 +1,14 @@ -# thousandeyes_sdk.instant_tests.FTPServerApi +# thousandeyes_sdk.instant_tests.FTPServerInstantTestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_ftp_server_instant_test**](FTPServerApi.md#create_ftp_server_instant_test) | **POST** /v7/tests/ftp-server/instant | Create FTP server instant test +[**create_ftp_server_instant_test**](FTPServerInstantTestsApi.md#create_ftp_server_instant_test) | **POST** /tests/ftp-server/instant | Create FTP server instant test # **create_ftp_server_instant_test** -> FtpServerInstantTest create_ftp_server_instant_test(server_instant_test_request, aid=aid, expand=expand) +> FtpServerInstantTestResponse create_ftp_server_instant_test(ftp_server_instant_test_request, aid=aid, expand=expand) Create FTP server instant test @@ -20,16 +20,16 @@ Creates and runs a new FTP server instant test. ```python import thousandeyes_sdk.instant_tests -from thousandeyes_sdk.instant_tests.models.expand import Expand -from thousandeyes_sdk.instant_tests.models.ftp_server_instant_test import FtpServerInstantTest -from thousandeyes_sdk.instant_tests.models.server_instant_test_request import ServerInstantTestRequest +from thousandeyes_sdk.instant_tests.models.expand_instant_test_options import ExpandInstantTestOptions +from thousandeyes_sdk.instant_tests.models.ftp_server_instant_test_request import FtpServerInstantTestRequest +from thousandeyes_sdk.instant_tests.models.ftp_server_instant_test_response import FtpServerInstantTestResponse from thousandeyes_sdk.instant_tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -45,18 +45,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.instant_tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.instant_tests.FTPServerApi(api_client) - server_instant_test_request = thousandeyes_sdk.instant_tests.ServerInstantTestRequest() # ServerInstantTestRequest | + api_instance = thousandeyes_sdk.instant_tests.FTPServerInstantTestsApi(api_client) + ftp_server_instant_test_request = thousandeyes_sdk.instant_tests.FtpServerInstantTestRequest() # FtpServerInstantTestRequest | 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.instant_tests.Expand()] # List[Expand] | (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. (optional) + expand = [thousandeyes_sdk.instant_tests.ExpandInstantTestOptions()] # List[ExpandInstantTestOptions] | (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. (optional) try: # Create FTP server instant test - api_response = api_instance.create_ftp_server_instant_test(server_instant_test_request, aid=aid, expand=expand) - print("The response of FTPServerApi->create_ftp_server_instant_test:\n") + api_response = api_instance.create_ftp_server_instant_test(ftp_server_instant_test_request, aid=aid, expand=expand) + print("The response of FTPServerInstantTestsApi->create_ftp_server_instant_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling FTPServerApi->create_ftp_server_instant_test: %s\n" % e) + print("Exception when calling FTPServerInstantTestsApi->create_ftp_server_instant_test: %s\n" % e) ``` @@ -66,13 +66,13 @@ with thousandeyes_sdk.instant_tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **server_instant_test_request** | [**ServerInstantTestRequest**](ServerInstantTestRequest.md)| | + **ftp_server_instant_test_request** | [**FtpServerInstantTestRequest**](FtpServerInstantTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. | [optional] + **expand** | [**List[ExpandInstantTestOptions]**](ExpandInstantTestOptions.md)| (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. | [optional] ### Return type -[**FtpServerInstantTest**](FtpServerInstantTest.md) +[**FtpServerInstantTestResponse**](FtpServerInstantTestResponse.md) ### Authorization diff --git a/thousandeyes-sdk-instant-tests/docs/FtpServerInstantTest.md b/thousandeyes-sdk-instant-tests/docs/FtpServerInstantTest.md index 1a57ab35..0d6c0ec9 100644 --- a/thousandeyes-sdk-instant-tests/docs/FtpServerInstantTest.md +++ b/thousandeyes-sdk-instant-tests/docs/FtpServerInstantTest.md @@ -36,7 +36,6 @@ Name | Type | Description | Notes **username** | **str** | Username for Basic/NTLM authentication. | **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] **ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/ServerInstantTestRequest.md b/thousandeyes-sdk-instant-tests/docs/FtpServerInstantTestRequest.md similarity index 85% rename from thousandeyes-sdk-instant-tests/docs/ServerInstantTestRequest.md rename to thousandeyes-sdk-instant-tests/docs/FtpServerInstantTestRequest.md index bb2aca3c..ff737b61 100644 --- a/thousandeyes-sdk-instant-tests/docs/ServerInstantTestRequest.md +++ b/thousandeyes-sdk-instant-tests/docs/FtpServerInstantTestRequest.md @@ -1,4 +1,4 @@ -# ServerInstantTestRequest +# FtpServerInstantTestRequest ## Properties @@ -41,19 +41,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.instant_tests.models.server_instant_test_request import ServerInstantTestRequest +from thousandeyes_sdk.instant_tests.models.ftp_server_instant_test_request import FtpServerInstantTestRequest # TODO update the JSON string below json = "{}" -# create an instance of ServerInstantTestRequest from a JSON string -server_instant_test_request_instance = ServerInstantTestRequest.from_json(json) +# create an instance of FtpServerInstantTestRequest from a JSON string +ftp_server_instant_test_request_instance = FtpServerInstantTestRequest.from_json(json) # print the JSON string representation of the object -print(ServerInstantTestRequest.to_json()) +print(FtpServerInstantTestRequest.to_json()) # convert the object into a dict -server_instant_test_request_dict = server_instant_test_request_instance.to_dict() -# create an instance of ServerInstantTestRequest from a dict -server_instant_test_request_from_dict = ServerInstantTestRequest.from_dict(server_instant_test_request_dict) +ftp_server_instant_test_request_dict = ftp_server_instant_test_request_instance.to_dict() +# create an instance of FtpServerInstantTestRequest from a dict +ftp_server_instant_test_request_from_dict = FtpServerInstantTestRequest.from_dict(ftp_server_instant_test_request_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) diff --git a/thousandeyes-sdk-tests/docs/SipServerInstantTestResponse.md b/thousandeyes-sdk-instant-tests/docs/FtpServerInstantTestResponse.md similarity index 59% rename from thousandeyes-sdk-tests/docs/SipServerInstantTestResponse.md rename to thousandeyes-sdk-instant-tests/docs/FtpServerInstantTestResponse.md index 8a559607..4c30143f 100644 --- a/thousandeyes-sdk-tests/docs/SipServerInstantTestResponse.md +++ b/thousandeyes-sdk-instant-tests/docs/FtpServerInstantTestResponse.md @@ -1,4 +1,4 @@ -# SipServerInstantTestResponse +# FtpServerInstantTestResponse ## Properties @@ -18,41 +18,42 @@ Name | Type | Description | Notes **links** | [**TestLinks**](TestLinks.md) | | [optional] **labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] **shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] +**bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] +**download_limit** | **int** | Specify maximum number of bytes to download from the target object. | [optional] +**ftp_target_time** | **int** | Target time for operation completion; specified in milliseconds. | [optional] +**ftp_time_limit** | **int** | Set the time limit for the test in seconds. | [optional] [default to 10] **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] -**options_regex** | **str** | Options regex, this field does not require escaping. | [optional] +**password** | **str** | Password for Basic/NTLM authentication. | **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] -**register_enabled** | **bool** | Set to true to perform SIP registration on the test target with the SIP REGISTER command. | [optional] [default to False] -**sip_target_time** | **int** | Target time for test completion in milliseconds. | [optional] -**sip_time_limit** | **int** | Time limit in milliseconds. | [optional] [default to 5] +**protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] +**request_type** | [**FtpServerRequestType**](FtpServerRequestType.md) | | +**url** | **str** | Target for the test. | +**use_active_ftp** | **bool** | Explicitly set the flag to use active FTP. | [optional] [default to False] +**use_explicit_ftps** | **bool** | Use explicit FTPS (ftp over SSL). By default, tests will autodetect when it is appropriate to use FTPS. | [optional] +**username** | **str** | Username for Basic/NTLM authentication. | **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] **ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] -**auth_user** | **str** | Username for authentication with SIP server. | [optional] -**password** | **str** | Password for Basic/NTLM authentication. | [optional] -**port** | **int** | Target port. | [default to 49153] -**protocol** | [**SipTestProtocol**](SipTestProtocol.md) | | [optional] -**sip_registrar** | **str** | SIP server to be tested, specified by domain name or IP address. | [optional] -**user** | **str** | Username for SIP registration, should be unique within a ThousandEyes account group. | [optional] +**agents** | [**List[AgentResponse]**](AgentResponse.md) | Contains list of agents. | [optional] ## Example ```python -from thousandeyes_sdk.tests.models.sip_server_instant_test_response import SipServerInstantTestResponse +from thousandeyes_sdk.instant_tests.models.ftp_server_instant_test_response import FtpServerInstantTestResponse # TODO update the JSON string below json = "{}" -# create an instance of SipServerInstantTestResponse from a JSON string -sip_server_instant_test_response_instance = SipServerInstantTestResponse.from_json(json) +# create an instance of FtpServerInstantTestResponse from a JSON string +ftp_server_instant_test_response_instance = FtpServerInstantTestResponse.from_json(json) # print the JSON string representation of the object -print(SipServerInstantTestResponse.to_json()) +print(FtpServerInstantTestResponse.to_json()) # convert the object into a dict -sip_server_instant_test_response_dict = sip_server_instant_test_response_instance.to_dict() -# create an instance of SipServerInstantTestResponse from a dict -sip_server_instant_test_response_from_dict = SipServerInstantTestResponse.from_dict(sip_server_instant_test_response_dict) +ftp_server_instant_test_response_dict = ftp_server_instant_test_response_instance.to_dict() +# create an instance of FtpServerInstantTestResponse from a dict +ftp_server_instant_test_response_from_dict = FtpServerInstantTestResponse.from_dict(ftp_server_instant_test_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) diff --git a/thousandeyes-sdk-instant-tests/docs/HTTPPageLoadApi.md b/thousandeyes-sdk-instant-tests/docs/HTTPPageLoadInstantTestsApi.md similarity index 69% rename from thousandeyes-sdk-instant-tests/docs/HTTPPageLoadApi.md rename to thousandeyes-sdk-instant-tests/docs/HTTPPageLoadInstantTestsApi.md index 6c67569b..869413c3 100644 --- a/thousandeyes-sdk-instant-tests/docs/HTTPPageLoadApi.md +++ b/thousandeyes-sdk-instant-tests/docs/HTTPPageLoadInstantTestsApi.md @@ -1,14 +1,14 @@ -# thousandeyes_sdk.instant_tests.HTTPPageLoadApi +# thousandeyes_sdk.instant_tests.HTTPPageLoadInstantTestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_page_load_instant_test**](HTTPPageLoadApi.md#create_page_load_instant_test) | **POST** /v7/tests/page-load/instant | Create HTTP page load instant test +[**create_page_load_instant_test**](HTTPPageLoadInstantTestsApi.md#create_page_load_instant_test) | **POST** /tests/page-load/instant | Create HTTP page load instant test # **create_page_load_instant_test** -> PageLoadInstantTest create_page_load_instant_test(page_load_instant_test_request, aid=aid, expand=expand) +> PageLoadInstantTestResponse create_page_load_instant_test(page_load_instant_test_request, aid=aid, expand=expand) Create HTTP page load instant test @@ -20,16 +20,16 @@ Creates and runs a new HTTP page load instant test. ```python import thousandeyes_sdk.instant_tests -from thousandeyes_sdk.instant_tests.models.expand import Expand -from thousandeyes_sdk.instant_tests.models.page_load_instant_test import PageLoadInstantTest +from thousandeyes_sdk.instant_tests.models.expand_instant_test_options import ExpandInstantTestOptions from thousandeyes_sdk.instant_tests.models.page_load_instant_test_request import PageLoadInstantTestRequest +from thousandeyes_sdk.instant_tests.models.page_load_instant_test_response import PageLoadInstantTestResponse from thousandeyes_sdk.instant_tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -45,18 +45,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.instant_tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.instant_tests.HTTPPageLoadApi(api_client) + api_instance = thousandeyes_sdk.instant_tests.HTTPPageLoadInstantTestsApi(api_client) page_load_instant_test_request = thousandeyes_sdk.instant_tests.PageLoadInstantTestRequest() # PageLoadInstantTestRequest | 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.instant_tests.Expand()] # List[Expand] | (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. (optional) + expand = [thousandeyes_sdk.instant_tests.ExpandInstantTestOptions()] # List[ExpandInstantTestOptions] | (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. (optional) try: # Create HTTP page load instant test api_response = api_instance.create_page_load_instant_test(page_load_instant_test_request, aid=aid, expand=expand) - print("The response of HTTPPageLoadApi->create_page_load_instant_test:\n") + print("The response of HTTPPageLoadInstantTestsApi->create_page_load_instant_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling HTTPPageLoadApi->create_page_load_instant_test: %s\n" % e) + print("Exception when calling HTTPPageLoadInstantTestsApi->create_page_load_instant_test: %s\n" % e) ``` @@ -68,11 +68,11 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **page_load_instant_test_request** | [**PageLoadInstantTestRequest**](PageLoadInstantTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. | [optional] + **expand** | [**List[ExpandInstantTestOptions]**](ExpandInstantTestOptions.md)| (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. | [optional] ### Return type -[**PageLoadInstantTest**](PageLoadInstantTest.md) +[**PageLoadInstantTestResponse**](PageLoadInstantTestResponse.md) ### Authorization diff --git a/thousandeyes-sdk-instant-tests/docs/HTTPServerApi.md b/thousandeyes-sdk-instant-tests/docs/HTTPServerInstantTestsApi.md similarity index 69% rename from thousandeyes-sdk-instant-tests/docs/HTTPServerApi.md rename to thousandeyes-sdk-instant-tests/docs/HTTPServerInstantTestsApi.md index 2db85996..383b95e6 100644 --- a/thousandeyes-sdk-instant-tests/docs/HTTPServerApi.md +++ b/thousandeyes-sdk-instant-tests/docs/HTTPServerInstantTestsApi.md @@ -1,14 +1,14 @@ -# thousandeyes_sdk.instant_tests.HTTPServerApi +# thousandeyes_sdk.instant_tests.HTTPServerInstantTestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_http_server_instant_test**](HTTPServerApi.md#create_http_server_instant_test) | **POST** /v7/tests/http-server/instant | Create HTTP server instant test +[**create_http_server_instant_test**](HTTPServerInstantTestsApi.md#create_http_server_instant_test) | **POST** /tests/http-server/instant | Create HTTP server instant test # **create_http_server_instant_test** -> HttpServerInstantTest create_http_server_instant_test(http_server_instant_test_request, aid=aid, expand=expand) +> HttpServerInstantTestResponse create_http_server_instant_test(http_server_instant_test_request, aid=aid, expand=expand) Create HTTP server instant test @@ -20,16 +20,16 @@ Creates and runs a new HTTP server instant test. ```python import thousandeyes_sdk.instant_tests -from thousandeyes_sdk.instant_tests.models.expand import Expand -from thousandeyes_sdk.instant_tests.models.http_server_instant_test import HttpServerInstantTest +from thousandeyes_sdk.instant_tests.models.expand_instant_test_options import ExpandInstantTestOptions from thousandeyes_sdk.instant_tests.models.http_server_instant_test_request import HttpServerInstantTestRequest +from thousandeyes_sdk.instant_tests.models.http_server_instant_test_response import HttpServerInstantTestResponse from thousandeyes_sdk.instant_tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -45,18 +45,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.instant_tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.instant_tests.HTTPServerApi(api_client) + api_instance = thousandeyes_sdk.instant_tests.HTTPServerInstantTestsApi(api_client) http_server_instant_test_request = thousandeyes_sdk.instant_tests.HttpServerInstantTestRequest() # HttpServerInstantTestRequest | 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.instant_tests.Expand()] # List[Expand] | (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. (optional) + expand = [thousandeyes_sdk.instant_tests.ExpandInstantTestOptions()] # List[ExpandInstantTestOptions] | (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. (optional) try: # Create HTTP server instant test api_response = api_instance.create_http_server_instant_test(http_server_instant_test_request, aid=aid, expand=expand) - print("The response of HTTPServerApi->create_http_server_instant_test:\n") + print("The response of HTTPServerInstantTestsApi->create_http_server_instant_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling HTTPServerApi->create_http_server_instant_test: %s\n" % e) + print("Exception when calling HTTPServerInstantTestsApi->create_http_server_instant_test: %s\n" % e) ``` @@ -68,11 +68,11 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **http_server_instant_test_request** | [**HttpServerInstantTestRequest**](HttpServerInstantTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. | [optional] + **expand** | [**List[ExpandInstantTestOptions]**](ExpandInstantTestOptions.md)| (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. | [optional] ### Return type -[**HttpServerInstantTest**](HttpServerInstantTest.md) +[**HttpServerInstantTestResponse**](HttpServerInstantTestResponse.md) ### Authorization diff --git a/thousandeyes-sdk-instant-tests/docs/HttpServerBaseProperties.md b/thousandeyes-sdk-instant-tests/docs/HttpServerBaseProperties.md new file mode 100644 index 00000000..154dbce9 --- /dev/null +++ b/thousandeyes-sdk-instant-tests/docs/HttpServerBaseProperties.md @@ -0,0 +1,62 @@ +# HttpServerBaseProperties + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] +**bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] +**client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] +**content_regex** | **str** | Content regex, this field does not require escaping. | [optional] +**custom_headers** | [**TestCustomHeaders**](TestCustomHeaders.md) | | [optional] +**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. | [optional] [default to 'default'] +**download_limit** | **int** | Specifies maximum number of bytes to download from the target object. | [optional] +**dns_override** | **str** | IP address to use for DNS override. | [optional] +**http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] +**http_time_limit** | **int** | HTTP time limit in seconds. | [optional] [default to 5] +**http_version** | **int** | HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1. | [optional] [default to 2] +**include_headers** | **bool** | Set to `true` to capture response headers for objects loaded by the test. | [optional] [default to True] +**mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] +**network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] +**num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**o_auth** | [**OAuth**](OAuth.md) | | [optional] +**password** | **str** | Password for Basic/NTLM authentication. | [optional] +**path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] +**probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] +**protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] +**ssl_version** | **str** | Reflects the verbose SSL protocol version used by a test. | [optional] [readonly] +**ssl_version_id** | [**TestSslVersionId**](TestSslVersionId.md) | | [optional] +**url** | **str** | Target for the test. | [optional] +**use_ntlm** | **bool** | Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set. | [optional] +**user_agent** | **str** | User-agent string to be provided during the test. | [optional] +**username** | **str** | Username for Basic/NTLM authentication. | [optional] +**verify_certificate** | **bool** | Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. | [optional] [default to False] +**allow_unsafe_legacy_renegotiation** | **bool** | Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. | [optional] [default to True] +**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] + +## Example + +```python +from thousandeyes_sdk.instant_tests.models.http_server_base_properties import HttpServerBaseProperties + +# TODO update the JSON string below +json = "{}" +# create an instance of HttpServerBaseProperties from a JSON string +http_server_base_properties_instance = HttpServerBaseProperties.from_json(json) +# print the JSON string representation of the object +print(HttpServerBaseProperties.to_json()) + +# convert the object into a dict +http_server_base_properties_dict = http_server_base_properties_instance.to_dict() +# create an instance of HttpServerBaseProperties from a dict +http_server_base_properties_from_dict = HttpServerBaseProperties.from_dict(http_server_base_properties_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) + + diff --git a/thousandeyes-sdk-instant-tests/docs/HttpServerInstantTest.md b/thousandeyes-sdk-instant-tests/docs/HttpServerInstantTest.md index 242f1aab..42091444 100644 --- a/thousandeyes-sdk-instant-tests/docs/HttpServerInstantTest.md +++ b/thousandeyes-sdk-instant-tests/docs/HttpServerInstantTest.md @@ -19,12 +19,12 @@ Name | Type | Description | Notes **labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] **shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] **auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] **client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] **content_regex** | **str** | Content regex, this field does not require escaping. | [optional] -**headers** | **List[str]** | HTTP request headers used. | [optional] **custom_headers** | [**TestCustomHeaders**](TestCustomHeaders.md) | | [optional] -**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. | [optional] [default to '200'] +**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. | [optional] [default to 'default'] **download_limit** | **int** | Specifies maximum number of bytes to download from the target object. | [optional] **dns_override** | **str** | IP address to use for DNS override. | [optional] **http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] @@ -34,9 +34,9 @@ Name | Type | Description | Notes **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**o_auth** | [**OAuth**](OAuth.md) | | [optional] **password** | **str** | Password for Basic/NTLM authentication. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] -**post_body** | **str** | Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST. | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] **protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] **ssl_version** | **str** | Reflects the verbose SSL protocol version used by a test. | [optional] [readonly] @@ -47,12 +47,14 @@ Name | Type | Description | Notes **username** | **str** | Username for Basic/NTLM authentication. | [optional] **verify_certificate** | **bool** | Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. | [optional] [default to False] **allow_unsafe_legacy_renegotiation** | **bool** | Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. | [optional] [default to True] -**ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] **follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**headers** | **List[str]** | HTTP request headers used. | [optional] +**post_body** | **str** | Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST. | [optional] +**ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/HttpServerInstantTestRequest.md b/thousandeyes-sdk-instant-tests/docs/HttpServerInstantTestRequest.md index 0eac0894..fe83915f 100644 --- a/thousandeyes-sdk-instant-tests/docs/HttpServerInstantTestRequest.md +++ b/thousandeyes-sdk-instant-tests/docs/HttpServerInstantTestRequest.md @@ -19,12 +19,12 @@ Name | Type | Description | Notes **labels** | **List[str]** | A list of test label identifiers (get `labelId` from `/labels` endpoint). | [optional] **shared_with_accounts** | **List[str]** | A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint). | [optional] **auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] **client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] **content_regex** | **str** | Content regex, this field does not require escaping. | [optional] -**headers** | **List[str]** | HTTP request headers used. | [optional] **custom_headers** | [**TestCustomHeaders**](TestCustomHeaders.md) | | [optional] -**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. | [optional] [default to '200'] +**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. | [optional] [default to 'default'] **download_limit** | **int** | Specifies maximum number of bytes to download from the target object. | [optional] **dns_override** | **str** | IP address to use for DNS override. | [optional] **http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] @@ -34,9 +34,9 @@ Name | Type | Description | Notes **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**o_auth** | [**OAuth**](OAuth.md) | | [optional] **password** | **str** | Password for Basic/NTLM authentication. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] -**post_body** | **str** | Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST. | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] **protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] **ssl_version** | **str** | Reflects the verbose SSL protocol version used by a test. | [optional] [readonly] @@ -47,11 +47,14 @@ Name | Type | Description | Notes **username** | **str** | Username for Basic/NTLM authentication. | [optional] **verify_certificate** | **bool** | Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. | [optional] [default to False] **allow_unsafe_legacy_renegotiation** | **bool** | Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. | [optional] [default to True] -**ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] **follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**headers** | **List[str]** | HTTP request headers used. | [optional] +**post_body** | **str** | Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST. | [optional] +**ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] **agents** | [**List[TestAgent]**](TestAgent.md) | A list of objects with `agentId` (required) and `sourceIpAddress` (optional). | ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/HttpServerInstantTestResponse.md b/thousandeyes-sdk-instant-tests/docs/HttpServerInstantTestResponse.md new file mode 100644 index 00000000..8fa62fd0 --- /dev/null +++ b/thousandeyes-sdk-instant-tests/docs/HttpServerInstantTestResponse.md @@ -0,0 +1,79 @@ +# HttpServerInstantTestResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**created_by** | **str** | User that created the test. | [optional] [readonly] +**created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] +**description** | **str** | A description of the test. | [optional] +**live_share** | **bool** | Indicates if the test is shared with the account group. | [optional] [readonly] +**modified_by** | **str** | User that modified the test. | [optional] [readonly] +**modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] +**saved_event** | **bool** | Indicates if the test is a saved event. | [optional] [readonly] +**test_id** | **str** | Each test is assigned an unique ID; this is used to access test information and results from other endpoints. | [optional] [readonly] +**test_name** | **str** | The name of the test. Test name must be unique. | [optional] +**type** | **str** | | [optional] [readonly] +**links** | [**TestLinks**](TestLinks.md) | | [optional] +**labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] +**shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] +**auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] +**bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] +**client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] +**content_regex** | **str** | Content regex, this field does not require escaping. | [optional] +**custom_headers** | [**TestCustomHeaders**](TestCustomHeaders.md) | | [optional] +**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. | [optional] [default to 'default'] +**download_limit** | **int** | Specifies maximum number of bytes to download from the target object. | [optional] +**dns_override** | **str** | IP address to use for DNS override. | [optional] +**http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] +**http_time_limit** | **int** | HTTP time limit in seconds. | [optional] [default to 5] +**http_version** | **int** | HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1. | [optional] [default to 2] +**include_headers** | **bool** | Set to `true` to capture response headers for objects loaded by the test. | [optional] [default to True] +**mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] +**network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] +**num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**o_auth** | [**OAuth**](OAuth.md) | | [optional] +**password** | **str** | Password for Basic/NTLM authentication. | [optional] +**path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] +**probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] +**protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] +**ssl_version** | **str** | Reflects the verbose SSL protocol version used by a test. | [optional] [readonly] +**ssl_version_id** | [**TestSslVersionId**](TestSslVersionId.md) | | [optional] +**url** | **str** | Target for the test. | +**use_ntlm** | **bool** | Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set. | [optional] +**user_agent** | **str** | User-agent string to be provided during the test. | [optional] +**username** | **str** | Username for Basic/NTLM authentication. | [optional] +**verify_certificate** | **bool** | Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. | [optional] [default to False] +**allow_unsafe_legacy_renegotiation** | **bool** | Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. | [optional] [default to True] +**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**headers** | **List[str]** | HTTP request headers used. | [optional] +**post_body** | **str** | Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST. | [optional] +**ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] +**agents** | [**List[AgentResponse]**](AgentResponse.md) | Contains list of agents. | [optional] + +## Example + +```python +from thousandeyes_sdk.instant_tests.models.http_server_instant_test_response import HttpServerInstantTestResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of HttpServerInstantTestResponse from a JSON string +http_server_instant_test_response_instance = HttpServerInstantTestResponse.from_json(json) +# print the JSON string representation of the object +print(HttpServerInstantTestResponse.to_json()) + +# convert the object into a dict +http_server_instant_test_response_dict = http_server_instant_test_response_instance.to_dict() +# create an instance of HttpServerInstantTestResponse from a dict +http_server_instant_test_response_from_dict = HttpServerInstantTestResponse.from_dict(http_server_instant_test_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) + + diff --git a/thousandeyes-sdk-instant-tests/docs/HttpServerProperties.md b/thousandeyes-sdk-instant-tests/docs/HttpServerProperties.md index 1f980d3d..17874609 100644 --- a/thousandeyes-sdk-instant-tests/docs/HttpServerProperties.md +++ b/thousandeyes-sdk-instant-tests/docs/HttpServerProperties.md @@ -6,12 +6,12 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] **client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] **content_regex** | **str** | Content regex, this field does not require escaping. | [optional] -**headers** | **List[str]** | HTTP request headers used. | [optional] **custom_headers** | [**TestCustomHeaders**](TestCustomHeaders.md) | | [optional] -**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. | [optional] [default to '200'] +**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. | [optional] [default to 'default'] **download_limit** | **int** | Specifies maximum number of bytes to download from the target object. | [optional] **dns_override** | **str** | IP address to use for DNS override. | [optional] **http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] @@ -21,9 +21,9 @@ Name | Type | Description | Notes **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**o_auth** | [**OAuth**](OAuth.md) | | [optional] **password** | **str** | Password for Basic/NTLM authentication. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] -**post_body** | **str** | Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST. | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] **protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] **ssl_version** | **str** | Reflects the verbose SSL protocol version used by a test. | [optional] [readonly] @@ -34,11 +34,14 @@ Name | Type | Description | Notes **username** | **str** | Username for Basic/NTLM authentication. | [optional] **verify_certificate** | **bool** | Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. | [optional] [default to False] **allow_unsafe_legacy_renegotiation** | **bool** | Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. | [optional] [default to True] -**ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] **follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**headers** | **List[str]** | HTTP request headers used. | [optional] +**post_body** | **str** | Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST. | [optional] +**ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] **type** | **str** | | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/RunApi.md b/thousandeyes-sdk-instant-tests/docs/InstantTestsApi.md similarity index 87% rename from thousandeyes-sdk-instant-tests/docs/RunApi.md rename to thousandeyes-sdk-instant-tests/docs/InstantTestsApi.md index 2966056f..ab577d6d 100644 --- a/thousandeyes-sdk-instant-tests/docs/RunApi.md +++ b/thousandeyes-sdk-instant-tests/docs/InstantTestsApi.md @@ -1,10 +1,10 @@ -# thousandeyes_sdk.instant_tests.RunApi +# thousandeyes_sdk.instant_tests.InstantTestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**run_instant_test**](RunApi.md#run_instant_test) | **POST** /v7/tests/{testId}/run | Run instant test +[**run_instant_test**](InstantTestsApi.md#run_instant_test) | **POST** /tests/{testId}/run | Run instant test # **run_instant_test** @@ -23,10 +23,10 @@ import thousandeyes_sdk.instant_tests from thousandeyes_sdk.instant_tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -42,7 +42,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.instant_tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.instant_tests.RunApi(api_client) + api_instance = thousandeyes_sdk.instant_tests.InstantTestsApi(api_client) test_id = '105' # str | Identifier for the instant test you wish to rerun. 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) @@ -50,7 +50,7 @@ with thousandeyes_sdk.instant_tests.ApiClient(configuration) as api_client: # Run instant test api_instance.run_instant_test(test_id, aid=aid) except Exception as e: - print("Exception when calling RunApi->run_instant_test: %s\n" % e) + print("Exception when calling InstantTestsApi->run_instant_test: %s\n" % e) ``` diff --git a/thousandeyes-sdk-instant-tests/docs/OAuth.md b/thousandeyes-sdk-instant-tests/docs/OAuth.md new file mode 100644 index 00000000..9a910e5b --- /dev/null +++ b/thousandeyes-sdk-instant-tests/docs/OAuth.md @@ -0,0 +1,37 @@ +# OAuth + +Use this only if you want to use OAuth as the authentication mechanism. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**config_id** | **str** | The ID of the OAuth configuration. | [optional] +**test_url** | **str** | Target for the test. | [optional] +**request_method** | [**RequestMethod**](RequestMethod.md) | | [optional] +**post_body** | **str** | Enter the OAuth body for the HTTP POST request in this field when using OAuth as the authentication mechanism. No special escaping is required. If content is provided in the post body, the `requestMethod` is automatically set to POST. | [optional] +**headers** | **str** | Request headers used for OAuth. | [optional] +**auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**username** | **str** | OAuth username | [optional] +**password** | **str** | OAuth password | [optional] + +## Example + +```python +from thousandeyes_sdk.instant_tests.models.o_auth import OAuth + +# TODO update the JSON string below +json = "{}" +# create an instance of OAuth from a JSON string +o_auth_instance = OAuth.from_json(json) +# print the JSON string representation of the object +print(OAuth.to_json()) + +# convert the object into a dict +o_auth_dict = o_auth_instance.to_dict() +# create an instance of OAuth from a dict +o_auth_from_dict = OAuth.from_dict(o_auth_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) + + diff --git a/thousandeyes-sdk-instant-tests/docs/PageLoadInstantTest.md b/thousandeyes-sdk-instant-tests/docs/PageLoadInstantTest.md index 3cdc8da7..5eaca3c3 100644 --- a/thousandeyes-sdk-instant-tests/docs/PageLoadInstantTest.md +++ b/thousandeyes-sdk-instant-tests/docs/PageLoadInstantTest.md @@ -19,13 +19,14 @@ Name | Type | Description | Notes **labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] **shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] **auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] **client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] -**content_regex** | **str** | Verify content using a regular expression. This field does not require escaping. | [optional] +**content_regex** | **str** | Content regex, this field does not require escaping. | [optional] **custom_headers** | [**TestCustomHeaders**](TestCustomHeaders.md) | | [optional] -**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. | [optional] [default to '200'] -**emulated_device_id** | **str** | id of the emulated device, if one was given when the test was created | [optional] -**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. | [optional] [default to 'default'] +**download_limit** | **int** | Specifies maximum number of bytes to download from the target object. | [optional] +**dns_override** | **str** | IP address to use for DNS override. | [optional] **http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] **http_time_limit** | **int** | HTTP time limit in seconds. | [optional] [default to 5] **http_version** | **int** | HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1. | [optional] [default to 2] @@ -33,8 +34,7 @@ Name | Type | Description | Notes **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] -**page_load_target_time** | **int** | Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`. | [optional] -**page_load_time_limit** | **int** | Page load time limit. Must be larger than the `httpTimeLimit`. | [optional] [default to 10] +**o_auth** | [**OAuth**](OAuth.md) | | [optional] **password** | **str** | Password for Basic/NTLM authentication. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] @@ -47,16 +47,20 @@ Name | Type | Description | Notes **username** | **str** | Username for Basic/NTLM authentication. | [optional] **verify_certificate** | **bool** | Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. | [optional] [default to False] **allow_unsafe_legacy_renegotiation** | **bool** | Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. | [optional] [default to True] +**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**emulated_device_id** | **str** | ID of the emulated device, if one was given when the test was created. | [optional] +**page_load_target_time** | **int** | Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`. | [optional] +**page_load_time_limit** | **int** | Page load time limit. Must be larger than the `httpTimeLimit`. | [optional] [default to 10] **block_domains** | **str** | Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests. | [optional] **disable_screenshot** | **bool** | Enables or disables screenshots on error. Set true to not capture | [optional] [default to False] **allow_mic_and_camera** | **bool** | Set true allow the use of a fake mic and camera in the browser. | [optional] [default to False] **allow_geolocation** | **bool** | Set true to use the agent’s geolocation by the web page. | [optional] [default to False] **browser_language** | **str** | Set one of the available browser language that you want to use to configure the browser. | [optional] **page_loading_strategy** | [**TestPageLoadingStrategy**](TestPageLoadingStrategy.md) | | [optional] -**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] -**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] -**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/PageLoadInstantTestRequest.md b/thousandeyes-sdk-instant-tests/docs/PageLoadInstantTestRequest.md index 7c29d712..63024b14 100644 --- a/thousandeyes-sdk-instant-tests/docs/PageLoadInstantTestRequest.md +++ b/thousandeyes-sdk-instant-tests/docs/PageLoadInstantTestRequest.md @@ -19,13 +19,14 @@ Name | Type | Description | Notes **labels** | **List[str]** | A list of test label identifiers (get `labelId` from `/labels` endpoint). | [optional] **shared_with_accounts** | **List[str]** | A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint). | [optional] **auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] **client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] -**content_regex** | **str** | Verify content using a regular expression. This field does not require escaping. | [optional] +**content_regex** | **str** | Content regex, this field does not require escaping. | [optional] **custom_headers** | [**TestCustomHeaders**](TestCustomHeaders.md) | | [optional] -**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. | [optional] [default to '200'] -**emulated_device_id** | **str** | id of the emulated device, if one was given when the test was created | [optional] -**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. | [optional] [default to 'default'] +**download_limit** | **int** | Specifies maximum number of bytes to download from the target object. | [optional] +**dns_override** | **str** | IP address to use for DNS override. | [optional] **http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] **http_time_limit** | **int** | HTTP time limit in seconds. | [optional] [default to 5] **http_version** | **int** | HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1. | [optional] [default to 2] @@ -33,8 +34,7 @@ Name | Type | Description | Notes **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] -**page_load_target_time** | **int** | Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`. | [optional] -**page_load_time_limit** | **int** | Page load time limit. Must be larger than the `httpTimeLimit`. | [optional] [default to 10] +**o_auth** | [**OAuth**](OAuth.md) | | [optional] **password** | **str** | Password for Basic/NTLM authentication. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] @@ -47,15 +47,20 @@ Name | Type | Description | Notes **username** | **str** | Username for Basic/NTLM authentication. | [optional] **verify_certificate** | **bool** | Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. | [optional] [default to False] **allow_unsafe_legacy_renegotiation** | **bool** | Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. | [optional] [default to True] +**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**emulated_device_id** | **str** | ID of the emulated device, if one was given when the test was created. | [optional] +**page_load_target_time** | **int** | Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`. | [optional] +**page_load_time_limit** | **int** | Page load time limit. Must be larger than the `httpTimeLimit`. | [optional] [default to 10] **block_domains** | **str** | Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests. | [optional] **disable_screenshot** | **bool** | Enables or disables screenshots on error. Set true to not capture | [optional] [default to False] **allow_mic_and_camera** | **bool** | Set true allow the use of a fake mic and camera in the browser. | [optional] [default to False] **allow_geolocation** | **bool** | Set true to use the agent’s geolocation by the web page. | [optional] [default to False] **browser_language** | **str** | Set one of the available browser language that you want to use to configure the browser. | [optional] **page_loading_strategy** | [**TestPageLoadingStrategy**](TestPageLoadingStrategy.md) | | [optional] -**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] -**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] -**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **agents** | [**List[TestAgent]**](TestAgent.md) | A list of objects with `agentId` (required) and `sourceIpAddress` (optional). | ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/PageLoadInstantTestResponse.md b/thousandeyes-sdk-instant-tests/docs/PageLoadInstantTestResponse.md new file mode 100644 index 00000000..aaa9fd5b --- /dev/null +++ b/thousandeyes-sdk-instant-tests/docs/PageLoadInstantTestResponse.md @@ -0,0 +1,85 @@ +# PageLoadInstantTestResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**created_by** | **str** | User that created the test. | [optional] [readonly] +**created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] +**description** | **str** | A description of the test. | [optional] +**live_share** | **bool** | Indicates if the test is shared with the account group. | [optional] [readonly] +**modified_by** | **str** | User that modified the test. | [optional] [readonly] +**modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] +**saved_event** | **bool** | Indicates if the test is a saved event. | [optional] [readonly] +**test_id** | **str** | Each test is assigned an unique ID; this is used to access test information and results from other endpoints. | [optional] [readonly] +**test_name** | **str** | The name of the test. Test name must be unique. | [optional] +**type** | **str** | | [optional] [readonly] +**links** | [**TestLinks**](TestLinks.md) | | [optional] +**labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] +**shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] +**auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] +**bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] +**client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] +**content_regex** | **str** | Content regex, this field does not require escaping. | [optional] +**custom_headers** | [**TestCustomHeaders**](TestCustomHeaders.md) | | [optional] +**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. | [optional] [default to 'default'] +**download_limit** | **int** | Specifies maximum number of bytes to download from the target object. | [optional] +**dns_override** | **str** | IP address to use for DNS override. | [optional] +**http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] +**http_time_limit** | **int** | HTTP time limit in seconds. | [optional] [default to 5] +**http_version** | **int** | HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1. | [optional] [default to 2] +**include_headers** | **bool** | Set to `true` to capture response headers for objects loaded by the test. | [optional] [default to True] +**mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] +**network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] +**num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**o_auth** | [**OAuth**](OAuth.md) | | [optional] +**password** | **str** | Password for Basic/NTLM authentication. | [optional] +**path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] +**probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] +**protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] +**ssl_version** | **str** | Reflects the verbose SSL protocol version used by a test. | [optional] [readonly] +**ssl_version_id** | [**TestSslVersionId**](TestSslVersionId.md) | | [optional] +**url** | **str** | Target for the test. | +**use_ntlm** | **bool** | Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set. | [optional] +**user_agent** | **str** | User-agent string to be provided during the test. | [optional] +**username** | **str** | Username for Basic/NTLM authentication. | [optional] +**verify_certificate** | **bool** | Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. | [optional] [default to False] +**allow_unsafe_legacy_renegotiation** | **bool** | Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. | [optional] [default to True] +**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**emulated_device_id** | **str** | ID of the emulated device, if one was given when the test was created. | [optional] +**page_load_target_time** | **int** | Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`. | [optional] +**page_load_time_limit** | **int** | Page load time limit. Must be larger than the `httpTimeLimit`. | [optional] [default to 10] +**block_domains** | **str** | Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests. | [optional] +**disable_screenshot** | **bool** | Enables or disables screenshots on error. Set true to not capture | [optional] [default to False] +**allow_mic_and_camera** | **bool** | Set true allow the use of a fake mic and camera in the browser. | [optional] [default to False] +**allow_geolocation** | **bool** | Set true to use the agent’s geolocation by the web page. | [optional] [default to False] +**browser_language** | **str** | Set one of the available browser language that you want to use to configure the browser. | [optional] +**page_loading_strategy** | [**TestPageLoadingStrategy**](TestPageLoadingStrategy.md) | | [optional] +**agents** | [**List[AgentResponse]**](AgentResponse.md) | Contains list of agents. | [optional] + +## Example + +```python +from thousandeyes_sdk.instant_tests.models.page_load_instant_test_response import PageLoadInstantTestResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PageLoadInstantTestResponse from a JSON string +page_load_instant_test_response_instance = PageLoadInstantTestResponse.from_json(json) +# print the JSON string representation of the object +print(PageLoadInstantTestResponse.to_json()) + +# convert the object into a dict +page_load_instant_test_response_dict = page_load_instant_test_response_instance.to_dict() +# create an instance of PageLoadInstantTestResponse from a dict +page_load_instant_test_response_from_dict = PageLoadInstantTestResponse.from_dict(page_load_instant_test_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) + + diff --git a/thousandeyes-sdk-instant-tests/docs/PageLoadProperties.md b/thousandeyes-sdk-instant-tests/docs/PageLoadProperties.md index fc807483..004d43c7 100644 --- a/thousandeyes-sdk-instant-tests/docs/PageLoadProperties.md +++ b/thousandeyes-sdk-instant-tests/docs/PageLoadProperties.md @@ -6,13 +6,14 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] **client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] -**content_regex** | **str** | Verify content using a regular expression. This field does not require escaping. | [optional] +**content_regex** | **str** | Content regex, this field does not require escaping. | [optional] **custom_headers** | [**TestCustomHeaders**](TestCustomHeaders.md) | | [optional] -**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. | [optional] [default to '200'] -**emulated_device_id** | **str** | id of the emulated device, if one was given when the test was created | [optional] -**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. | [optional] [default to 'default'] +**download_limit** | **int** | Specifies maximum number of bytes to download from the target object. | [optional] +**dns_override** | **str** | IP address to use for DNS override. | [optional] **http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] **http_time_limit** | **int** | HTTP time limit in seconds. | [optional] [default to 5] **http_version** | **int** | HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1. | [optional] [default to 2] @@ -20,8 +21,7 @@ Name | Type | Description | Notes **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] -**page_load_target_time** | **int** | Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`. | [optional] -**page_load_time_limit** | **int** | Page load time limit. Must be larger than the `httpTimeLimit`. | [optional] [default to 10] +**o_auth** | [**OAuth**](OAuth.md) | | [optional] **password** | **str** | Password for Basic/NTLM authentication. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] @@ -34,16 +34,21 @@ Name | Type | Description | Notes **username** | **str** | Username for Basic/NTLM authentication. | [optional] **verify_certificate** | **bool** | Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. | [optional] [default to False] **allow_unsafe_legacy_renegotiation** | **bool** | Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. | [optional] [default to True] +**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**emulated_device_id** | **str** | ID of the emulated device, if one was given when the test was created. | [optional] +**page_load_target_time** | **int** | Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`. | [optional] +**page_load_time_limit** | **int** | Page load time limit. Must be larger than the `httpTimeLimit`. | [optional] [default to 10] **block_domains** | **str** | Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests. | [optional] **disable_screenshot** | **bool** | Enables or disables screenshots on error. Set true to not capture | [optional] [default to False] **allow_mic_and_camera** | **bool** | Set true allow the use of a fake mic and camera in the browser. | [optional] [default to False] **allow_geolocation** | **bool** | Set true to use the agent’s geolocation by the web page. | [optional] [default to False] **browser_language** | **str** | Set one of the available browser language that you want to use to configure the browser. | [optional] **page_loading_strategy** | [**TestPageLoadingStrategy**](TestPageLoadingStrategy.md) | | [optional] -**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] **type** | **str** | | [optional] [readonly] -**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] -**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/RequestMethod.md b/thousandeyes-sdk-instant-tests/docs/RequestMethod.md new file mode 100644 index 00000000..06eb0c1c --- /dev/null +++ b/thousandeyes-sdk-instant-tests/docs/RequestMethod.md @@ -0,0 +1,12 @@ +# RequestMethod + +HTTP request method. + +## 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) + + diff --git a/thousandeyes-sdk-instant-tests/docs/SIPServerApi.md b/thousandeyes-sdk-instant-tests/docs/SIPServerInstantTestsApi.md similarity index 74% rename from thousandeyes-sdk-instant-tests/docs/SIPServerApi.md rename to thousandeyes-sdk-instant-tests/docs/SIPServerInstantTestsApi.md index 88fa44aa..2eb216ee 100644 --- a/thousandeyes-sdk-instant-tests/docs/SIPServerApi.md +++ b/thousandeyes-sdk-instant-tests/docs/SIPServerInstantTestsApi.md @@ -1,10 +1,10 @@ -# thousandeyes_sdk.instant_tests.SIPServerApi +# thousandeyes_sdk.instant_tests.SIPServerInstantTestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_sip_server_instant_test**](SIPServerApi.md#create_sip_server_instant_test) | **POST** /v7/tests/sip-server/instant | Create SIP server instant test +[**create_sip_server_instant_test**](SIPServerInstantTestsApi.md#create_sip_server_instant_test) | **POST** /tests/sip-server/instant | Create SIP server instant test # **create_sip_server_instant_test** @@ -20,16 +20,16 @@ Creates and runs a new SIP server instant test. ```python import thousandeyes_sdk.instant_tests -from thousandeyes_sdk.instant_tests.models.expand import Expand +from thousandeyes_sdk.instant_tests.models.expand_instant_test_options import ExpandInstantTestOptions from thousandeyes_sdk.instant_tests.models.sip_server_instant_test_request import SipServerInstantTestRequest from thousandeyes_sdk.instant_tests.models.sip_server_instant_test_response import SipServerInstantTestResponse from thousandeyes_sdk.instant_tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -45,18 +45,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.instant_tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.instant_tests.SIPServerApi(api_client) + api_instance = thousandeyes_sdk.instant_tests.SIPServerInstantTestsApi(api_client) sip_server_instant_test_request = thousandeyes_sdk.instant_tests.SipServerInstantTestRequest() # SipServerInstantTestRequest | 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.instant_tests.Expand()] # List[Expand] | (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. (optional) + expand = [thousandeyes_sdk.instant_tests.ExpandInstantTestOptions()] # List[ExpandInstantTestOptions] | (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. (optional) try: # Create SIP server instant test api_response = api_instance.create_sip_server_instant_test(sip_server_instant_test_request, aid=aid, expand=expand) - print("The response of SIPServerApi->create_sip_server_instant_test:\n") + print("The response of SIPServerInstantTestsApi->create_sip_server_instant_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling SIPServerApi->create_sip_server_instant_test: %s\n" % e) + print("Exception when calling SIPServerInstantTestsApi->create_sip_server_instant_test: %s\n" % e) ``` @@ -68,7 +68,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **sip_server_instant_test_request** | [**SipServerInstantTestRequest**](SipServerInstantTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. | [optional] + **expand** | [**List[ExpandInstantTestOptions]**](ExpandInstantTestOptions.md)| (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. | [optional] ### Return type diff --git a/thousandeyes-sdk-instant-tests/docs/SipServerInstantTest.md b/thousandeyes-sdk-instant-tests/docs/SipServerInstantTest.md index ffad65ef..209f34e6 100644 --- a/thousandeyes-sdk-instant-tests/docs/SipServerInstantTest.md +++ b/thousandeyes-sdk-instant-tests/docs/SipServerInstantTest.md @@ -29,7 +29,6 @@ Name | Type | Description | Notes **sip_time_limit** | **int** | Time limit in milliseconds. | [optional] [default to 5] **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] **ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/SipServerInstantTestResponse.md b/thousandeyes-sdk-instant-tests/docs/SipServerInstantTestResponse.md index bdbbd004..aed16bfd 100644 --- a/thousandeyes-sdk-instant-tests/docs/SipServerInstantTestResponse.md +++ b/thousandeyes-sdk-instant-tests/docs/SipServerInstantTestResponse.md @@ -29,13 +29,13 @@ Name | Type | Description | Notes **sip_time_limit** | **int** | Time limit in milliseconds. | [optional] [default to 5] **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] **ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] **auth_user** | **str** | Username for authentication with SIP server. | [optional] **password** | **str** | Password for Basic/NTLM authentication. | [optional] **port** | **int** | Target port. | [default to 49153] **protocol** | [**SipTestProtocol**](SipTestProtocol.md) | | [optional] **sip_registrar** | **str** | SIP server to be tested, specified by domain name or IP address. | [optional] **user** | **str** | Username for SIP registration, should be unique within a ThousandEyes account group. | [optional] +**agents** | [**List[AgentResponse]**](AgentResponse.md) | Contains list of agents. | [optional] ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/VoiceInstantTest.md b/thousandeyes-sdk-instant-tests/docs/VoiceInstantTest.md index 4a015c31..ad32e035 100644 --- a/thousandeyes-sdk-instant-tests/docs/VoiceInstantTest.md +++ b/thousandeyes-sdk-instant-tests/docs/VoiceInstantTest.md @@ -27,7 +27,6 @@ Name | Type | Description | Notes **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] **port** | **int** | Port number for the chosen protocol. | [optional] **target_agent_id** | **str** | Agent ID of the target agent for the test. | -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/VoiceInstantTestResponse.md b/thousandeyes-sdk-instant-tests/docs/VoiceInstantTestResponse.md new file mode 100644 index 00000000..634c7b3d --- /dev/null +++ b/thousandeyes-sdk-instant-tests/docs/VoiceInstantTestResponse.md @@ -0,0 +1,51 @@ +# VoiceInstantTestResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**created_by** | **str** | User that created the test. | [optional] [readonly] +**created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] +**description** | **str** | A description of the test. | [optional] +**live_share** | **bool** | Indicates if the test is shared with the account group. | [optional] [readonly] +**modified_by** | **str** | User that modified the test. | [optional] [readonly] +**modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] +**saved_event** | **bool** | Indicates if the test is a saved event. | [optional] [readonly] +**test_id** | **str** | Each test is assigned an unique ID; this is used to access test information and results from other endpoints. | [optional] [readonly] +**test_name** | **str** | The name of the test. Test name must be unique. | [optional] +**type** | **str** | | [optional] [readonly] +**links** | [**TestLinks**](TestLinks.md) | | [optional] +**labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] +**shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] +**codec** | **str** | Codec label | [optional] [readonly] +**codec_id** | **str** | Coded ID, [see the list of acceptable values](https://docs.thousandeyes.com/product-documentation/internet-and-wan-monitoring/tests/working-with-test-settings#rtp-stream-advanced-settings-tab) | [optional] +**dscp** | **str** | DSCP label. | [optional] [readonly] +**dscp_id** | [**TestDscpId**](TestDscpId.md) | | [optional] +**duration** | **int** | Duration of the test in seconds. | [optional] [default to 5] +**jitter_buffer** | **int** | De-jitter buffer size in seconds. | [optional] [default to 40] +**num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**port** | **int** | Port number for the chosen protocol. | [optional] +**target_agent_id** | **str** | Agent ID of the target agent for the test. | +**agents** | [**List[AgentResponse]**](AgentResponse.md) | Contains list of agents. | [optional] + +## Example + +```python +from thousandeyes_sdk.instant_tests.models.voice_instant_test_response import VoiceInstantTestResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of VoiceInstantTestResponse from a JSON string +voice_instant_test_response_instance = VoiceInstantTestResponse.from_json(json) +# print the JSON string representation of the object +print(VoiceInstantTestResponse.to_json()) + +# convert the object into a dict +voice_instant_test_response_dict = voice_instant_test_response_instance.to_dict() +# create an instance of VoiceInstantTestResponse from a dict +voice_instant_test_response_from_dict = VoiceInstantTestResponse.from_dict(voice_instant_test_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) + + diff --git a/thousandeyes-sdk-instant-tests/docs/VoiceApi.md b/thousandeyes-sdk-instant-tests/docs/VoiceInstantTestsApi.md similarity index 68% rename from thousandeyes-sdk-instant-tests/docs/VoiceApi.md rename to thousandeyes-sdk-instant-tests/docs/VoiceInstantTestsApi.md index 3fd57a06..ab49cf29 100644 --- a/thousandeyes-sdk-instant-tests/docs/VoiceApi.md +++ b/thousandeyes-sdk-instant-tests/docs/VoiceInstantTestsApi.md @@ -1,14 +1,14 @@ -# thousandeyes_sdk.instant_tests.VoiceApi +# thousandeyes_sdk.instant_tests.VoiceInstantTestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_voice_instant_test**](VoiceApi.md#create_voice_instant_test) | **POST** /v7/tests/voice/instant | Create voice instant test +[**create_voice_instant_test**](VoiceInstantTestsApi.md#create_voice_instant_test) | **POST** /tests/voice/instant | Create voice instant test # **create_voice_instant_test** -> VoiceInstantTest create_voice_instant_test(voice_instant_test_request, aid=aid, expand=expand) +> VoiceInstantTestResponse create_voice_instant_test(voice_instant_test_request, aid=aid, expand=expand) Create voice instant test @@ -20,16 +20,16 @@ Creates and runs a voice instant test. ```python import thousandeyes_sdk.instant_tests -from thousandeyes_sdk.instant_tests.models.expand import Expand -from thousandeyes_sdk.instant_tests.models.voice_instant_test import VoiceInstantTest +from thousandeyes_sdk.instant_tests.models.expand_instant_test_options import ExpandInstantTestOptions from thousandeyes_sdk.instant_tests.models.voice_instant_test_request import VoiceInstantTestRequest +from thousandeyes_sdk.instant_tests.models.voice_instant_test_response import VoiceInstantTestResponse from thousandeyes_sdk.instant_tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -45,18 +45,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.instant_tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.instant_tests.VoiceApi(api_client) + api_instance = thousandeyes_sdk.instant_tests.VoiceInstantTestsApi(api_client) voice_instant_test_request = thousandeyes_sdk.instant_tests.VoiceInstantTestRequest() # VoiceInstantTestRequest | 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.instant_tests.Expand()] # List[Expand] | (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. (optional) + expand = [thousandeyes_sdk.instant_tests.ExpandInstantTestOptions()] # List[ExpandInstantTestOptions] | (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. (optional) try: # Create voice instant test api_response = api_instance.create_voice_instant_test(voice_instant_test_request, aid=aid, expand=expand) - print("The response of VoiceApi->create_voice_instant_test:\n") + print("The response of VoiceInstantTestsApi->create_voice_instant_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling VoiceApi->create_voice_instant_test: %s\n" % e) + print("Exception when calling VoiceInstantTestsApi->create_voice_instant_test: %s\n" % e) ``` @@ -68,11 +68,11 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **voice_instant_test_request** | [**VoiceInstantTestRequest**](VoiceInstantTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. | [optional] + **expand** | [**List[ExpandInstantTestOptions]**](ExpandInstantTestOptions.md)| (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. | [optional] ### Return type -[**VoiceInstantTest**](VoiceInstantTest.md) +[**VoiceInstantTestResponse**](VoiceInstantTestResponse.md) ### Authorization diff --git a/thousandeyes-sdk-instant-tests/docs/WebTransactionInstantTest.md b/thousandeyes-sdk-instant-tests/docs/WebTransactionInstantTest.md index 12730ba5..cab196e5 100644 --- a/thousandeyes-sdk-instant-tests/docs/WebTransactionInstantTest.md +++ b/thousandeyes-sdk-instant-tests/docs/WebTransactionInstantTest.md @@ -19,13 +19,14 @@ Name | Type | Description | Notes **labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] **shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] **auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] **client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] -**content_regex** | **str** | Verify content using a regular expression. This field does not require escaping. | [optional] +**content_regex** | **str** | Content regex, this field does not require escaping. | [optional] **custom_headers** | [**TestCustomHeaders**](TestCustomHeaders.md) | | [optional] -**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. | [optional] [default to '200'] -**emulated_device_id** | **str** | id of the emulated device, if one was given when the test was created | [optional] -**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. | [optional] [default to 'default'] +**download_limit** | **int** | Specifies maximum number of bytes to download from the target object. | [optional] +**dns_override** | **str** | IP address to use for DNS override. | [optional] **http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] **http_time_limit** | **int** | HTTP time limit in seconds. | [optional] [default to 5] **http_version** | **int** | HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1. | [optional] [default to 2] @@ -33,31 +34,34 @@ Name | Type | Description | Notes **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**o_auth** | [**OAuth**](OAuth.md) | | [optional] **password** | **str** | Password for Basic/NTLM authentication. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] **protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] **ssl_version** | **str** | Reflects the verbose SSL protocol version used by a test. | [optional] [readonly] **ssl_version_id** | [**TestSslVersionId**](TestSslVersionId.md) | | [optional] -**target_time** | **int** | Target time for completion, defaults to 50% of time limit specified in seconds. (0 means default behavior) | [optional] -**time_limit** | **int** | Time limit for transaction in seconds. | [optional] [default to 30] -**transaction_script** | **str** | JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ). | **url** | **str** | Target for the test. | **use_ntlm** | **bool** | Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set. | [optional] **user_agent** | **str** | User-agent string to be provided during the test. | [optional] **username** | **str** | Username for Basic/NTLM authentication. | [optional] **verify_certificate** | **bool** | Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. | [optional] [default to False] **allow_unsafe_legacy_renegotiation** | **bool** | Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. | [optional] [default to True] +**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**emulated_device_id** | **str** | ID of the emulated device, if specified when the test was created. | [optional] +**target_time** | **int** | Target completion time. The default is 50% of the specified time limit in seconds. (Set to 0 to use the default behavior). | [optional] +**time_limit** | **int** | Time limit for transaction in seconds. | [optional] [default to 30] +**transaction_script** | **str** | JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ). | **block_domains** | **str** | Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests. | [optional] **disable_screenshot** | **bool** | Enables or disables screenshots on error. Set true to not capture | [optional] [default to False] **allow_mic_and_camera** | **bool** | Set true allow the use of a fake mic and camera in the browser. | [optional] [default to False] **allow_geolocation** | **bool** | Set true to use the agent’s geolocation by the web page. | [optional] [default to False] **browser_language** | **str** | Set one of the available browser language that you want to use to configure the browser. | [optional] **page_loading_strategy** | [**TestPageLoadingStrategy**](TestPageLoadingStrategy.md) | | [optional] -**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] -**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] -**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] **credentials** | **List[str]** | Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint). | [optional] ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/WebTransactionInstantTestRequest.md b/thousandeyes-sdk-instant-tests/docs/WebTransactionInstantTestRequest.md index c8b6bb9c..cf758704 100644 --- a/thousandeyes-sdk-instant-tests/docs/WebTransactionInstantTestRequest.md +++ b/thousandeyes-sdk-instant-tests/docs/WebTransactionInstantTestRequest.md @@ -19,13 +19,14 @@ Name | Type | Description | Notes **labels** | **List[str]** | A list of test label identifiers (get `labelId` from `/labels` endpoint). | [optional] **shared_with_accounts** | **List[str]** | A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint). | [optional] **auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] **client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] -**content_regex** | **str** | Verify content using a regular expression. This field does not require escaping. | [optional] +**content_regex** | **str** | Content regex, this field does not require escaping. | [optional] **custom_headers** | [**TestCustomHeaders**](TestCustomHeaders.md) | | [optional] -**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. | [optional] [default to '200'] -**emulated_device_id** | **str** | id of the emulated device, if one was given when the test was created | [optional] -**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. | [optional] [default to 'default'] +**download_limit** | **int** | Specifies maximum number of bytes to download from the target object. | [optional] +**dns_override** | **str** | IP address to use for DNS override. | [optional] **http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] **http_time_limit** | **int** | HTTP time limit in seconds. | [optional] [default to 5] **http_version** | **int** | HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1. | [optional] [default to 2] @@ -33,32 +34,36 @@ Name | Type | Description | Notes **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**o_auth** | [**OAuth**](OAuth.md) | | [optional] **password** | **str** | Password for Basic/NTLM authentication. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] **protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] **ssl_version** | **str** | Reflects the verbose SSL protocol version used by a test. | [optional] [readonly] **ssl_version_id** | [**TestSslVersionId**](TestSslVersionId.md) | | [optional] -**target_time** | **int** | Target time for completion, defaults to 50% of time limit specified in seconds. (0 means default behavior) | [optional] -**time_limit** | **int** | Time limit for transaction in seconds. | [optional] [default to 30] -**transaction_script** | **str** | JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ). | **url** | **str** | Target for the test. | **use_ntlm** | **bool** | Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set. | [optional] **user_agent** | **str** | User-agent string to be provided during the test. | [optional] **username** | **str** | Username for Basic/NTLM authentication. | [optional] **verify_certificate** | **bool** | Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. | [optional] [default to False] **allow_unsafe_legacy_renegotiation** | **bool** | Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. | [optional] [default to True] +**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**emulated_device_id** | **str** | ID of the emulated device, if specified when the test was created. | [optional] +**target_time** | **int** | Target completion time. The default is 50% of the specified time limit in seconds. (Set to 0 to use the default behavior). | [optional] +**time_limit** | **int** | Time limit for transaction in seconds. | [optional] [default to 30] +**transaction_script** | **str** | JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ). | **block_domains** | **str** | Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests. | [optional] **disable_screenshot** | **bool** | Enables or disables screenshots on error. Set true to not capture | [optional] [default to False] **allow_mic_and_camera** | **bool** | Set true allow the use of a fake mic and camera in the browser. | [optional] [default to False] **allow_geolocation** | **bool** | Set true to use the agent’s geolocation by the web page. | [optional] [default to False] **browser_language** | **str** | Set one of the available browser language that you want to use to configure the browser. | [optional] **page_loading_strategy** | [**TestPageLoadingStrategy**](TestPageLoadingStrategy.md) | | [optional] -**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] -**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] -**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] -**agents** | [**List[TestAgent]**](TestAgent.md) | A list of objects with `agentId` (required) and `sourceIpAddress` (optional). | **credentials** | **List[str]** | Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint). | [optional] +**agents** | [**List[TestAgent]**](TestAgent.md) | A list of objects with `agentId` (required) and `sourceIpAddress` (optional). | ## Example diff --git a/thousandeyes-sdk-instant-tests/docs/WebTransactionInstantTestResponse.md b/thousandeyes-sdk-instant-tests/docs/WebTransactionInstantTestResponse.md new file mode 100644 index 00000000..c27d7bb6 --- /dev/null +++ b/thousandeyes-sdk-instant-tests/docs/WebTransactionInstantTestResponse.md @@ -0,0 +1,87 @@ +# WebTransactionInstantTestResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**created_by** | **str** | User that created the test. | [optional] [readonly] +**created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] +**description** | **str** | A description of the test. | [optional] +**live_share** | **bool** | Indicates if the test is shared with the account group. | [optional] [readonly] +**modified_by** | **str** | User that modified the test. | [optional] [readonly] +**modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] +**saved_event** | **bool** | Indicates if the test is a saved event. | [optional] [readonly] +**test_id** | **str** | Each test is assigned an unique ID; this is used to access test information and results from other endpoints. | [optional] [readonly] +**test_name** | **str** | The name of the test. Test name must be unique. | [optional] +**type** | **str** | | [optional] [readonly] +**links** | [**TestLinks**](TestLinks.md) | | [optional] +**labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] +**shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] +**auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] +**bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] +**client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] +**content_regex** | **str** | Content regex, this field does not require escaping. | [optional] +**custom_headers** | [**TestCustomHeaders**](TestCustomHeaders.md) | | [optional] +**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. | [optional] [default to 'default'] +**download_limit** | **int** | Specifies maximum number of bytes to download from the target object. | [optional] +**dns_override** | **str** | IP address to use for DNS override. | [optional] +**http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] +**http_time_limit** | **int** | HTTP time limit in seconds. | [optional] [default to 5] +**http_version** | **int** | HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1. | [optional] [default to 2] +**include_headers** | **bool** | Set to `true` to capture response headers for objects loaded by the test. | [optional] [default to True] +**mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] +**network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] +**num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**o_auth** | [**OAuth**](OAuth.md) | | [optional] +**password** | **str** | Password for Basic/NTLM authentication. | [optional] +**path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] +**probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] +**protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] +**ssl_version** | **str** | Reflects the verbose SSL protocol version used by a test. | [optional] [readonly] +**ssl_version_id** | [**TestSslVersionId**](TestSslVersionId.md) | | [optional] +**url** | **str** | Target for the test. | +**use_ntlm** | **bool** | Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set. | [optional] +**user_agent** | **str** | User-agent string to be provided during the test. | [optional] +**username** | **str** | Username for Basic/NTLM authentication. | [optional] +**verify_certificate** | **bool** | Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. | [optional] [default to False] +**allow_unsafe_legacy_renegotiation** | **bool** | Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. | [optional] [default to True] +**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**emulated_device_id** | **str** | ID of the emulated device, if specified when the test was created. | [optional] +**target_time** | **int** | Target completion time. The default is 50% of the specified time limit in seconds. (Set to 0 to use the default behavior). | [optional] +**time_limit** | **int** | Time limit for transaction in seconds. | [optional] [default to 30] +**transaction_script** | **str** | JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ). | +**block_domains** | **str** | Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests. | [optional] +**disable_screenshot** | **bool** | Enables or disables screenshots on error. Set true to not capture | [optional] [default to False] +**allow_mic_and_camera** | **bool** | Set true allow the use of a fake mic and camera in the browser. | [optional] [default to False] +**allow_geolocation** | **bool** | Set true to use the agent’s geolocation by the web page. | [optional] [default to False] +**browser_language** | **str** | Set one of the available browser language that you want to use to configure the browser. | [optional] +**page_loading_strategy** | [**TestPageLoadingStrategy**](TestPageLoadingStrategy.md) | | [optional] +**credentials** | **List[str]** | Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint). | [optional] +**agents** | [**List[AgentResponse]**](AgentResponse.md) | Contains list of agents. | [optional] + +## Example + +```python +from thousandeyes_sdk.instant_tests.models.web_transaction_instant_test_response import WebTransactionInstantTestResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of WebTransactionInstantTestResponse from a JSON string +web_transaction_instant_test_response_instance = WebTransactionInstantTestResponse.from_json(json) +# print the JSON string representation of the object +print(WebTransactionInstantTestResponse.to_json()) + +# convert the object into a dict +web_transaction_instant_test_response_dict = web_transaction_instant_test_response_instance.to_dict() +# create an instance of WebTransactionInstantTestResponse from a dict +web_transaction_instant_test_response_from_dict = WebTransactionInstantTestResponse.from_dict(web_transaction_instant_test_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) + + diff --git a/thousandeyes-sdk-instant-tests/docs/WebTransactionApi.md b/thousandeyes-sdk-instant-tests/docs/WebTransactionInstantTestsApi.md similarity index 69% rename from thousandeyes-sdk-instant-tests/docs/WebTransactionApi.md rename to thousandeyes-sdk-instant-tests/docs/WebTransactionInstantTestsApi.md index b62dc42f..0b8271fa 100644 --- a/thousandeyes-sdk-instant-tests/docs/WebTransactionApi.md +++ b/thousandeyes-sdk-instant-tests/docs/WebTransactionInstantTestsApi.md @@ -1,14 +1,14 @@ -# thousandeyes_sdk.instant_tests.WebTransactionApi +# thousandeyes_sdk.instant_tests.WebTransactionInstantTestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_web_transaction_instant_test**](WebTransactionApi.md#create_web_transaction_instant_test) | **POST** /v7/tests/web-transactions/instant | Create web transactions instant test +[**create_web_transaction_instant_test**](WebTransactionInstantTestsApi.md#create_web_transaction_instant_test) | **POST** /tests/web-transactions/instant | Create web transactions instant test # **create_web_transaction_instant_test** -> WebTransactionInstantTest create_web_transaction_instant_test(web_transaction_instant_test_request, aid=aid, expand=expand) +> WebTransactionInstantTestResponse create_web_transaction_instant_test(web_transaction_instant_test_request, aid=aid, expand=expand) Create web transactions instant test @@ -20,16 +20,16 @@ Creates and runs a new Web transactions instant test. ```python import thousandeyes_sdk.instant_tests -from thousandeyes_sdk.instant_tests.models.expand import Expand -from thousandeyes_sdk.instant_tests.models.web_transaction_instant_test import WebTransactionInstantTest +from thousandeyes_sdk.instant_tests.models.expand_instant_test_options import ExpandInstantTestOptions from thousandeyes_sdk.instant_tests.models.web_transaction_instant_test_request import WebTransactionInstantTestRequest +from thousandeyes_sdk.instant_tests.models.web_transaction_instant_test_response import WebTransactionInstantTestResponse from thousandeyes_sdk.instant_tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -45,18 +45,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.instant_tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.instant_tests.WebTransactionApi(api_client) + api_instance = thousandeyes_sdk.instant_tests.WebTransactionInstantTestsApi(api_client) web_transaction_instant_test_request = thousandeyes_sdk.instant_tests.WebTransactionInstantTestRequest() # WebTransactionInstantTestRequest | 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.instant_tests.Expand()] # List[Expand] | (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. (optional) + expand = [thousandeyes_sdk.instant_tests.ExpandInstantTestOptions()] # List[ExpandInstantTestOptions] | (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. (optional) try: # Create web transactions instant test api_response = api_instance.create_web_transaction_instant_test(web_transaction_instant_test_request, aid=aid, expand=expand) - print("The response of WebTransactionApi->create_web_transaction_instant_test:\n") + print("The response of WebTransactionInstantTestsApi->create_web_transaction_instant_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling WebTransactionApi->create_web_transaction_instant_test: %s\n" % e) + print("Exception when calling WebTransactionInstantTestsApi->create_web_transaction_instant_test: %s\n" % e) ``` @@ -68,11 +68,11 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **web_transaction_instant_test_request** | [**WebTransactionInstantTestRequest**](WebTransactionInstantTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. | [optional] + **expand** | [**List[ExpandInstantTestOptions]**](ExpandInstantTestOptions.md)| (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. | [optional] ### Return type -[**WebTransactionInstantTest**](WebTransactionInstantTest.md) +[**WebTransactionInstantTestResponse**](WebTransactionInstantTestResponse.md) ### Authorization diff --git a/thousandeyes-sdk-instant-tests/docs/WebTransactionProperties.md b/thousandeyes-sdk-instant-tests/docs/WebTransactionProperties.md index a9c752f9..ac3cbb06 100644 --- a/thousandeyes-sdk-instant-tests/docs/WebTransactionProperties.md +++ b/thousandeyes-sdk-instant-tests/docs/WebTransactionProperties.md @@ -6,13 +6,14 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] **client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] -**content_regex** | **str** | Verify content using a regular expression. This field does not require escaping. | [optional] +**content_regex** | **str** | Content regex, this field does not require escaping. | [optional] **custom_headers** | [**TestCustomHeaders**](TestCustomHeaders.md) | | [optional] -**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. | [optional] [default to '200'] -**emulated_device_id** | **str** | id of the emulated device, if one was given when the test was created | [optional] -**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. | [optional] [default to 'default'] +**download_limit** | **int** | Specifies maximum number of bytes to download from the target object. | [optional] +**dns_override** | **str** | IP address to use for DNS override. | [optional] **http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] **http_time_limit** | **int** | HTTP time limit in seconds. | [optional] [default to 5] **http_version** | **int** | HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1. | [optional] [default to 2] @@ -20,31 +21,35 @@ Name | Type | Description | Notes **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**o_auth** | [**OAuth**](OAuth.md) | | [optional] **password** | **str** | Password for Basic/NTLM authentication. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] **protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] **ssl_version** | **str** | Reflects the verbose SSL protocol version used by a test. | [optional] [readonly] **ssl_version_id** | [**TestSslVersionId**](TestSslVersionId.md) | | [optional] -**target_time** | **int** | Target time for completion, defaults to 50% of time limit specified in seconds. (0 means default behavior) | [optional] -**time_limit** | **int** | Time limit for transaction in seconds. | [optional] [default to 30] -**transaction_script** | **str** | JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ). | **url** | **str** | Target for the test. | **use_ntlm** | **bool** | Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set. | [optional] **user_agent** | **str** | User-agent string to be provided during the test. | [optional] **username** | **str** | Username for Basic/NTLM authentication. | [optional] **verify_certificate** | **bool** | Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. | [optional] [default to False] **allow_unsafe_legacy_renegotiation** | **bool** | Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. | [optional] [default to True] +**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**emulated_device_id** | **str** | ID of the emulated device, if specified when the test was created. | [optional] +**target_time** | **int** | Target completion time. The default is 50% of the specified time limit in seconds. (Set to 0 to use the default behavior). | [optional] +**time_limit** | **int** | Time limit for transaction in seconds. | [optional] [default to 30] +**transaction_script** | **str** | JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ). | **block_domains** | **str** | Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests. | [optional] **disable_screenshot** | **bool** | Enables or disables screenshots on error. Set true to not capture | [optional] [default to False] **allow_mic_and_camera** | **bool** | Set true allow the use of a fake mic and camera in the browser. | [optional] [default to False] **allow_geolocation** | **bool** | Set true to use the agent’s geolocation by the web page. | [optional] [default to False] **browser_language** | **str** | Set one of the available browser language that you want to use to configure the browser. | [optional] **page_loading_strategy** | [**TestPageLoadingStrategy**](TestPageLoadingStrategy.md) | | [optional] -**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] **type** | **str** | | [optional] [readonly] -**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] -**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] ## Example diff --git a/thousandeyes-sdk-instant-tests/pyproject.toml b/thousandeyes-sdk-instant-tests/pyproject.toml index 970f7585..f10d50ad 100644 --- a/thousandeyes-sdk-instant-tests/pyproject.toml +++ b/thousandeyes-sdk-instant-tests/pyproject.toml @@ -9,9 +9,9 @@ description = "ThousandEyes SDK Instant Tests API" license = { file = "LICENSE" } requires-python = ">= 3.8" dependencies = [ - "urllib3 >= 1.25.3", + "urllib3 >= 2.0.0", "python-dateutil >=2.8.2", - "pydantic >=2", + "pydantic >=2.1.0", "typing-extensions >=4.7.1", "thousandeyes-sdk-core", ] diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/__init__.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/__init__.py index cf6e4b90..55d1b3d8 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/__init__.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/__init__.py @@ -5,9 +5,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -15,33 +14,37 @@ # import apis into sdk package -from thousandeyes_sdk.instant_tests.api.api_api import APIApi -from thousandeyes_sdk.instant_tests.api.agent_to_agent_api import AgentToAgentApi -from thousandeyes_sdk.instant_tests.api.agent_to_server_api import AgentToServerApi -from thousandeyes_sdk.instant_tests.api.dns_security_api import DNSSecurityApi -from thousandeyes_sdk.instant_tests.api.dns_server_api import DNSServerApi -from thousandeyes_sdk.instant_tests.api.dns_trace_api import DNSTraceApi -from thousandeyes_sdk.instant_tests.api.ftp_server_api import FTPServerApi -from thousandeyes_sdk.instant_tests.api.http_page_load_api import HTTPPageLoadApi -from thousandeyes_sdk.instant_tests.api.http_server_api import HTTPServerApi -from thousandeyes_sdk.instant_tests.api.run_api import RunApi -from thousandeyes_sdk.instant_tests.api.sip_server_api import SIPServerApi -from thousandeyes_sdk.instant_tests.api.voice_api import VoiceApi -from thousandeyes_sdk.instant_tests.api.web_transaction_api import WebTransactionApi +from thousandeyes_sdk.instant_tests.api.api_instant_tests_api import APIInstantTestsApi +from thousandeyes_sdk.instant_tests.api.agent_to_agent_instant_tests_api import AgentToAgentInstantTestsApi +from thousandeyes_sdk.instant_tests.api.agent_to_server_instant_tests_api import AgentToServerInstantTestsApi +from thousandeyes_sdk.instant_tests.api.dnssec_instant_tests_api import DNSSECInstantTestsApi +from thousandeyes_sdk.instant_tests.api.dns_server_instant_tests_api import DNSServerInstantTestsApi +from thousandeyes_sdk.instant_tests.api.dns_trace_instant_tests_api import DNSTraceInstantTestsApi +from thousandeyes_sdk.instant_tests.api.ftp_server_instant_tests_api import FTPServerInstantTestsApi +from thousandeyes_sdk.instant_tests.api.http_page_load_instant_tests_api import HTTPPageLoadInstantTestsApi +from thousandeyes_sdk.instant_tests.api.http_server_instant_tests_api import HTTPServerInstantTestsApi +from thousandeyes_sdk.instant_tests.api.instant_tests_api import InstantTestsApi +from thousandeyes_sdk.instant_tests.api.sip_server_instant_tests_api import SIPServerInstantTestsApi +from thousandeyes_sdk.instant_tests.api.voice_instant_tests_api import VoiceInstantTestsApi +from thousandeyes_sdk.instant_tests.api.web_transaction_instant_tests_api import WebTransactionInstantTestsApi # import models into sdk package -from thousandeyes_sdk.instant_tests.models.agent import Agent from thousandeyes_sdk.instant_tests.models.agent_base import AgentBase +from thousandeyes_sdk.instant_tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.instant_tests.models.agent_response import AgentResponse from thousandeyes_sdk.instant_tests.models.agent_to_agent_instant_test import AgentToAgentInstantTest from thousandeyes_sdk.instant_tests.models.agent_to_agent_instant_test_request import AgentToAgentInstantTestRequest +from thousandeyes_sdk.instant_tests.models.agent_to_agent_instant_test_response import AgentToAgentInstantTestResponse from thousandeyes_sdk.instant_tests.models.agent_to_agent_properties import AgentToAgentProperties from thousandeyes_sdk.instant_tests.models.agent_to_agent_test_protocol import AgentToAgentTestProtocol from thousandeyes_sdk.instant_tests.models.agent_to_server_instant_test import AgentToServerInstantTest from thousandeyes_sdk.instant_tests.models.agent_to_server_instant_test_request import AgentToServerInstantTestRequest +from thousandeyes_sdk.instant_tests.models.agent_to_server_instant_test_response import AgentToServerInstantTestResponse from thousandeyes_sdk.instant_tests.models.agent_to_server_properties import AgentToServerProperties from thousandeyes_sdk.instant_tests.models.api_instant_test import ApiInstantTest from thousandeyes_sdk.instant_tests.models.api_instant_test_request import ApiInstantTestRequest +from thousandeyes_sdk.instant_tests.models.api_instant_test_response import ApiInstantTestResponse from thousandeyes_sdk.instant_tests.models.api_predefined_variable import ApiPredefinedVariable from thousandeyes_sdk.instant_tests.models.api_properties import ApiProperties from thousandeyes_sdk.instant_tests.models.api_request import ApiRequest @@ -56,34 +59,42 @@ from thousandeyes_sdk.instant_tests.models.cloud_enterprise_agent_type import Cl from thousandeyes_sdk.instant_tests.models.dns_query_class import DnsQueryClass from thousandeyes_sdk.instant_tests.models.dns_sec_instant_test import DnsSecInstantTest from thousandeyes_sdk.instant_tests.models.dns_sec_instant_test_request import DnsSecInstantTestRequest +from thousandeyes_sdk.instant_tests.models.dns_sec_instant_test_response import DnsSecInstantTestResponse from thousandeyes_sdk.instant_tests.models.dns_sec_properties import DnsSecProperties from thousandeyes_sdk.instant_tests.models.dns_server_instant_test import DnsServerInstantTest from thousandeyes_sdk.instant_tests.models.dns_server_instant_test_request import DnsServerInstantTestRequest +from thousandeyes_sdk.instant_tests.models.dns_server_instant_test_response import DnsServerInstantTestResponse from thousandeyes_sdk.instant_tests.models.dns_server_properties import DnsServerProperties from thousandeyes_sdk.instant_tests.models.dns_servers_request import DnsServersRequest from thousandeyes_sdk.instant_tests.models.dns_trace_instant_test import DnsTraceInstantTest from thousandeyes_sdk.instant_tests.models.dns_trace_instant_test_request import DnsTraceInstantTestRequest +from thousandeyes_sdk.instant_tests.models.dns_trace_instant_test_response import DnsTraceInstantTestResponse from thousandeyes_sdk.instant_tests.models.dns_trace_properties import DnsTraceProperties from thousandeyes_sdk.instant_tests.models.error import Error -from thousandeyes_sdk.instant_tests.models.expand import Expand +from thousandeyes_sdk.instant_tests.models.expand_instant_test_options import ExpandInstantTestOptions from thousandeyes_sdk.instant_tests.models.ftp_server_instant_test import FtpServerInstantTest +from thousandeyes_sdk.instant_tests.models.ftp_server_instant_test_request import FtpServerInstantTestRequest +from thousandeyes_sdk.instant_tests.models.ftp_server_instant_test_response import FtpServerInstantTestResponse from thousandeyes_sdk.instant_tests.models.ftp_server_properties import FtpServerProperties from thousandeyes_sdk.instant_tests.models.ftp_server_request_type import FtpServerRequestType +from thousandeyes_sdk.instant_tests.models.http_server_base_properties import HttpServerBaseProperties from thousandeyes_sdk.instant_tests.models.http_server_instant_test import HttpServerInstantTest from thousandeyes_sdk.instant_tests.models.http_server_instant_test_request import HttpServerInstantTestRequest +from thousandeyes_sdk.instant_tests.models.http_server_instant_test_response import HttpServerInstantTestResponse from thousandeyes_sdk.instant_tests.models.http_server_properties import HttpServerProperties from thousandeyes_sdk.instant_tests.models.instant_test import InstantTest from thousandeyes_sdk.instant_tests.models.instant_test_request import InstantTestRequest from thousandeyes_sdk.instant_tests.models.link import Link +from thousandeyes_sdk.instant_tests.models.o_auth import OAuth from thousandeyes_sdk.instant_tests.models.page_load_instant_test import PageLoadInstantTest from thousandeyes_sdk.instant_tests.models.page_load_instant_test_request import PageLoadInstantTestRequest +from thousandeyes_sdk.instant_tests.models.page_load_instant_test_response import PageLoadInstantTestResponse from thousandeyes_sdk.instant_tests.models.page_load_properties import PageLoadProperties -from thousandeyes_sdk.instant_tests.models.server_instant_test_request import ServerInstantTestRequest +from thousandeyes_sdk.instant_tests.models.request_method import RequestMethod from thousandeyes_sdk.instant_tests.models.shared_with_account import SharedWithAccount from thousandeyes_sdk.instant_tests.models.simple_agent import SimpleAgent from thousandeyes_sdk.instant_tests.models.sip_server_instant_test import SipServerInstantTest from thousandeyes_sdk.instant_tests.models.sip_server_instant_test_request import SipServerInstantTestRequest -from thousandeyes_sdk.instant_tests.models.sip_server_instant_test_request1 import SipServerInstantTestRequest1 from thousandeyes_sdk.instant_tests.models.sip_server_instant_test_response import SipServerInstantTestResponse from thousandeyes_sdk.instant_tests.models.sip_server_properties import SipServerProperties from thousandeyes_sdk.instant_tests.models.sip_test_protocol import SipTestProtocol @@ -111,7 +122,9 @@ from thousandeyes_sdk.instant_tests.models.validation_error import ValidationErr from thousandeyes_sdk.instant_tests.models.validation_error_item import ValidationErrorItem from thousandeyes_sdk.instant_tests.models.voice_instant_test import VoiceInstantTest from thousandeyes_sdk.instant_tests.models.voice_instant_test_request import VoiceInstantTestRequest +from thousandeyes_sdk.instant_tests.models.voice_instant_test_response import VoiceInstantTestResponse from thousandeyes_sdk.instant_tests.models.voice_properties import VoiceProperties from thousandeyes_sdk.instant_tests.models.web_transaction_instant_test import WebTransactionInstantTest from thousandeyes_sdk.instant_tests.models.web_transaction_instant_test_request import WebTransactionInstantTestRequest +from thousandeyes_sdk.instant_tests.models.web_transaction_instant_test_response import WebTransactionInstantTestResponse from thousandeyes_sdk.instant_tests.models.web_transaction_properties import WebTransactionProperties diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/__init__.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/__init__.py index fb65714a..b1565348 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/__init__.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/__init__.py @@ -1,17 +1,17 @@ # flake8: noqa # import apis into api package -from thousandeyes_sdk.instant_tests.api.api_api import APIApi -from thousandeyes_sdk.instant_tests.api.agent_to_agent_api import AgentToAgentApi -from thousandeyes_sdk.instant_tests.api.agent_to_server_api import AgentToServerApi -from thousandeyes_sdk.instant_tests.api.dns_security_api import DNSSecurityApi -from thousandeyes_sdk.instant_tests.api.dns_server_api import DNSServerApi -from thousandeyes_sdk.instant_tests.api.dns_trace_api import DNSTraceApi -from thousandeyes_sdk.instant_tests.api.ftp_server_api import FTPServerApi -from thousandeyes_sdk.instant_tests.api.http_page_load_api import HTTPPageLoadApi -from thousandeyes_sdk.instant_tests.api.http_server_api import HTTPServerApi -from thousandeyes_sdk.instant_tests.api.run_api import RunApi -from thousandeyes_sdk.instant_tests.api.sip_server_api import SIPServerApi -from thousandeyes_sdk.instant_tests.api.voice_api import VoiceApi -from thousandeyes_sdk.instant_tests.api.web_transaction_api import WebTransactionApi +from thousandeyes_sdk.instant_tests.api.api_instant_tests_api import APIInstantTestsApi +from thousandeyes_sdk.instant_tests.api.agent_to_agent_instant_tests_api import AgentToAgentInstantTestsApi +from thousandeyes_sdk.instant_tests.api.agent_to_server_instant_tests_api import AgentToServerInstantTestsApi +from thousandeyes_sdk.instant_tests.api.dnssec_instant_tests_api import DNSSECInstantTestsApi +from thousandeyes_sdk.instant_tests.api.dns_server_instant_tests_api import DNSServerInstantTestsApi +from thousandeyes_sdk.instant_tests.api.dns_trace_instant_tests_api import DNSTraceInstantTestsApi +from thousandeyes_sdk.instant_tests.api.ftp_server_instant_tests_api import FTPServerInstantTestsApi +from thousandeyes_sdk.instant_tests.api.http_page_load_instant_tests_api import HTTPPageLoadInstantTestsApi +from thousandeyes_sdk.instant_tests.api.http_server_instant_tests_api import HTTPServerInstantTestsApi +from thousandeyes_sdk.instant_tests.api.instant_tests_api import InstantTestsApi +from thousandeyes_sdk.instant_tests.api.sip_server_instant_tests_api import SIPServerInstantTestsApi +from thousandeyes_sdk.instant_tests.api.voice_instant_tests_api import VoiceInstantTestsApi +from thousandeyes_sdk.instant_tests.api.web_transaction_instant_tests_api import WebTransactionInstantTestsApi diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/agent_to_agent_api.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/agent_to_agent_instant_tests_api.py similarity index 89% rename from thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/agent_to_agent_api.py rename to thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/agent_to_agent_instant_tests_api.py index 50f251a9..8e8a4e63 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/agent_to_agent_api.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/agent_to_agent_instant_tests_api.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,16 +21,16 @@ import thousandeyes_sdk.instant_tests.models from pydantic import Field, StrictStr from typing import List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.instant_tests.models.agent_to_agent_instant_test import AgentToAgentInstantTest from thousandeyes_sdk.instant_tests.models.agent_to_agent_instant_test_request import AgentToAgentInstantTestRequest -from thousandeyes_sdk.instant_tests.models.expand import Expand +from thousandeyes_sdk.instant_tests.models.agent_to_agent_instant_test_response import AgentToAgentInstantTestResponse +from thousandeyes_sdk.instant_tests.models.expand_instant_test_options import ExpandInstantTestOptions 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 AgentToAgentApi: +class AgentToAgentInstantTestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -50,7 +49,7 @@ class AgentToAgentApi: self, agent_to_agent_instant_test_request: AgentToAgentInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -63,7 +62,7 @@ class AgentToAgentApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AgentToAgentInstantTest: + ) -> AgentToAgentInstantTestResponse: """Create agent-to-agent instant test Creates and runs a new agent-to-agent instant test. @@ -73,7 +72,7 @@ class AgentToAgentApi: :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -107,7 +106,7 @@ class AgentToAgentApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "AgentToAgentInstantTest", + '201': "AgentToAgentInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -133,7 +132,7 @@ class AgentToAgentApi: self, agent_to_agent_instant_test_request: AgentToAgentInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -146,7 +145,7 @@ class AgentToAgentApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AgentToAgentInstantTest]: + ) -> ApiResponse[AgentToAgentInstantTestResponse]: """Create agent-to-agent instant test Creates and runs a new agent-to-agent instant test. @@ -156,7 +155,7 @@ class AgentToAgentApi: :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -190,7 +189,7 @@ class AgentToAgentApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "AgentToAgentInstantTest", + '201': "AgentToAgentInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -216,7 +215,7 @@ class AgentToAgentApi: self, agent_to_agent_instant_test_request: AgentToAgentInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -239,7 +238,7 @@ class AgentToAgentApi: :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -273,7 +272,7 @@ class AgentToAgentApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "AgentToAgentInstantTest", + '201': "AgentToAgentInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -360,7 +359,7 @@ class AgentToAgentApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tests/agent-to-agent/instant', + resource_path='/tests/agent-to-agent/instant', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/agent_to_server_api.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/agent_to_server_instant_tests_api.py similarity index 89% rename from thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/agent_to_server_api.py rename to thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/agent_to_server_instant_tests_api.py index 6d72080d..138bf050 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/agent_to_server_api.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/agent_to_server_instant_tests_api.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,16 +21,16 @@ import thousandeyes_sdk.instant_tests.models from pydantic import Field, StrictStr from typing import List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.instant_tests.models.agent_to_server_instant_test import AgentToServerInstantTest from thousandeyes_sdk.instant_tests.models.agent_to_server_instant_test_request import AgentToServerInstantTestRequest -from thousandeyes_sdk.instant_tests.models.expand import Expand +from thousandeyes_sdk.instant_tests.models.agent_to_server_instant_test_response import AgentToServerInstantTestResponse +from thousandeyes_sdk.instant_tests.models.expand_instant_test_options import ExpandInstantTestOptions 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 AgentToServerApi: +class AgentToServerInstantTestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -50,7 +49,7 @@ class AgentToServerApi: self, agent_to_server_instant_test_request: AgentToServerInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -63,7 +62,7 @@ class AgentToServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AgentToServerInstantTest: + ) -> AgentToServerInstantTestResponse: """Create agent-to-server instant test Creates and runs a new agent-to-server instant test. @@ -73,7 +72,7 @@ class AgentToServerApi: :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -107,7 +106,7 @@ class AgentToServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "AgentToServerInstantTest", + '201': "AgentToServerInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -133,7 +132,7 @@ class AgentToServerApi: self, agent_to_server_instant_test_request: AgentToServerInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -146,7 +145,7 @@ class AgentToServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AgentToServerInstantTest]: + ) -> ApiResponse[AgentToServerInstantTestResponse]: """Create agent-to-server instant test Creates and runs a new agent-to-server instant test. @@ -156,7 +155,7 @@ class AgentToServerApi: :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -190,7 +189,7 @@ class AgentToServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "AgentToServerInstantTest", + '201': "AgentToServerInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -216,7 +215,7 @@ class AgentToServerApi: self, agent_to_server_instant_test_request: AgentToServerInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -239,7 +238,7 @@ class AgentToServerApi: :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -273,7 +272,7 @@ class AgentToServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "AgentToServerInstantTest", + '201': "AgentToServerInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -360,7 +359,7 @@ class AgentToServerApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tests/agent-to-server/instant', + resource_path='/tests/agent-to-server/instant', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/api_api.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/api_instant_tests_api.py similarity index 89% rename from thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/api_api.py rename to thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/api_instant_tests_api.py index aa8afbca..1e516a43 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/api_api.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/api_instant_tests_api.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,16 +21,16 @@ import thousandeyes_sdk.instant_tests.models from pydantic import Field, StrictStr from typing import List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.instant_tests.models.api_instant_test import ApiInstantTest from thousandeyes_sdk.instant_tests.models.api_instant_test_request import ApiInstantTestRequest -from thousandeyes_sdk.instant_tests.models.expand import Expand +from thousandeyes_sdk.instant_tests.models.api_instant_test_response import ApiInstantTestResponse +from thousandeyes_sdk.instant_tests.models.expand_instant_test_options import ExpandInstantTestOptions 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 APIApi: +class APIInstantTestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -50,7 +49,7 @@ class APIApi: self, api_instant_test_request: ApiInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -63,7 +62,7 @@ class APIApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiInstantTest: + ) -> ApiInstantTestResponse: """Create API instant test Creates and runs a new API instant test. @@ -73,7 +72,7 @@ class APIApi: :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -107,7 +106,7 @@ class APIApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "ApiInstantTest", + '201': "ApiInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -133,7 +132,7 @@ class APIApi: self, api_instant_test_request: ApiInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -146,7 +145,7 @@ class APIApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[ApiInstantTest]: + ) -> ApiResponse[ApiInstantTestResponse]: """Create API instant test Creates and runs a new API instant test. @@ -156,7 +155,7 @@ class APIApi: :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -190,7 +189,7 @@ class APIApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "ApiInstantTest", + '201': "ApiInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -216,7 +215,7 @@ class APIApi: self, api_instant_test_request: ApiInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -239,7 +238,7 @@ class APIApi: :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -273,7 +272,7 @@ class APIApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "ApiInstantTest", + '201': "ApiInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -360,7 +359,7 @@ class APIApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tests/api/instant', + resource_path='/tests/api/instant', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/dns_server_api.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/dns_server_instant_tests_api.py similarity index 89% rename from thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/dns_server_api.py rename to thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/dns_server_instant_tests_api.py index 4f066a4d..08e6784d 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/dns_server_api.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/dns_server_instant_tests_api.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,16 +21,16 @@ import thousandeyes_sdk.instant_tests.models from pydantic import Field, StrictStr from typing import List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.instant_tests.models.dns_server_instant_test import DnsServerInstantTest from thousandeyes_sdk.instant_tests.models.dns_server_instant_test_request import DnsServerInstantTestRequest -from thousandeyes_sdk.instant_tests.models.expand import Expand +from thousandeyes_sdk.instant_tests.models.dns_server_instant_test_response import DnsServerInstantTestResponse +from thousandeyes_sdk.instant_tests.models.expand_instant_test_options import ExpandInstantTestOptions 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 DNSServerApi: +class DNSServerInstantTestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -50,7 +49,7 @@ class DNSServerApi: self, dns_server_instant_test_request: DnsServerInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -63,7 +62,7 @@ class DNSServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> DnsServerInstantTest: + ) -> DnsServerInstantTestResponse: """Create DNS server instant test Creates and runs a new DNS server instant test. @@ -73,7 +72,7 @@ class DNSServerApi: :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -107,7 +106,7 @@ class DNSServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "DnsServerInstantTest", + '201': "DnsServerInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -133,7 +132,7 @@ class DNSServerApi: self, dns_server_instant_test_request: DnsServerInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -146,7 +145,7 @@ class DNSServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[DnsServerInstantTest]: + ) -> ApiResponse[DnsServerInstantTestResponse]: """Create DNS server instant test Creates and runs a new DNS server instant test. @@ -156,7 +155,7 @@ class DNSServerApi: :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -190,7 +189,7 @@ class DNSServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "DnsServerInstantTest", + '201': "DnsServerInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -216,7 +215,7 @@ class DNSServerApi: self, dns_server_instant_test_request: DnsServerInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -239,7 +238,7 @@ class DNSServerApi: :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -273,7 +272,7 @@ class DNSServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "DnsServerInstantTest", + '201': "DnsServerInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -360,7 +359,7 @@ class DNSServerApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tests/dns-server/instant', + resource_path='/tests/dns-server/instant', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/dns_trace_api.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/dns_trace_instant_tests_api.py similarity index 89% rename from thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/dns_trace_api.py rename to thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/dns_trace_instant_tests_api.py index 971edffa..f485dec6 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/dns_trace_api.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/dns_trace_instant_tests_api.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,16 +21,16 @@ import thousandeyes_sdk.instant_tests.models from pydantic import Field, StrictStr from typing import List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.instant_tests.models.dns_trace_instant_test import DnsTraceInstantTest from thousandeyes_sdk.instant_tests.models.dns_trace_instant_test_request import DnsTraceInstantTestRequest -from thousandeyes_sdk.instant_tests.models.expand import Expand +from thousandeyes_sdk.instant_tests.models.dns_trace_instant_test_response import DnsTraceInstantTestResponse +from thousandeyes_sdk.instant_tests.models.expand_instant_test_options import ExpandInstantTestOptions 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 DNSTraceApi: +class DNSTraceInstantTestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -50,7 +49,7 @@ class DNSTraceApi: self, dns_trace_instant_test_request: DnsTraceInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -63,7 +62,7 @@ class DNSTraceApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> DnsTraceInstantTest: + ) -> DnsTraceInstantTestResponse: """Create DNS trace instant test Creates and runs a new DNS trace instant test. @@ -73,7 +72,7 @@ class DNSTraceApi: :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -107,7 +106,7 @@ class DNSTraceApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "DnsTraceInstantTest", + '201': "DnsTraceInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -133,7 +132,7 @@ class DNSTraceApi: self, dns_trace_instant_test_request: DnsTraceInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -146,7 +145,7 @@ class DNSTraceApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[DnsTraceInstantTest]: + ) -> ApiResponse[DnsTraceInstantTestResponse]: """Create DNS trace instant test Creates and runs a new DNS trace instant test. @@ -156,7 +155,7 @@ class DNSTraceApi: :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -190,7 +189,7 @@ class DNSTraceApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "DnsTraceInstantTest", + '201': "DnsTraceInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -216,7 +215,7 @@ class DNSTraceApi: self, dns_trace_instant_test_request: DnsTraceInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -239,7 +238,7 @@ class DNSTraceApi: :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -273,7 +272,7 @@ class DNSTraceApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "DnsTraceInstantTest", + '201': "DnsTraceInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -360,7 +359,7 @@ class DNSTraceApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tests/dns-trace/instant', + resource_path='/tests/dns-trace/instant', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/dns_security_api.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/dnssec_instant_tests_api.py similarity index 87% rename from thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/dns_security_api.py rename to thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/dnssec_instant_tests_api.py index 26f7f0b1..f2224ada 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/dns_security_api.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/dnssec_instant_tests_api.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,16 +21,16 @@ import thousandeyes_sdk.instant_tests.models from pydantic import Field, StrictStr from typing import List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.instant_tests.models.dns_sec_instant_test import DnsSecInstantTest from thousandeyes_sdk.instant_tests.models.dns_sec_instant_test_request import DnsSecInstantTestRequest -from thousandeyes_sdk.instant_tests.models.expand import Expand +from thousandeyes_sdk.instant_tests.models.dns_sec_instant_test_response import DnsSecInstantTestResponse +from thousandeyes_sdk.instant_tests.models.expand_instant_test_options import ExpandInstantTestOptions 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 DNSSecurityApi: +class DNSSECInstantTestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -50,7 +49,7 @@ class DNSSecurityApi: self, dns_sec_instant_test_request: DnsSecInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -63,17 +62,17 @@ class DNSSecurityApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> DnsSecInstantTest: - """Create DNS security instant test + ) -> DnsSecInstantTestResponse: + """Create DNSSEC instant test - Creates and runs a new DNS security instant test. + Creates and runs a new DNSSEC instant test. :param dns_sec_instant_test_request: (required) :type dns_sec_instant_test_request: DnsSecInstantTestRequest :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -107,7 +106,7 @@ class DNSSecurityApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "DnsSecInstantTest", + '201': "DnsSecInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -133,7 +132,7 @@ class DNSSecurityApi: self, dns_sec_instant_test_request: DnsSecInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -146,17 +145,17 @@ class DNSSecurityApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[DnsSecInstantTest]: - """Create DNS security instant test + ) -> ApiResponse[DnsSecInstantTestResponse]: + """Create DNSSEC instant test - Creates and runs a new DNS security instant test. + Creates and runs a new DNSSEC instant test. :param dns_sec_instant_test_request: (required) :type dns_sec_instant_test_request: DnsSecInstantTestRequest :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -190,7 +189,7 @@ class DNSSecurityApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "DnsSecInstantTest", + '201': "DnsSecInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -216,7 +215,7 @@ class DNSSecurityApi: self, dns_sec_instant_test_request: DnsSecInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -230,16 +229,16 @@ class DNSSecurityApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Create DNS security instant test + """Create DNSSEC instant test - Creates and runs a new DNS security instant test. + Creates and runs a new DNSSEC instant test. :param dns_sec_instant_test_request: (required) :type dns_sec_instant_test_request: DnsSecInstantTestRequest :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -273,7 +272,7 @@ class DNSSecurityApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "DnsSecInstantTest", + '201': "DnsSecInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -360,7 +359,7 @@ class DNSSecurityApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tests/dnssec/instant', + resource_path='/tests/dnssec/instant', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/ftp_server_api.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/ftp_server_instant_tests_api.py similarity index 83% rename from thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/ftp_server_api.py rename to thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/ftp_server_instant_tests_api.py index 6826d03a..3aa354e4 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/ftp_server_api.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/ftp_server_instant_tests_api.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,16 +21,16 @@ import thousandeyes_sdk.instant_tests.models from pydantic import Field, StrictStr from typing import List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.instant_tests.models.expand import Expand -from thousandeyes_sdk.instant_tests.models.ftp_server_instant_test import FtpServerInstantTest -from thousandeyes_sdk.instant_tests.models.server_instant_test_request import ServerInstantTestRequest +from thousandeyes_sdk.instant_tests.models.expand_instant_test_options import ExpandInstantTestOptions +from thousandeyes_sdk.instant_tests.models.ftp_server_instant_test_request import FtpServerInstantTestRequest +from thousandeyes_sdk.instant_tests.models.ftp_server_instant_test_response import FtpServerInstantTestResponse 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 FTPServerApi: +class FTPServerInstantTestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -48,9 +47,9 @@ class FTPServerApi: @validate_call def create_ftp_server_instant_test( self, - server_instant_test_request: ServerInstantTestRequest, + ftp_server_instant_test_request: FtpServerInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -63,17 +62,17 @@ class FTPServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> FtpServerInstantTest: + ) -> FtpServerInstantTestResponse: """Create FTP server instant test Creates and runs a new FTP server instant test. - :param server_instant_test_request: (required) - :type server_instant_test_request: ServerInstantTestRequest + :param ftp_server_instant_test_request: (required) + :type ftp_server_instant_test_request: FtpServerInstantTestRequest :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -97,7 +96,7 @@ class FTPServerApi: """ # noqa: E501 _param = self._create_ftp_server_instant_test_serialize( - server_instant_test_request=server_instant_test_request, + ftp_server_instant_test_request=ftp_server_instant_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -107,7 +106,7 @@ class FTPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "FtpServerInstantTest", + '201': "FtpServerInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -131,9 +130,9 @@ class FTPServerApi: @validate_call def create_ftp_server_instant_test_with_http_info( self, - server_instant_test_request: ServerInstantTestRequest, + ftp_server_instant_test_request: FtpServerInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -146,17 +145,17 @@ class FTPServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[FtpServerInstantTest]: + ) -> ApiResponse[FtpServerInstantTestResponse]: """Create FTP server instant test Creates and runs a new FTP server instant test. - :param server_instant_test_request: (required) - :type server_instant_test_request: ServerInstantTestRequest + :param ftp_server_instant_test_request: (required) + :type ftp_server_instant_test_request: FtpServerInstantTestRequest :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -180,7 +179,7 @@ class FTPServerApi: """ # noqa: E501 _param = self._create_ftp_server_instant_test_serialize( - server_instant_test_request=server_instant_test_request, + ftp_server_instant_test_request=ftp_server_instant_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -190,7 +189,7 @@ class FTPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "FtpServerInstantTest", + '201': "FtpServerInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -214,9 +213,9 @@ class FTPServerApi: @validate_call def create_ftp_server_instant_test_without_preload_content( self, - server_instant_test_request: ServerInstantTestRequest, + ftp_server_instant_test_request: FtpServerInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -234,12 +233,12 @@ class FTPServerApi: Creates and runs a new FTP server instant test. - :param server_instant_test_request: (required) - :type server_instant_test_request: ServerInstantTestRequest + :param ftp_server_instant_test_request: (required) + :type ftp_server_instant_test_request: FtpServerInstantTestRequest :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -263,7 +262,7 @@ class FTPServerApi: """ # noqa: E501 _param = self._create_ftp_server_instant_test_serialize( - server_instant_test_request=server_instant_test_request, + ftp_server_instant_test_request=ftp_server_instant_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -273,7 +272,7 @@ class FTPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "FtpServerInstantTest", + '201': "FtpServerInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -291,7 +290,7 @@ class FTPServerApi: def _create_ftp_server_instant_test_serialize( self, - server_instant_test_request, + ftp_server_instant_test_request, aid, expand, _request_auth, @@ -326,8 +325,8 @@ class FTPServerApi: # process the header parameters # process the form parameters # process the body parameter - if server_instant_test_request is not None: - _body_params = server_instant_test_request + if ftp_server_instant_test_request is not None: + _body_params = ftp_server_instant_test_request # set the HTTP header `Accept` @@ -360,7 +359,7 @@ class FTPServerApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tests/ftp-server/instant', + resource_path='/tests/ftp-server/instant', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/http_page_load_api.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/http_page_load_instant_tests_api.py similarity index 89% rename from thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/http_page_load_api.py rename to thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/http_page_load_instant_tests_api.py index 19ac016f..bb5c06c6 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/http_page_load_api.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/http_page_load_instant_tests_api.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,16 +21,16 @@ import thousandeyes_sdk.instant_tests.models from pydantic import Field, StrictStr from typing import List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.instant_tests.models.expand import Expand -from thousandeyes_sdk.instant_tests.models.page_load_instant_test import PageLoadInstantTest +from thousandeyes_sdk.instant_tests.models.expand_instant_test_options import ExpandInstantTestOptions from thousandeyes_sdk.instant_tests.models.page_load_instant_test_request import PageLoadInstantTestRequest +from thousandeyes_sdk.instant_tests.models.page_load_instant_test_response import PageLoadInstantTestResponse 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 HTTPPageLoadApi: +class HTTPPageLoadInstantTestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -50,7 +49,7 @@ class HTTPPageLoadApi: self, page_load_instant_test_request: PageLoadInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -63,7 +62,7 @@ class HTTPPageLoadApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PageLoadInstantTest: + ) -> PageLoadInstantTestResponse: """Create HTTP page load instant test Creates and runs a new HTTP page load instant test. @@ -73,7 +72,7 @@ class HTTPPageLoadApi: :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -107,7 +106,7 @@ class HTTPPageLoadApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "PageLoadInstantTest", + '201': "PageLoadInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -133,7 +132,7 @@ class HTTPPageLoadApi: self, page_load_instant_test_request: PageLoadInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -146,7 +145,7 @@ class HTTPPageLoadApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PageLoadInstantTest]: + ) -> ApiResponse[PageLoadInstantTestResponse]: """Create HTTP page load instant test Creates and runs a new HTTP page load instant test. @@ -156,7 +155,7 @@ class HTTPPageLoadApi: :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -190,7 +189,7 @@ class HTTPPageLoadApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "PageLoadInstantTest", + '201': "PageLoadInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -216,7 +215,7 @@ class HTTPPageLoadApi: self, page_load_instant_test_request: PageLoadInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -239,7 +238,7 @@ class HTTPPageLoadApi: :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -273,7 +272,7 @@ class HTTPPageLoadApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "PageLoadInstantTest", + '201': "PageLoadInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -360,7 +359,7 @@ class HTTPPageLoadApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tests/page-load/instant', + resource_path='/tests/page-load/instant', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/http_server_api.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/http_server_instant_tests_api.py similarity index 89% rename from thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/http_server_api.py rename to thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/http_server_instant_tests_api.py index e392b87e..0796958d 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/http_server_api.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/http_server_instant_tests_api.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,16 +21,16 @@ import thousandeyes_sdk.instant_tests.models from pydantic import Field, StrictStr from typing import List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.instant_tests.models.expand import Expand -from thousandeyes_sdk.instant_tests.models.http_server_instant_test import HttpServerInstantTest +from thousandeyes_sdk.instant_tests.models.expand_instant_test_options import ExpandInstantTestOptions from thousandeyes_sdk.instant_tests.models.http_server_instant_test_request import HttpServerInstantTestRequest +from thousandeyes_sdk.instant_tests.models.http_server_instant_test_response import HttpServerInstantTestResponse 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 HTTPServerApi: +class HTTPServerInstantTestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -50,7 +49,7 @@ class HTTPServerApi: self, http_server_instant_test_request: HttpServerInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -63,7 +62,7 @@ class HTTPServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> HttpServerInstantTest: + ) -> HttpServerInstantTestResponse: """Create HTTP server instant test Creates and runs a new HTTP server instant test. @@ -73,7 +72,7 @@ class HTTPServerApi: :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -107,7 +106,7 @@ class HTTPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "HttpServerInstantTest", + '201': "HttpServerInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -133,7 +132,7 @@ class HTTPServerApi: self, http_server_instant_test_request: HttpServerInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -146,7 +145,7 @@ class HTTPServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[HttpServerInstantTest]: + ) -> ApiResponse[HttpServerInstantTestResponse]: """Create HTTP server instant test Creates and runs a new HTTP server instant test. @@ -156,7 +155,7 @@ class HTTPServerApi: :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -190,7 +189,7 @@ class HTTPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "HttpServerInstantTest", + '201': "HttpServerInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -216,7 +215,7 @@ class HTTPServerApi: self, http_server_instant_test_request: HttpServerInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -239,7 +238,7 @@ class HTTPServerApi: :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -273,7 +272,7 @@ class HTTPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "HttpServerInstantTest", + '201': "HttpServerInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -360,7 +359,7 @@ class HTTPServerApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tests/http-server/instant', + resource_path='/tests/http-server/instant', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/run_api.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/instant_tests_api.py similarity index 95% rename from thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/run_api.py rename to thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/instant_tests_api.py index f473031e..95cac938 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/run_api.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/instant_tests_api.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,7 +27,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class RunApi: +class InstantTestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -322,7 +321,7 @@ class RunApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tests/{testId}/run', + resource_path='/tests/{testId}/run', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/sip_server_api.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/sip_server_instant_tests_api.py similarity index 90% rename from thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/sip_server_api.py rename to thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/sip_server_instant_tests_api.py index 3328c901..e529ea64 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/sip_server_api.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/sip_server_instant_tests_api.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,7 +21,7 @@ import thousandeyes_sdk.instant_tests.models from pydantic import Field, StrictStr from typing import List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.instant_tests.models.expand import Expand +from thousandeyes_sdk.instant_tests.models.expand_instant_test_options import ExpandInstantTestOptions from thousandeyes_sdk.instant_tests.models.sip_server_instant_test_request import SipServerInstantTestRequest from thousandeyes_sdk.instant_tests.models.sip_server_instant_test_response import SipServerInstantTestResponse @@ -31,7 +30,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class SIPServerApi: +class SIPServerInstantTestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -50,7 +49,7 @@ class SIPServerApi: self, sip_server_instant_test_request: SipServerInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -73,7 +72,7 @@ class SIPServerApi: :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -133,7 +132,7 @@ class SIPServerApi: self, sip_server_instant_test_request: SipServerInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -156,7 +155,7 @@ class SIPServerApi: :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -216,7 +215,7 @@ class SIPServerApi: self, sip_server_instant_test_request: SipServerInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -239,7 +238,7 @@ class SIPServerApi: :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -360,7 +359,7 @@ class SIPServerApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tests/sip-server/instant', + resource_path='/tests/sip-server/instant', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/voice_api.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/voice_instant_tests_api.py similarity index 89% rename from thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/voice_api.py rename to thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/voice_instant_tests_api.py index 74a053df..2e46605a 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/voice_api.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/voice_instant_tests_api.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,16 +21,16 @@ import thousandeyes_sdk.instant_tests.models from pydantic import Field, StrictStr from typing import List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.instant_tests.models.expand import Expand -from thousandeyes_sdk.instant_tests.models.voice_instant_test import VoiceInstantTest +from thousandeyes_sdk.instant_tests.models.expand_instant_test_options import ExpandInstantTestOptions from thousandeyes_sdk.instant_tests.models.voice_instant_test_request import VoiceInstantTestRequest +from thousandeyes_sdk.instant_tests.models.voice_instant_test_response import VoiceInstantTestResponse 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 VoiceApi: +class VoiceInstantTestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -50,7 +49,7 @@ class VoiceApi: self, voice_instant_test_request: VoiceInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -63,7 +62,7 @@ class VoiceApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> VoiceInstantTest: + ) -> VoiceInstantTestResponse: """Create voice instant test Creates and runs a voice instant test. @@ -73,7 +72,7 @@ class VoiceApi: :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -107,7 +106,7 @@ class VoiceApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "VoiceInstantTest", + '201': "VoiceInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -133,7 +132,7 @@ class VoiceApi: self, voice_instant_test_request: VoiceInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -146,7 +145,7 @@ class VoiceApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[VoiceInstantTest]: + ) -> ApiResponse[VoiceInstantTestResponse]: """Create voice instant test Creates and runs a voice instant test. @@ -156,7 +155,7 @@ class VoiceApi: :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -190,7 +189,7 @@ class VoiceApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "VoiceInstantTest", + '201': "VoiceInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -216,7 +215,7 @@ class VoiceApi: self, voice_instant_test_request: VoiceInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -239,7 +238,7 @@ class VoiceApi: :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -273,7 +272,7 @@ class VoiceApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "VoiceInstantTest", + '201': "VoiceInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -360,7 +359,7 @@ class VoiceApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tests/voice/instant', + resource_path='/tests/voice/instant', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/web_transaction_api.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/web_transaction_instant_tests_api.py similarity index 89% rename from thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/web_transaction_api.py rename to thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/web_transaction_instant_tests_api.py index 128f9deb..a01a57ec 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/web_transaction_api.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/api/web_transaction_instant_tests_api.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,16 +21,16 @@ import thousandeyes_sdk.instant_tests.models from pydantic import Field, StrictStr from typing import List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.instant_tests.models.expand import Expand -from thousandeyes_sdk.instant_tests.models.web_transaction_instant_test import WebTransactionInstantTest +from thousandeyes_sdk.instant_tests.models.expand_instant_test_options import ExpandInstantTestOptions from thousandeyes_sdk.instant_tests.models.web_transaction_instant_test_request import WebTransactionInstantTestRequest +from thousandeyes_sdk.instant_tests.models.web_transaction_instant_test_response import WebTransactionInstantTestResponse 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 WebTransactionApi: +class WebTransactionInstantTestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -50,7 +49,7 @@ class WebTransactionApi: self, web_transaction_instant_test_request: WebTransactionInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -63,7 +62,7 @@ class WebTransactionApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> WebTransactionInstantTest: + ) -> WebTransactionInstantTestResponse: """Create web transactions instant test Creates and runs a new Web transactions instant test. @@ -73,7 +72,7 @@ class WebTransactionApi: :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -107,7 +106,7 @@ class WebTransactionApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "WebTransactionInstantTest", + '201': "WebTransactionInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -133,7 +132,7 @@ class WebTransactionApi: self, web_transaction_instant_test_request: WebTransactionInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -146,7 +145,7 @@ class WebTransactionApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[WebTransactionInstantTest]: + ) -> ApiResponse[WebTransactionInstantTestResponse]: """Create web transactions instant test Creates and runs a new Web transactions instant test. @@ -156,7 +155,7 @@ class WebTransactionApi: :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -190,7 +189,7 @@ class WebTransactionApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "WebTransactionInstantTest", + '201': "WebTransactionInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -216,7 +215,7 @@ class WebTransactionApi: self, web_transaction_instant_test_request: WebTransactionInstantTestRequest, 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) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, + expand: Annotated[Optional[List[ExpandInstantTestOptions]], Field(description="(Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -239,7 +238,7 @@ class WebTransactionApi: :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 expand: (Optional) Indicates if the test sub-resources should be expanded. Defaults to no expansion. To expand the `agents` sub-resource, use the query `?expand=agent`. - :type expand: List[Expand] + :type expand: List[ExpandInstantTestOptions] :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 @@ -273,7 +272,7 @@ class WebTransactionApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "WebTransactionInstantTest", + '201': "WebTransactionInstantTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -360,7 +359,7 @@ class WebTransactionApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tests/web-transactions/instant', + resource_path='/tests/web-transactions/instant', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/__init__.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/__init__.py index c77cb2a9..fa8d49ab 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/__init__.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/__init__.py @@ -4,9 +4,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -14,17 +13,21 @@ # import models into model package -from thousandeyes_sdk.instant_tests.models.agent import Agent from thousandeyes_sdk.instant_tests.models.agent_base import AgentBase +from thousandeyes_sdk.instant_tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.instant_tests.models.agent_response import AgentResponse from thousandeyes_sdk.instant_tests.models.agent_to_agent_instant_test import AgentToAgentInstantTest from thousandeyes_sdk.instant_tests.models.agent_to_agent_instant_test_request import AgentToAgentInstantTestRequest +from thousandeyes_sdk.instant_tests.models.agent_to_agent_instant_test_response import AgentToAgentInstantTestResponse from thousandeyes_sdk.instant_tests.models.agent_to_agent_properties import AgentToAgentProperties from thousandeyes_sdk.instant_tests.models.agent_to_agent_test_protocol import AgentToAgentTestProtocol from thousandeyes_sdk.instant_tests.models.agent_to_server_instant_test import AgentToServerInstantTest from thousandeyes_sdk.instant_tests.models.agent_to_server_instant_test_request import AgentToServerInstantTestRequest +from thousandeyes_sdk.instant_tests.models.agent_to_server_instant_test_response import AgentToServerInstantTestResponse from thousandeyes_sdk.instant_tests.models.agent_to_server_properties import AgentToServerProperties from thousandeyes_sdk.instant_tests.models.api_instant_test import ApiInstantTest from thousandeyes_sdk.instant_tests.models.api_instant_test_request import ApiInstantTestRequest +from thousandeyes_sdk.instant_tests.models.api_instant_test_response import ApiInstantTestResponse from thousandeyes_sdk.instant_tests.models.api_predefined_variable import ApiPredefinedVariable from thousandeyes_sdk.instant_tests.models.api_properties import ApiProperties from thousandeyes_sdk.instant_tests.models.api_request import ApiRequest @@ -39,34 +42,42 @@ from thousandeyes_sdk.instant_tests.models.cloud_enterprise_agent_type import Cl from thousandeyes_sdk.instant_tests.models.dns_query_class import DnsQueryClass from thousandeyes_sdk.instant_tests.models.dns_sec_instant_test import DnsSecInstantTest from thousandeyes_sdk.instant_tests.models.dns_sec_instant_test_request import DnsSecInstantTestRequest +from thousandeyes_sdk.instant_tests.models.dns_sec_instant_test_response import DnsSecInstantTestResponse from thousandeyes_sdk.instant_tests.models.dns_sec_properties import DnsSecProperties from thousandeyes_sdk.instant_tests.models.dns_server_instant_test import DnsServerInstantTest from thousandeyes_sdk.instant_tests.models.dns_server_instant_test_request import DnsServerInstantTestRequest +from thousandeyes_sdk.instant_tests.models.dns_server_instant_test_response import DnsServerInstantTestResponse from thousandeyes_sdk.instant_tests.models.dns_server_properties import DnsServerProperties from thousandeyes_sdk.instant_tests.models.dns_servers_request import DnsServersRequest from thousandeyes_sdk.instant_tests.models.dns_trace_instant_test import DnsTraceInstantTest from thousandeyes_sdk.instant_tests.models.dns_trace_instant_test_request import DnsTraceInstantTestRequest +from thousandeyes_sdk.instant_tests.models.dns_trace_instant_test_response import DnsTraceInstantTestResponse from thousandeyes_sdk.instant_tests.models.dns_trace_properties import DnsTraceProperties from thousandeyes_sdk.instant_tests.models.error import Error -from thousandeyes_sdk.instant_tests.models.expand import Expand +from thousandeyes_sdk.instant_tests.models.expand_instant_test_options import ExpandInstantTestOptions from thousandeyes_sdk.instant_tests.models.ftp_server_instant_test import FtpServerInstantTest +from thousandeyes_sdk.instant_tests.models.ftp_server_instant_test_request import FtpServerInstantTestRequest +from thousandeyes_sdk.instant_tests.models.ftp_server_instant_test_response import FtpServerInstantTestResponse from thousandeyes_sdk.instant_tests.models.ftp_server_properties import FtpServerProperties from thousandeyes_sdk.instant_tests.models.ftp_server_request_type import FtpServerRequestType +from thousandeyes_sdk.instant_tests.models.http_server_base_properties import HttpServerBaseProperties from thousandeyes_sdk.instant_tests.models.http_server_instant_test import HttpServerInstantTest from thousandeyes_sdk.instant_tests.models.http_server_instant_test_request import HttpServerInstantTestRequest +from thousandeyes_sdk.instant_tests.models.http_server_instant_test_response import HttpServerInstantTestResponse from thousandeyes_sdk.instant_tests.models.http_server_properties import HttpServerProperties from thousandeyes_sdk.instant_tests.models.instant_test import InstantTest from thousandeyes_sdk.instant_tests.models.instant_test_request import InstantTestRequest from thousandeyes_sdk.instant_tests.models.link import Link +from thousandeyes_sdk.instant_tests.models.o_auth import OAuth from thousandeyes_sdk.instant_tests.models.page_load_instant_test import PageLoadInstantTest from thousandeyes_sdk.instant_tests.models.page_load_instant_test_request import PageLoadInstantTestRequest +from thousandeyes_sdk.instant_tests.models.page_load_instant_test_response import PageLoadInstantTestResponse from thousandeyes_sdk.instant_tests.models.page_load_properties import PageLoadProperties -from thousandeyes_sdk.instant_tests.models.server_instant_test_request import ServerInstantTestRequest +from thousandeyes_sdk.instant_tests.models.request_method import RequestMethod from thousandeyes_sdk.instant_tests.models.shared_with_account import SharedWithAccount from thousandeyes_sdk.instant_tests.models.simple_agent import SimpleAgent from thousandeyes_sdk.instant_tests.models.sip_server_instant_test import SipServerInstantTest from thousandeyes_sdk.instant_tests.models.sip_server_instant_test_request import SipServerInstantTestRequest -from thousandeyes_sdk.instant_tests.models.sip_server_instant_test_request1 import SipServerInstantTestRequest1 from thousandeyes_sdk.instant_tests.models.sip_server_instant_test_response import SipServerInstantTestResponse from thousandeyes_sdk.instant_tests.models.sip_server_properties import SipServerProperties from thousandeyes_sdk.instant_tests.models.sip_test_protocol import SipTestProtocol @@ -94,7 +105,9 @@ from thousandeyes_sdk.instant_tests.models.validation_error import ValidationErr from thousandeyes_sdk.instant_tests.models.validation_error_item import ValidationErrorItem from thousandeyes_sdk.instant_tests.models.voice_instant_test import VoiceInstantTest from thousandeyes_sdk.instant_tests.models.voice_instant_test_request import VoiceInstantTestRequest +from thousandeyes_sdk.instant_tests.models.voice_instant_test_response import VoiceInstantTestResponse from thousandeyes_sdk.instant_tests.models.voice_properties import VoiceProperties from thousandeyes_sdk.instant_tests.models.web_transaction_instant_test import WebTransactionInstantTest from thousandeyes_sdk.instant_tests.models.web_transaction_instant_test_request import WebTransactionInstantTestRequest +from thousandeyes_sdk.instant_tests.models.web_transaction_instant_test_response import WebTransactionInstantTestResponse from thousandeyes_sdk.instant_tests.models.web_transaction_properties import WebTransactionProperties diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_base.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_base.py index 131b1039..5a77a8ee 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_base.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_base.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_interfaces.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_interfaces.py new file mode 100644 index 00000000..699f53e2 --- /dev/null +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_interfaces.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Instant Tests API + + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + + 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 AgentInterfaces(BaseModel): + """ + AgentInterfaces + """ # noqa: E501 + ip_address: Optional[StrictStr] = Field(default=None, description="IP address of the agent interface.", alias="ipAddress") + agent_id: Optional[StrictStr] = Field(default=None, description="The agent ID of the enterprise agent for the test.", alias="agentId") + __properties: ClassVar[List[str]] = ["ipAddress", "agentId"] + + 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 AgentInterfaces 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 AgentInterfaces from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "ipAddress": obj.get("ipAddress"), + "agentId": obj.get("agentId") + }) + return _obj + + diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_response.py similarity index 88% rename from thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent.py rename to thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_response.py index 6e5e4a0b..360f4793 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_response.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -23,9 +22,9 @@ from thousandeyes_sdk.instant_tests.models.cloud_enterprise_agent_type import Cl from typing import Optional, Set from typing_extensions import Self -class Agent(BaseModel): +class AgentResponse(BaseModel): """ - Agent + 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") @@ -59,7 +58,7 @@ class Agent(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of Agent from a JSON string""" + """Create an instance of AgentResponse from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -100,7 +99,7 @@ class Agent(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of Agent from a dict""" + """Create an instance of AgentResponse from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_agent_instant_test.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_agent_instant_test.py index 254989d1..d2fa19f3 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_agent_instant_test.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_agent_instant_test.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,7 +20,6 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.instant_tests.models.agent import Agent from thousandeyes_sdk.instant_tests.models.agent_to_agent_test_protocol import AgentToAgentTestProtocol from thousandeyes_sdk.instant_tests.models.shared_with_account import SharedWithAccount from thousandeyes_sdk.instant_tests.models.test_direction import TestDirection @@ -62,8 +60,7 @@ class AgentToAgentInstantTest(BaseModel): throughput_duration: Optional[Annotated[int, Field(le=30000, strict=True, ge=5000)]] = Field(default=10000, description="The throughput duration.", alias="throughputDuration") throughput_rate: Optional[Annotated[int, Field(le=1000, strict=True, ge=8)]] = Field(default=None, description="The throughput rate, only applicable for UDP protocol.", alias="throughputRate") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "direction", "dscp", "dscpId", "mss", "numPathTraces", "pathTraceMode", "port", "protocol", "targetAgentId", "throughputMeasurements", "throughputDuration", "throughputRate", "fixedPacketRate", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "direction", "dscp", "dscpId", "mss", "numPathTraces", "pathTraceMode", "port", "protocol", "targetAgentId", "throughputMeasurements", "throughputDuration", "throughputRate", "fixedPacketRate"] model_config = ConfigDict( populate_by_name=True, @@ -107,7 +104,6 @@ class AgentToAgentInstantTest(BaseModel): * 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([ "created_by", @@ -121,7 +117,6 @@ class AgentToAgentInstantTest(BaseModel): "labels", "shared_with_accounts", "dscp", - "agents", ]) _dict = self.model_dump( @@ -146,13 +141,6 @@ class AgentToAgentInstantTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['sharedWithAccounts'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items return _dict @classmethod @@ -190,8 +178,7 @@ class AgentToAgentInstantTest(BaseModel): "throughputMeasurements": obj.get("throughputMeasurements") if obj.get("throughputMeasurements") is not None else False, "throughputDuration": obj.get("throughputDuration") if obj.get("throughputDuration") is not None else 10000, "throughputRate": obj.get("throughputRate"), - "fixedPacketRate": obj.get("fixedPacketRate"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "fixedPacketRate": obj.get("fixedPacketRate") }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_agent_instant_test_request.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_agent_instant_test_request.py index d5fbf10a..27d89a88 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_agent_instant_test_request.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_agent_instant_test_request.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_server_instant_test_request.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_agent_instant_test_response.py similarity index 65% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_server_instant_test_request.py rename to thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_agent_instant_test_response.py index 474f380a..82ad2f0c 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_server_instant_test_request.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_agent_instant_test_response.py @@ -1,11 +1,10 @@ # coding: utf-8 """ - Tests API + Instant Tests API - This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,20 +20,20 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent import Agent -from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount -from thousandeyes_sdk.tests.models.test_ipv6_policy import TestIpv6Policy -from thousandeyes_sdk.tests.models.test_label import TestLabel -from thousandeyes_sdk.tests.models.test_links import TestLinks -from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode -from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode -from thousandeyes_sdk.tests.models.test_sip_credentials import TestSipCredentials +from thousandeyes_sdk.instant_tests.models.agent_response import AgentResponse +from thousandeyes_sdk.instant_tests.models.agent_to_agent_test_protocol import AgentToAgentTestProtocol +from thousandeyes_sdk.instant_tests.models.shared_with_account import SharedWithAccount +from thousandeyes_sdk.instant_tests.models.test_direction import TestDirection +from thousandeyes_sdk.instant_tests.models.test_dscp_id import TestDscpId +from thousandeyes_sdk.instant_tests.models.test_label import TestLabel +from thousandeyes_sdk.instant_tests.models.test_links import TestLinks +from thousandeyes_sdk.instant_tests.models.test_path_trace_mode import TestPathTraceMode from typing import Optional, Set from typing_extensions import Self -class SipServerInstantTestRequest(BaseModel): +class AgentToAgentInstantTestResponse(BaseModel): """ - SipServerInstantTestRequest + AgentToAgentInstantTestResponse """ # noqa: E501 created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") @@ -49,20 +48,21 @@ class SipServerInstantTestRequest(BaseModel): links: Optional[TestLinks] = Field(default=None, alias="_links") labels: Optional[List[TestLabel]] = None shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") - mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") - network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") + direction: Optional[TestDirection] = None + dscp: Optional[StrictStr] = Field(default=None, description="DSCP label.") + dscp_id: Optional[TestDscpId] = Field(default=None, alias="dscpId") + mss: Optional[Annotated[int, Field(le=1400, strict=True, ge=20)]] = Field(default=None, description="Maximum segment size, in bytes.") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") - options_regex: Optional[StrictStr] = Field(default=None, description="Options regex, this field does not require escaping.", alias="optionsRegex") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") - probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") - register_enabled: Optional[StrictBool] = Field(default=False, description="Set to true to perform SIP registration on the test target with the SIP REGISTER command.", alias="registerEnabled") - sip_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for test completion in milliseconds.", alias="sipTargetTime") - sip_time_limit: Optional[Annotated[int, Field(le=10, strict=True, ge=5)]] = Field(default=5, description="Time limit in milliseconds.", alias="sipTimeLimit") + port: Optional[Annotated[int, Field(le=65535, strict=True, ge=1)]] = Field(default=49153, description="Target port.") + protocol: Optional[AgentToAgentTestProtocol] = None + target_agent_id: StrictStr = Field(description="`agentId` of the target agent for the test.", alias="targetAgentId") + throughput_measurements: Optional[StrictBool] = Field(default=False, description="Enable or disable throughput measurements. Throughput measurements cannot be enabled when the source or target of the test is a cloud agent.", alias="throughputMeasurements") + throughput_duration: Optional[Annotated[int, Field(le=30000, strict=True, ge=5000)]] = Field(default=10000, description="The throughput duration.", alias="throughputDuration") + throughput_rate: Optional[Annotated[int, Field(le=1000, strict=True, ge=8)]] = Field(default=None, description="The throughput rate, only applicable for UDP protocol.", alias="throughputRate") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") - ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") - target_sip_credentials: TestSipCredentials = Field(alias="targetSipCredentials") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "mtuMeasurements", "networkMeasurements", "numPathTraces", "optionsRegex", "pathTraceMode", "probeMode", "registerEnabled", "sipTargetTime", "sipTimeLimit", "fixedPacketRate", "ipv6Policy", "agents", "targetSipCredentials"] + agents: Optional[List[AgentResponse]] = Field(default=None, description="Contains list of agents.") + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "direction", "dscp", "dscpId", "mss", "numPathTraces", "pathTraceMode", "port", "protocol", "targetAgentId", "throughputMeasurements", "throughputDuration", "throughputRate", "fixedPacketRate", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -83,7 +83,7 @@ class SipServerInstantTestRequest(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of SipServerInstantTestRequest from a JSON string""" + """Create an instance of AgentToAgentInstantTestResponse from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -118,7 +118,7 @@ class SipServerInstantTestRequest(BaseModel): "type", "labels", "shared_with_accounts", - "agents", + "dscp", ]) _dict = self.model_dump( @@ -150,14 +150,11 @@ class SipServerInstantTestRequest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['agents'] = _items - # override the default output from pydantic by calling `to_dict()` of target_sip_credentials - if self.target_sip_credentials: - _dict['targetSipCredentials'] = self.target_sip_credentials.to_dict() return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of SipServerInstantTestRequest from a dict""" + """Create an instance of AgentToAgentInstantTestResponse from a dict""" if obj is None: return None @@ -178,19 +175,20 @@ class SipServerInstantTestRequest(BaseModel): "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, - "mtuMeasurements": obj.get("mtuMeasurements"), - "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, + "direction": obj.get("direction"), + "dscp": obj.get("dscp"), + "dscpId": obj.get("dscpId"), + "mss": obj.get("mss"), "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, - "optionsRegex": obj.get("optionsRegex"), "pathTraceMode": obj.get("pathTraceMode"), - "probeMode": obj.get("probeMode"), - "registerEnabled": obj.get("registerEnabled") if obj.get("registerEnabled") is not None else False, - "sipTargetTime": obj.get("sipTargetTime"), - "sipTimeLimit": obj.get("sipTimeLimit") if obj.get("sipTimeLimit") is not None else 5, + "port": obj.get("port") if obj.get("port") is not None else 49153, + "protocol": obj.get("protocol"), + "targetAgentId": obj.get("targetAgentId"), + "throughputMeasurements": obj.get("throughputMeasurements") if obj.get("throughputMeasurements") is not None else False, + "throughputDuration": obj.get("throughputDuration") if obj.get("throughputDuration") is not None else 10000, + "throughputRate": obj.get("throughputRate"), "fixedPacketRate": obj.get("fixedPacketRate"), - "ipv6Policy": obj.get("ipv6Policy"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, - "targetSipCredentials": TestSipCredentials.from_dict(obj["targetSipCredentials"]) if obj.get("targetSipCredentials") is not None else None + "agents": [AgentResponse.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_agent_properties.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_agent_properties.py index 7ea561b4..1c04dd4b 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_agent_properties.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_agent_properties.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_agent_test_protocol.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_agent_test_protocol.py index 54a21022..e7124fd5 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_agent_test_protocol.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_agent_test_protocol.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class AgentToAgentTestProtocol(str, Enum): """ TCP = 'tcp' UDP = 'udp' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of AgentToAgentTestProtocol from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_server_instant_test.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_server_instant_test.py index 69be72db..3928b1d9 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_server_instant_test.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_server_instant_test.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,7 +20,6 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.instant_tests.models.agent import Agent from thousandeyes_sdk.instant_tests.models.shared_with_account import SharedWithAccount from thousandeyes_sdk.instant_tests.models.test_dscp_id import TestDscpId from thousandeyes_sdk.instant_tests.models.test_ipv6_policy import TestIpv6Policy @@ -65,8 +63,7 @@ class AgentToServerInstantTest(BaseModel): ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") ping_payload_size: Optional[Annotated[int, Field(le=1400, strict=True, ge=0)]] = Field(default=None, description="Payload size (not total packet size) for the end-to-end metric's probes, ping payload size allows values from 0 to 1400 bytes. When set to null, payload sizes are 0 bytes for ICMP-based tests and 1 byte for TCP-based tests.", alias="pingPayloadSize") network_measurements: Optional[StrictBool] = Field(default=False, description="View packet loss in 1-second intervals. This is only available for 1-minute interval tests. Set to `true` to enable network measurements.", alias="networkMeasurements") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "continuousMode", "fixedPacketRate", "mtuMeasurements", "numPathTraces", "pathTraceMode", "port", "probeMode", "protocol", "server", "dscp", "dscpId", "ipv6Policy", "pingPayloadSize", "networkMeasurements", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "continuousMode", "fixedPacketRate", "mtuMeasurements", "numPathTraces", "pathTraceMode", "port", "probeMode", "protocol", "server", "dscp", "dscpId", "ipv6Policy", "pingPayloadSize", "networkMeasurements"] model_config = ConfigDict( populate_by_name=True, @@ -110,7 +107,6 @@ class AgentToServerInstantTest(BaseModel): * 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([ "created_by", @@ -124,7 +120,6 @@ class AgentToServerInstantTest(BaseModel): "labels", "shared_with_accounts", "dscp", - "agents", ]) _dict = self.model_dump( @@ -149,13 +144,6 @@ class AgentToServerInstantTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['sharedWithAccounts'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items return _dict @classmethod @@ -195,8 +183,7 @@ class AgentToServerInstantTest(BaseModel): "dscpId": obj.get("dscpId"), "ipv6Policy": obj.get("ipv6Policy"), "pingPayloadSize": obj.get("pingPayloadSize"), - "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else False, - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else False }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_server_instant_test_request.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_server_instant_test_request.py index 3c6b4896..ee48ee75 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_server_instant_test_request.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_server_instant_test_request.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_server_instant_test_response.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_server_instant_test_response.py new file mode 100644 index 00000000..3dcb28ed --- /dev/null +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_server_instant_test_response.py @@ -0,0 +1,200 @@ +# coding: utf-8 + +""" + Instant Tests API + + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from thousandeyes_sdk.instant_tests.models.agent_response import AgentResponse +from thousandeyes_sdk.instant_tests.models.shared_with_account import SharedWithAccount +from thousandeyes_sdk.instant_tests.models.test_dscp_id import TestDscpId +from thousandeyes_sdk.instant_tests.models.test_ipv6_policy import TestIpv6Policy +from thousandeyes_sdk.instant_tests.models.test_label import TestLabel +from thousandeyes_sdk.instant_tests.models.test_links import TestLinks +from thousandeyes_sdk.instant_tests.models.test_path_trace_mode import TestPathTraceMode +from thousandeyes_sdk.instant_tests.models.test_probe_mode import TestProbeMode +from thousandeyes_sdk.instant_tests.models.test_protocol import TestProtocol +from typing import Optional, Set +from typing_extensions import Self + +class AgentToServerInstantTestResponse(BaseModel): + """ + AgentToServerInstantTestResponse + """ # noqa: E501 + created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") + created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") + description: Optional[StrictStr] = Field(default=None, description="A description of the test.") + live_share: Optional[StrictBool] = Field(default=None, description="Indicates if the test is shared with the account group.", alias="liveShare") + modified_by: Optional[StrictStr] = Field(default=None, description="User that modified the test.", alias="modifiedBy") + modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") + saved_event: Optional[StrictBool] = Field(default=None, description="Indicates if the test is a saved event.", alias="savedEvent") + test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned an unique ID; this is used to access test information and results from other endpoints.", alias="testId") + test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") + type: Optional[StrictStr] = None + links: Optional[TestLinks] = Field(default=None, alias="_links") + labels: Optional[List[TestLabel]] = None + shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") + bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") + continuous_mode: Optional[StrictBool] = Field(default=None, description="To enable continuous monitoring, set this parameter to `true` to. When continuous monitoring is enabled, the following actions occur: * `fixedPacketRate` is enforced * `bandwidthMeasurements` are disabled * If the `protocol` is set to `tcp`, `probeMode` is set to `syn`. ", alias="continuousMode") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="If continuousMode is `false`, set the fixedPacketRate to a value between 10-100. If `continuousMode` is `true`, set the `fixedPacketRate` to `1`", alias="fixedPacketRate") + mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") + num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") + port: Optional[Annotated[int, Field(le=65535, strict=True, ge=1)]] = Field(default=49153, description="Target port.") + probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") + protocol: Optional[TestProtocol] = None + server: StrictStr = Field(description="Target name or IP address.") + dscp: Optional[StrictStr] = Field(default=None, description="DSCP label.") + dscp_id: Optional[TestDscpId] = Field(default=None, alias="dscpId") + ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") + ping_payload_size: Optional[Annotated[int, Field(le=1400, strict=True, ge=0)]] = Field(default=None, description="Payload size (not total packet size) for the end-to-end metric's probes, ping payload size allows values from 0 to 1400 bytes. When set to null, payload sizes are 0 bytes for ICMP-based tests and 1 byte for TCP-based tests.", alias="pingPayloadSize") + network_measurements: Optional[StrictBool] = Field(default=False, description="View packet loss in 1-second intervals. This is only available for 1-minute interval tests. Set to `true` to enable network measurements.", alias="networkMeasurements") + agents: Optional[List[AgentResponse]] = Field(default=None, description="Contains list of agents.") + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "continuousMode", "fixedPacketRate", "mtuMeasurements", "numPathTraces", "pathTraceMode", "port", "probeMode", "protocol", "server", "dscp", "dscpId", "ipv6Policy", "pingPayloadSize", "networkMeasurements", "agents"] + + 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 AgentToServerInstantTestResponse 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. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "created_by", + "created_date", + "live_share", + "modified_by", + "modified_date", + "saved_event", + "test_id", + "type", + "labels", + "shared_with_accounts", + "dscp", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in labels (list) + _items = [] + if self.labels: + for _item in self.labels: + if _item: + _items.append(_item.to_dict()) + _dict['labels'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in shared_with_accounts (list) + _items = [] + if self.shared_with_accounts: + for _item in self.shared_with_accounts: + if _item: + _items.append(_item.to_dict()) + _dict['sharedWithAccounts'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in agents (list) + _items = [] + if self.agents: + for _item in self.agents: + if _item: + _items.append(_item.to_dict()) + _dict['agents'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AgentToServerInstantTestResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "createdBy": obj.get("createdBy"), + "createdDate": obj.get("createdDate"), + "description": obj.get("description"), + "liveShare": obj.get("liveShare"), + "modifiedBy": obj.get("modifiedBy"), + "modifiedDate": obj.get("modifiedDate"), + "savedEvent": obj.get("savedEvent"), + "testId": obj.get("testId"), + "testName": obj.get("testName"), + "type": obj.get("type"), + "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, + "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, + "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, + "bandwidthMeasurements": obj.get("bandwidthMeasurements"), + "continuousMode": obj.get("continuousMode"), + "fixedPacketRate": obj.get("fixedPacketRate"), + "mtuMeasurements": obj.get("mtuMeasurements"), + "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "pathTraceMode": obj.get("pathTraceMode"), + "port": obj.get("port") if obj.get("port") is not None else 49153, + "probeMode": obj.get("probeMode"), + "protocol": obj.get("protocol"), + "server": obj.get("server"), + "dscp": obj.get("dscp"), + "dscpId": obj.get("dscpId"), + "ipv6Policy": obj.get("ipv6Policy"), + "pingPayloadSize": obj.get("pingPayloadSize"), + "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else False, + "agents": [AgentResponse.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_server_properties.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_server_properties.py index 36d869db..d9658ba3 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_server_properties.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/agent_to_server_properties.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_instant_test.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_instant_test.py index 3f2965ea..afd8e2eb 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_instant_test.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_instant_test.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,7 +20,6 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.instant_tests.models.agent import Agent from thousandeyes_sdk.instant_tests.models.api_predefined_variable import ApiPredefinedVariable from thousandeyes_sdk.instant_tests.models.api_request import ApiRequest from thousandeyes_sdk.instant_tests.models.shared_with_account import SharedWithAccount @@ -51,10 +49,13 @@ class ApiInstantTest(BaseModel): links: Optional[TestLinks] = Field(default=None, alias="_links") labels: Optional[List[TestLabel]] = None shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") predefined_variables: Optional[List[ApiPredefinedVariable]] = Field(default=None, alias="predefinedVariables") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") @@ -64,9 +65,8 @@ class ApiInstantTest(BaseModel): target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=0)]] = Field(default=None, description="Target time for completion metric, defaults to 50% of time limit specified in seconds. (0 means default behavior)", alias="targetTime") time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds. Exceeding this limit will result in a Timeout error.", alias="timeLimit") url: StrictStr = Field(description="Target for the test.") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") credentials: Optional[List[StrictStr]] = Field(default=None, description="Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint).") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "followRedirects", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pathTraceMode", "predefinedVariables", "probeMode", "protocol", "requests", "sslVersionId", "targetTime", "timeLimit", "url", "agents", "credentials"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "collectProxyNetworkData", "followRedirects", "mtuMeasurements", "networkMeasurements", "numPathTraces", "overrideAgentProxy", "overrideProxyId", "pathTraceMode", "predefinedVariables", "probeMode", "protocol", "requests", "sslVersionId", "targetTime", "timeLimit", "url", "credentials"] model_config = ConfigDict( populate_by_name=True, @@ -109,7 +109,6 @@ class ApiInstantTest(BaseModel): * 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([ "created_by", @@ -122,7 +121,6 @@ class ApiInstantTest(BaseModel): "type", "labels", "shared_with_accounts", - "agents", ]) _dict = self.model_dump( @@ -161,13 +159,6 @@ class ApiInstantTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['requests'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items return _dict @classmethod @@ -193,10 +184,13 @@ class ApiInstantTest(BaseModel): "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), "pathTraceMode": obj.get("pathTraceMode"), "predefinedVariables": [ApiPredefinedVariable.from_dict(_item) for _item in obj["predefinedVariables"]] if obj.get("predefinedVariables") is not None else None, "probeMode": obj.get("probeMode"), @@ -206,7 +200,6 @@ class ApiInstantTest(BaseModel): "targetTime": obj.get("targetTime"), "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, "url": obj.get("url"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, "credentials": obj.get("credentials") }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_instant_test_request.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_instant_test_request.py index 059d5354..e90ab9f7 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_instant_test_request.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_instant_test_request.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -49,10 +48,13 @@ class ApiInstantTestRequest(BaseModel): links: Optional[TestLinks] = Field(default=None, alias="_links") labels: Optional[List[StrictStr]] = Field(default=None, description="A list of test label identifiers (get `labelId` from `/labels` endpoint).") shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint).", alias="sharedWithAccounts") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") predefined_variables: Optional[List[ApiPredefinedVariable]] = Field(default=None, alias="predefinedVariables") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") @@ -62,9 +64,9 @@ class ApiInstantTestRequest(BaseModel): target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=0)]] = Field(default=None, description="Target time for completion metric, defaults to 50% of time limit specified in seconds. (0 means default behavior)", alias="targetTime") time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds. Exceeding this limit will result in a Timeout error.", alias="timeLimit") url: StrictStr = Field(description="Target for the test.") - agents: List[TestAgent] = Field(description="A list of objects with `agentId` (required) and `sourceIpAddress` (optional).") credentials: Optional[List[StrictStr]] = Field(default=None, description="Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint).") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "followRedirects", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pathTraceMode", "predefinedVariables", "probeMode", "protocol", "requests", "sslVersionId", "targetTime", "timeLimit", "url", "agents", "credentials"] + agents: List[TestAgent] = Field(description="A list of objects with `agentId` (required) and `sourceIpAddress` (optional).") + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "collectProxyNetworkData", "followRedirects", "mtuMeasurements", "networkMeasurements", "numPathTraces", "overrideAgentProxy", "overrideProxyId", "pathTraceMode", "predefinedVariables", "probeMode", "protocol", "requests", "sslVersionId", "targetTime", "timeLimit", "url", "credentials", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -171,10 +173,13 @@ class ApiInstantTestRequest(BaseModel): "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, "labels": obj.get("labels"), "sharedWithAccounts": obj.get("sharedWithAccounts"), + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), "pathTraceMode": obj.get("pathTraceMode"), "predefinedVariables": [ApiPredefinedVariable.from_dict(_item) for _item in obj["predefinedVariables"]] if obj.get("predefinedVariables") is not None else None, "probeMode": obj.get("probeMode"), @@ -184,8 +189,8 @@ class ApiInstantTestRequest(BaseModel): "targetTime": obj.get("targetTime"), "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, "url": obj.get("url"), - "agents": [TestAgent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, - "credentials": obj.get("credentials") + "credentials": obj.get("credentials"), + "agents": [TestAgent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_instant_test_response.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_instant_test_response.py new file mode 100644 index 00000000..af2fadc6 --- /dev/null +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_instant_test_response.py @@ -0,0 +1,217 @@ +# coding: utf-8 + +""" + Instant Tests API + + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from thousandeyes_sdk.instant_tests.models.agent_response import AgentResponse +from thousandeyes_sdk.instant_tests.models.api_predefined_variable import ApiPredefinedVariable +from thousandeyes_sdk.instant_tests.models.api_request import ApiRequest +from thousandeyes_sdk.instant_tests.models.shared_with_account import SharedWithAccount +from thousandeyes_sdk.instant_tests.models.test_label import TestLabel +from thousandeyes_sdk.instant_tests.models.test_links import TestLinks +from thousandeyes_sdk.instant_tests.models.test_path_trace_mode import TestPathTraceMode +from thousandeyes_sdk.instant_tests.models.test_probe_mode import TestProbeMode +from thousandeyes_sdk.instant_tests.models.test_protocol import TestProtocol +from thousandeyes_sdk.instant_tests.models.test_ssl_version_id import TestSslVersionId +from typing import Optional, Set +from typing_extensions import Self + +class ApiInstantTestResponse(BaseModel): + """ + ApiInstantTestResponse + """ # noqa: E501 + created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") + created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") + description: Optional[StrictStr] = Field(default=None, description="A description of the test.") + live_share: Optional[StrictBool] = Field(default=None, description="Indicates if the test is shared with the account group.", alias="liveShare") + modified_by: Optional[StrictStr] = Field(default=None, description="User that modified the test.", alias="modifiedBy") + modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") + saved_event: Optional[StrictBool] = Field(default=None, description="Indicates if the test is a saved event.", alias="savedEvent") + test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned an unique ID; this is used to access test information and results from other endpoints.", alias="testId") + test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") + type: Optional[StrictStr] = None + links: Optional[TestLinks] = Field(default=None, alias="_links") + labels: Optional[List[TestLabel]] = None + shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") + network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") + num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") + path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") + predefined_variables: Optional[List[ApiPredefinedVariable]] = Field(default=None, alias="predefinedVariables") + probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") + protocol: Optional[TestProtocol] = None + requests: List[ApiRequest] + ssl_version_id: Optional[TestSslVersionId] = Field(default=None, alias="sslVersionId") + target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=0)]] = Field(default=None, description="Target time for completion metric, defaults to 50% of time limit specified in seconds. (0 means default behavior)", alias="targetTime") + time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds. Exceeding this limit will result in a Timeout error.", alias="timeLimit") + url: StrictStr = Field(description="Target for the test.") + credentials: Optional[List[StrictStr]] = Field(default=None, description="Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint).") + agents: Optional[List[AgentResponse]] = Field(default=None, description="Contains list of agents.") + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "collectProxyNetworkData", "followRedirects", "mtuMeasurements", "networkMeasurements", "numPathTraces", "overrideAgentProxy", "overrideProxyId", "pathTraceMode", "predefinedVariables", "probeMode", "protocol", "requests", "sslVersionId", "targetTime", "timeLimit", "url", "credentials", "agents"] + + 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 ApiInstantTestResponse 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. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "created_by", + "created_date", + "live_share", + "modified_by", + "modified_date", + "saved_event", + "test_id", + "type", + "labels", + "shared_with_accounts", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in labels (list) + _items = [] + if self.labels: + for _item in self.labels: + if _item: + _items.append(_item.to_dict()) + _dict['labels'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in shared_with_accounts (list) + _items = [] + if self.shared_with_accounts: + for _item in self.shared_with_accounts: + if _item: + _items.append(_item.to_dict()) + _dict['sharedWithAccounts'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in predefined_variables (list) + _items = [] + if self.predefined_variables: + for _item in self.predefined_variables: + if _item: + _items.append(_item.to_dict()) + _dict['predefinedVariables'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in requests (list) + _items = [] + if self.requests: + for _item in self.requests: + if _item: + _items.append(_item.to_dict()) + _dict['requests'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in agents (list) + _items = [] + if self.agents: + for _item in self.agents: + if _item: + _items.append(_item.to_dict()) + _dict['agents'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ApiInstantTestResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "createdBy": obj.get("createdBy"), + "createdDate": obj.get("createdDate"), + "description": obj.get("description"), + "liveShare": obj.get("liveShare"), + "modifiedBy": obj.get("modifiedBy"), + "modifiedDate": obj.get("modifiedDate"), + "savedEvent": obj.get("savedEvent"), + "testId": obj.get("testId"), + "testName": obj.get("testName"), + "type": obj.get("type"), + "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, + "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, + "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "mtuMeasurements": obj.get("mtuMeasurements"), + "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, + "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), + "pathTraceMode": obj.get("pathTraceMode"), + "predefinedVariables": [ApiPredefinedVariable.from_dict(_item) for _item in obj["predefinedVariables"]] if obj.get("predefinedVariables") is not None else None, + "probeMode": obj.get("probeMode"), + "protocol": obj.get("protocol"), + "requests": [ApiRequest.from_dict(_item) for _item in obj["requests"]] if obj.get("requests") is not None else None, + "sslVersionId": obj.get("sslVersionId"), + "targetTime": obj.get("targetTime"), + "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, + "url": obj.get("url"), + "credentials": obj.get("credentials"), + "agents": [AgentResponse.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_predefined_variable.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_predefined_variable.py index f89ec5f3..3da0188f 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_predefined_variable.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_predefined_variable.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_properties.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_properties.py index b38751f3..84a28197 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_properties.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_properties.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -33,10 +32,13 @@ class ApiProperties(BaseModel): """ ApiProperties """ # noqa: E501 + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") predefined_variables: Optional[List[ApiPredefinedVariable]] = Field(default=None, alias="predefinedVariables") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") @@ -47,7 +49,7 @@ class ApiProperties(BaseModel): time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds. Exceeding this limit will result in a Timeout error.", alias="timeLimit") url: StrictStr = Field(description="Target for the test.") type: Optional[StrictStr] = None - __properties: ClassVar[List[str]] = ["followRedirects", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pathTraceMode", "predefinedVariables", "probeMode", "protocol", "requests", "sslVersionId", "targetTime", "timeLimit", "url", "type"] + __properties: ClassVar[List[str]] = ["collectProxyNetworkData", "followRedirects", "mtuMeasurements", "networkMeasurements", "numPathTraces", "overrideAgentProxy", "overrideProxyId", "pathTraceMode", "predefinedVariables", "probeMode", "protocol", "requests", "sslVersionId", "targetTime", "timeLimit", "url", "type"] model_config = ConfigDict( populate_by_name=True, @@ -117,10 +119,13 @@ class ApiProperties(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), "pathTraceMode": obj.get("pathTraceMode"), "predefinedVariables": [ApiPredefinedVariable.from_dict(_item) for _item in obj["predefinedVariables"]] if obj.get("predefinedVariables") is not None else None, "probeMode": obj.get("probeMode"), diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_request.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_request.py index 2078b9d6..3e711002 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_request.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_request.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_request_assertion.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_request_assertion.py index 2b87fad6..7463a481 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_request_assertion.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_request_assertion.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_request_assertion_name.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_request_assertion_name.py index c3dfc3ae..06950727 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_request_assertion_name.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_request_assertion_name.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class ApiRequestAssertionName(str, Enum): """ STATUS_MINUS_CODE = 'status-code' RESPONSE_MINUS_BODY = 'response-body' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of ApiRequestAssertionName from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_request_assertion_operator.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_request_assertion_operator.py index 9f31c444..3a362337 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_request_assertion_operator.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_request_assertion_operator.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -30,10 +29,15 @@ class ApiRequestAssertionOperator(str, Enum): IS_MINUS_NOT = 'is-not' INCLUDES = 'includes' NOT_MINUS_INCLUDES = 'not-includes' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of ApiRequestAssertionOperator from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_request_auth_type.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_request_auth_type.py index 1d8f10ea..aad2e5c9 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_request_auth_type.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_request_auth_type.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class ApiRequestAuthType(str, Enum): NONE = 'none' BASIC = 'basic' BEARER_MINUS_TOKEN = 'bearer-token' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of ApiRequestAuthType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_request_header.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_request_header.py index 2f5d4880..d71f8fb4 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_request_header.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_request_header.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_request_method.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_request_method.py index 6fb8a4dd..f5efc0b3 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_request_method.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_request_method.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -31,10 +30,15 @@ class ApiRequestMethod(str, Enum): PUT = 'put' DELETE = 'delete' PATCH = 'patch' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of ApiRequestMethod from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_request_variable.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_request_variable.py index d058f89c..29851c7b 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_request_variable.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/api_request_variable.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/cloud_enterprise_agent_type.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/cloud_enterprise_agent_type.py index 7d9a37fc..10bf0f7c 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/cloud_enterprise_agent_type.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/cloud_enterprise_agent_type.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class CloudEnterpriseAgentType(str, Enum): CLOUD = 'cloud' ENTERPRISE_MINUS_CLUSTER = 'enterprise-cluster' ENTERPRISE = 'enterprise' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of CloudEnterpriseAgentType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_query_class.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_query_class.py index 9b7d9593..664c79b3 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_query_class.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_query_class.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class DnsQueryClass(str, Enum): """ IN = 'in' CH = 'ch' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of DnsQueryClass from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_sec_instant_test.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_sec_instant_test.py index c7232a4e..3e25ef92 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_sec_instant_test.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_sec_instant_test.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,7 +19,6 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.instant_tests.models.agent import Agent from thousandeyes_sdk.instant_tests.models.dns_query_class import DnsQueryClass from thousandeyes_sdk.instant_tests.models.shared_with_account import SharedWithAccount from thousandeyes_sdk.instant_tests.models.test_label import TestLabel @@ -47,8 +45,7 @@ class DnsSecInstantTest(BaseModel): shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") domain: StrictStr = Field(description="The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record.") dns_query_class: Optional[DnsQueryClass] = Field(default=None, alias="dnsQueryClass") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "domain", "dnsQueryClass", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "domain", "dnsQueryClass"] model_config = ConfigDict( populate_by_name=True, @@ -91,7 +88,6 @@ class DnsSecInstantTest(BaseModel): * 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([ "created_by", @@ -104,7 +100,6 @@ class DnsSecInstantTest(BaseModel): "type", "labels", "shared_with_accounts", - "agents", ]) _dict = self.model_dump( @@ -129,13 +124,6 @@ class DnsSecInstantTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['sharedWithAccounts'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items return _dict @classmethod @@ -162,8 +150,7 @@ class DnsSecInstantTest(BaseModel): "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, "domain": obj.get("domain"), - "dnsQueryClass": obj.get("dnsQueryClass"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "dnsQueryClass": obj.get("dnsQueryClass") }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_sec_instant_test_request.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_sec_instant_test_request.py index e9350c4d..eef77a0d 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_sec_instant_test_request.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_sec_instant_test_request.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_sec_instant_test_response.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_sec_instant_test_response.py new file mode 100644 index 00000000..3f2bc48a --- /dev/null +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_sec_instant_test_response.py @@ -0,0 +1,167 @@ +# coding: utf-8 + +""" + Instant Tests API + + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.instant_tests.models.agent_response import AgentResponse +from thousandeyes_sdk.instant_tests.models.dns_query_class import DnsQueryClass +from thousandeyes_sdk.instant_tests.models.shared_with_account import SharedWithAccount +from thousandeyes_sdk.instant_tests.models.test_label import TestLabel +from thousandeyes_sdk.instant_tests.models.test_links import TestLinks +from typing import Optional, Set +from typing_extensions import Self + +class DnsSecInstantTestResponse(BaseModel): + """ + DnsSecInstantTestResponse + """ # noqa: E501 + created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") + created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") + description: Optional[StrictStr] = Field(default=None, description="A description of the test.") + live_share: Optional[StrictBool] = Field(default=None, description="Indicates if the test is shared with the account group.", alias="liveShare") + modified_by: Optional[StrictStr] = Field(default=None, description="User that modified the test.", alias="modifiedBy") + modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") + saved_event: Optional[StrictBool] = Field(default=None, description="Indicates if the test is a saved event.", alias="savedEvent") + test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned an unique ID; this is used to access test information and results from other endpoints.", alias="testId") + test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") + type: Optional[StrictStr] = None + links: Optional[TestLinks] = Field(default=None, alias="_links") + labels: Optional[List[TestLabel]] = None + shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") + domain: StrictStr = Field(description="The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record.") + dns_query_class: Optional[DnsQueryClass] = Field(default=None, alias="dnsQueryClass") + agents: Optional[List[AgentResponse]] = Field(default=None, description="Contains list of agents.") + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "domain", "dnsQueryClass", "agents"] + + 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 DnsSecInstantTestResponse 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. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "created_by", + "created_date", + "live_share", + "modified_by", + "modified_date", + "saved_event", + "test_id", + "type", + "labels", + "shared_with_accounts", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in labels (list) + _items = [] + if self.labels: + for _item in self.labels: + if _item: + _items.append(_item.to_dict()) + _dict['labels'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in shared_with_accounts (list) + _items = [] + if self.shared_with_accounts: + for _item in self.shared_with_accounts: + if _item: + _items.append(_item.to_dict()) + _dict['sharedWithAccounts'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in agents (list) + _items = [] + if self.agents: + for _item in self.agents: + if _item: + _items.append(_item.to_dict()) + _dict['agents'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DnsSecInstantTestResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "createdBy": obj.get("createdBy"), + "createdDate": obj.get("createdDate"), + "description": obj.get("description"), + "liveShare": obj.get("liveShare"), + "modifiedBy": obj.get("modifiedBy"), + "modifiedDate": obj.get("modifiedDate"), + "savedEvent": obj.get("savedEvent"), + "testId": obj.get("testId"), + "testName": obj.get("testName"), + "type": obj.get("type"), + "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, + "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, + "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, + "domain": obj.get("domain"), + "dnsQueryClass": obj.get("dnsQueryClass"), + "agents": [AgentResponse.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_sec_properties.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_sec_properties.py index a8e30bdf..2c3783d9 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_sec_properties.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_sec_properties.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_server_instant_test.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_server_instant_test.py index d96d616a..14217230 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_server_instant_test.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_server_instant_test.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,7 +20,6 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.instant_tests.models.agent import Agent from thousandeyes_sdk.instant_tests.models.dns_query_class import DnsQueryClass from thousandeyes_sdk.instant_tests.models.shared_with_account import SharedWithAccount from thousandeyes_sdk.instant_tests.models.test_dns_server import TestDnsServer @@ -66,8 +64,7 @@ class DnsServerInstantTest(BaseModel): ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") dns_query_class: Optional[DnsQueryClass] = Field(default=None, alias="dnsQueryClass") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "dnsServers", "dnsTransportProtocol", "domain", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pathTraceMode", "probeMode", "protocol", "recursiveQueries", "ipv6Policy", "fixedPacketRate", "dnsQueryClass", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "dnsServers", "dnsTransportProtocol", "domain", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pathTraceMode", "probeMode", "protocol", "recursiveQueries", "ipv6Policy", "fixedPacketRate", "dnsQueryClass"] model_config = ConfigDict( populate_by_name=True, @@ -110,7 +107,6 @@ class DnsServerInstantTest(BaseModel): * 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([ "created_by", @@ -123,7 +119,6 @@ class DnsServerInstantTest(BaseModel): "type", "labels", "shared_with_accounts", - "agents", ]) _dict = self.model_dump( @@ -155,13 +150,6 @@ class DnsServerInstantTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['dnsServers'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items return _dict @classmethod @@ -200,8 +188,7 @@ class DnsServerInstantTest(BaseModel): "recursiveQueries": obj.get("recursiveQueries"), "ipv6Policy": obj.get("ipv6Policy"), "fixedPacketRate": obj.get("fixedPacketRate"), - "dnsQueryClass": obj.get("dnsQueryClass"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "dnsQueryClass": obj.get("dnsQueryClass") }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_server_instant_test_request.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_server_instant_test_request.py index 31e6bdd8..b56db775 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_server_instant_test_request.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_server_instant_test_request.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/sip_server_instant_test_request1.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_server_instant_test_response.py similarity index 73% rename from thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/sip_server_instant_test_request1.py rename to thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_server_instant_test_response.py index 6f82d2d5..46d61a97 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/sip_server_instant_test_request1.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_server_instant_test_response.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,20 +20,23 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.instant_tests.models.agent import Agent +from thousandeyes_sdk.instant_tests.models.agent_response import AgentResponse +from thousandeyes_sdk.instant_tests.models.dns_query_class import DnsQueryClass from thousandeyes_sdk.instant_tests.models.shared_with_account import SharedWithAccount +from thousandeyes_sdk.instant_tests.models.test_dns_server import TestDnsServer +from thousandeyes_sdk.instant_tests.models.test_dns_transport_protocol import TestDnsTransportProtocol from thousandeyes_sdk.instant_tests.models.test_ipv6_policy import TestIpv6Policy from thousandeyes_sdk.instant_tests.models.test_label import TestLabel from thousandeyes_sdk.instant_tests.models.test_links import TestLinks from thousandeyes_sdk.instant_tests.models.test_path_trace_mode import TestPathTraceMode from thousandeyes_sdk.instant_tests.models.test_probe_mode import TestProbeMode -from thousandeyes_sdk.instant_tests.models.test_sip_credentials import TestSipCredentials +from thousandeyes_sdk.instant_tests.models.test_protocol import TestProtocol from typing import Optional, Set from typing_extensions import Self -class SipServerInstantTestRequest1(BaseModel): +class DnsServerInstantTestResponse(BaseModel): """ - SipServerInstantTestRequest1 + DnsServerInstantTestResponse """ # noqa: E501 created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") @@ -49,20 +51,22 @@ class SipServerInstantTestRequest1(BaseModel): links: Optional[TestLinks] = Field(default=None, alias="_links") labels: Optional[List[TestLabel]] = None shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") + bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") + dns_servers: List[TestDnsServer] = Field(alias="dnsServers") + dns_transport_protocol: Optional[TestDnsTransportProtocol] = Field(default=None, alias="dnsTransportProtocol") + domain: StrictStr = Field(description="The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record.") mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") - options_regex: Optional[StrictStr] = Field(default=None, description="Options regex, this field does not require escaping.", alias="optionsRegex") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") - register_enabled: Optional[StrictBool] = Field(default=False, description="Set to true to perform SIP registration on the test target with the SIP REGISTER command.", alias="registerEnabled") - sip_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for test completion in milliseconds.", alias="sipTargetTime") - sip_time_limit: Optional[Annotated[int, Field(le=10, strict=True, ge=5)]] = Field(default=5, description="Time limit in milliseconds.", alias="sipTimeLimit") - fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + protocol: Optional[TestProtocol] = None + recursive_queries: Optional[StrictBool] = Field(default=None, description="Set true to run query with RD (recursion desired) flag enabled.", alias="recursiveQueries") ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") - target_sip_credentials: TestSipCredentials = Field(alias="targetSipCredentials") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "mtuMeasurements", "networkMeasurements", "numPathTraces", "optionsRegex", "pathTraceMode", "probeMode", "registerEnabled", "sipTargetTime", "sipTimeLimit", "fixedPacketRate", "ipv6Policy", "agents", "targetSipCredentials"] + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + dns_query_class: Optional[DnsQueryClass] = Field(default=None, alias="dnsQueryClass") + agents: Optional[List[AgentResponse]] = Field(default=None, description="Contains list of agents.") + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "dnsServers", "dnsTransportProtocol", "domain", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pathTraceMode", "probeMode", "protocol", "recursiveQueries", "ipv6Policy", "fixedPacketRate", "dnsQueryClass", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -83,7 +87,7 @@ class SipServerInstantTestRequest1(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of SipServerInstantTestRequest1 from a JSON string""" + """Create an instance of DnsServerInstantTestResponse from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -105,7 +109,6 @@ class SipServerInstantTestRequest1(BaseModel): * 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([ "created_by", @@ -118,7 +121,6 @@ class SipServerInstantTestRequest1(BaseModel): "type", "labels", "shared_with_accounts", - "agents", ]) _dict = self.model_dump( @@ -143,6 +145,13 @@ class SipServerInstantTestRequest1(BaseModel): if _item: _items.append(_item.to_dict()) _dict['sharedWithAccounts'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in dns_servers (list) + _items = [] + if self.dns_servers: + for _item in self.dns_servers: + if _item: + _items.append(_item.to_dict()) + _dict['dnsServers'] = _items # override the default output from pydantic by calling `to_dict()` of each item in agents (list) _items = [] if self.agents: @@ -150,14 +159,11 @@ class SipServerInstantTestRequest1(BaseModel): if _item: _items.append(_item.to_dict()) _dict['agents'] = _items - # override the default output from pydantic by calling `to_dict()` of target_sip_credentials - if self.target_sip_credentials: - _dict['targetSipCredentials'] = self.target_sip_credentials.to_dict() return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of SipServerInstantTestRequest1 from a dict""" + """Create an instance of DnsServerInstantTestResponse from a dict""" if obj is None: return None @@ -178,19 +184,21 @@ class SipServerInstantTestRequest1(BaseModel): "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, + "bandwidthMeasurements": obj.get("bandwidthMeasurements"), + "dnsServers": [TestDnsServer.from_dict(_item) for _item in obj["dnsServers"]] if obj.get("dnsServers") is not None else None, + "dnsTransportProtocol": obj.get("dnsTransportProtocol"), + "domain": obj.get("domain"), "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, - "optionsRegex": obj.get("optionsRegex"), "pathTraceMode": obj.get("pathTraceMode"), "probeMode": obj.get("probeMode"), - "registerEnabled": obj.get("registerEnabled") if obj.get("registerEnabled") is not None else False, - "sipTargetTime": obj.get("sipTargetTime"), - "sipTimeLimit": obj.get("sipTimeLimit") if obj.get("sipTimeLimit") is not None else 5, - "fixedPacketRate": obj.get("fixedPacketRate"), + "protocol": obj.get("protocol"), + "recursiveQueries": obj.get("recursiveQueries"), "ipv6Policy": obj.get("ipv6Policy"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, - "targetSipCredentials": TestSipCredentials.from_dict(obj["targetSipCredentials"]) if obj.get("targetSipCredentials") is not None else None + "fixedPacketRate": obj.get("fixedPacketRate"), + "dnsQueryClass": obj.get("dnsQueryClass"), + "agents": [AgentResponse.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_server_properties.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_server_properties.py index 92631264..cb45120e 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_server_properties.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_server_properties.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_servers_request.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_servers_request.py index c4b98313..62f8007c 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_servers_request.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_servers_request.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_trace_instant_test.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_trace_instant_test.py index ca4ee825..4bfbe019 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_trace_instant_test.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_trace_instant_test.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,7 +19,6 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.instant_tests.models.agent import Agent from thousandeyes_sdk.instant_tests.models.dns_query_class import DnsQueryClass from thousandeyes_sdk.instant_tests.models.shared_with_account import SharedWithAccount from thousandeyes_sdk.instant_tests.models.test_dns_transport_protocol import TestDnsTransportProtocol @@ -49,8 +47,7 @@ class DnsTraceInstantTest(BaseModel): dns_transport_protocol: Optional[TestDnsTransportProtocol] = Field(default=None, alias="dnsTransportProtocol") domain: StrictStr = Field(description="The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record.") dns_query_class: Optional[DnsQueryClass] = Field(default=None, alias="dnsQueryClass") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "dnsTransportProtocol", "domain", "dnsQueryClass", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "dnsTransportProtocol", "domain", "dnsQueryClass"] model_config = ConfigDict( populate_by_name=True, @@ -93,7 +90,6 @@ class DnsTraceInstantTest(BaseModel): * 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([ "created_by", @@ -106,7 +102,6 @@ class DnsTraceInstantTest(BaseModel): "type", "labels", "shared_with_accounts", - "agents", ]) _dict = self.model_dump( @@ -131,13 +126,6 @@ class DnsTraceInstantTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['sharedWithAccounts'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items return _dict @classmethod @@ -165,8 +153,7 @@ class DnsTraceInstantTest(BaseModel): "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, "dnsTransportProtocol": obj.get("dnsTransportProtocol"), "domain": obj.get("domain"), - "dnsQueryClass": obj.get("dnsQueryClass"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "dnsQueryClass": obj.get("dnsQueryClass") }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_trace_instant_test_request.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_trace_instant_test_request.py index c8ed77fc..793bd7f1 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_trace_instant_test_request.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_trace_instant_test_request.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_trace_instant_test_response.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_trace_instant_test_response.py new file mode 100644 index 00000000..2cbe0633 --- /dev/null +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_trace_instant_test_response.py @@ -0,0 +1,170 @@ +# coding: utf-8 + +""" + Instant Tests API + + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.instant_tests.models.agent_response import AgentResponse +from thousandeyes_sdk.instant_tests.models.dns_query_class import DnsQueryClass +from thousandeyes_sdk.instant_tests.models.shared_with_account import SharedWithAccount +from thousandeyes_sdk.instant_tests.models.test_dns_transport_protocol import TestDnsTransportProtocol +from thousandeyes_sdk.instant_tests.models.test_label import TestLabel +from thousandeyes_sdk.instant_tests.models.test_links import TestLinks +from typing import Optional, Set +from typing_extensions import Self + +class DnsTraceInstantTestResponse(BaseModel): + """ + DnsTraceInstantTestResponse + """ # noqa: E501 + created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") + created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") + description: Optional[StrictStr] = Field(default=None, description="A description of the test.") + live_share: Optional[StrictBool] = Field(default=None, description="Indicates if the test is shared with the account group.", alias="liveShare") + modified_by: Optional[StrictStr] = Field(default=None, description="User that modified the test.", alias="modifiedBy") + modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") + saved_event: Optional[StrictBool] = Field(default=None, description="Indicates if the test is a saved event.", alias="savedEvent") + test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned an unique ID; this is used to access test information and results from other endpoints.", alias="testId") + test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") + type: Optional[StrictStr] = None + links: Optional[TestLinks] = Field(default=None, alias="_links") + labels: Optional[List[TestLabel]] = None + shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") + dns_transport_protocol: Optional[TestDnsTransportProtocol] = Field(default=None, alias="dnsTransportProtocol") + domain: StrictStr = Field(description="The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record.") + dns_query_class: Optional[DnsQueryClass] = Field(default=None, alias="dnsQueryClass") + agents: Optional[List[AgentResponse]] = Field(default=None, description="Contains list of agents.") + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "dnsTransportProtocol", "domain", "dnsQueryClass", "agents"] + + 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 DnsTraceInstantTestResponse 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. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "created_by", + "created_date", + "live_share", + "modified_by", + "modified_date", + "saved_event", + "test_id", + "type", + "labels", + "shared_with_accounts", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in labels (list) + _items = [] + if self.labels: + for _item in self.labels: + if _item: + _items.append(_item.to_dict()) + _dict['labels'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in shared_with_accounts (list) + _items = [] + if self.shared_with_accounts: + for _item in self.shared_with_accounts: + if _item: + _items.append(_item.to_dict()) + _dict['sharedWithAccounts'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in agents (list) + _items = [] + if self.agents: + for _item in self.agents: + if _item: + _items.append(_item.to_dict()) + _dict['agents'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DnsTraceInstantTestResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "createdBy": obj.get("createdBy"), + "createdDate": obj.get("createdDate"), + "description": obj.get("description"), + "liveShare": obj.get("liveShare"), + "modifiedBy": obj.get("modifiedBy"), + "modifiedDate": obj.get("modifiedDate"), + "savedEvent": obj.get("savedEvent"), + "testId": obj.get("testId"), + "testName": obj.get("testName"), + "type": obj.get("type"), + "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, + "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, + "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, + "dnsTransportProtocol": obj.get("dnsTransportProtocol"), + "domain": obj.get("domain"), + "dnsQueryClass": obj.get("dnsQueryClass"), + "agents": [AgentResponse.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_trace_properties.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_trace_properties.py index b9f76461..6f561114 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_trace_properties.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/dns_trace_properties.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/error.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/error.py index 77cd47da..d436c307 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/error.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/error.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/expand.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/expand.py deleted file mode 100644 index 53e2b44b..00000000 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/expand.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding: utf-8 - -""" - Instant Tests API - - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - - The version of the OpenAPI document: 7.0.8 - 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 Expand(str, Enum): - """ - Expand - """ - - """ - allowed enum values - """ - AGENT = 'agent' - LABEL = 'label' - SHARED_MINUS_WITH_MINUS_ACCOUNT = 'shared-with-account' - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Create an instance of Expand from a JSON string""" - return cls(json.loads(json_str)) - - diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/expand_instant_test_options.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/expand_instant_test_options.py new file mode 100644 index 00000000..9d77a25e --- /dev/null +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/expand_instant_test_options.py @@ -0,0 +1,42 @@ +# coding: utf-8 + +""" + Instant Tests API + + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + + 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 ExpandInstantTestOptions(str, Enum): + """ + ExpandInstantTestOptions + """ + + """ + allowed enum values + """ + AGENT = 'agent' + LABEL = 'label' + SHARED_MINUS_WITH_MINUS_ACCOUNT = 'shared-with-account' + UNKNOWN = 'unknown' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ExpandInstantTestOptions from a JSON string""" + return cls(json.loads(json_str)) + + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN + diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/ftp_server_instant_test.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/ftp_server_instant_test.py index d4a80d07..fa49498d 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/ftp_server_instant_test.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/ftp_server_instant_test.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,7 +20,6 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.instant_tests.models.agent import Agent from thousandeyes_sdk.instant_tests.models.ftp_server_request_type import FtpServerRequestType from thousandeyes_sdk.instant_tests.models.shared_with_account import SharedWithAccount from thousandeyes_sdk.instant_tests.models.test_ipv6_policy import TestIpv6Policy @@ -68,8 +66,7 @@ class FtpServerInstantTest(BaseModel): username: StrictStr = Field(description="Username for Basic/NTLM authentication.") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "downloadLimit", "ftpTargetTime", "ftpTimeLimit", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "probeMode", "protocol", "requestType", "url", "useActiveFtp", "useExplicitFtps", "username", "fixedPacketRate", "ipv6Policy", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "downloadLimit", "ftpTargetTime", "ftpTimeLimit", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "probeMode", "protocol", "requestType", "url", "useActiveFtp", "useExplicitFtps", "username", "fixedPacketRate", "ipv6Policy"] model_config = ConfigDict( populate_by_name=True, @@ -112,7 +109,6 @@ class FtpServerInstantTest(BaseModel): * 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([ "created_by", @@ -125,7 +121,6 @@ class FtpServerInstantTest(BaseModel): "type", "labels", "shared_with_accounts", - "agents", ]) _dict = self.model_dump( @@ -150,13 +145,6 @@ class FtpServerInstantTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['sharedWithAccounts'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items return _dict @classmethod @@ -199,8 +187,7 @@ class FtpServerInstantTest(BaseModel): "useExplicitFtps": obj.get("useExplicitFtps"), "username": obj.get("username"), "fixedPacketRate": obj.get("fixedPacketRate"), - "ipv6Policy": obj.get("ipv6Policy"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "ipv6Policy": obj.get("ipv6Policy") }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/server_instant_test_request.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/ftp_server_instant_test_request.py similarity index 93% rename from thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/server_instant_test_request.py rename to thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/ftp_server_instant_test_request.py index e3a34bde..ee3357f8 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/server_instant_test_request.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/ftp_server_instant_test_request.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -31,9 +30,9 @@ from thousandeyes_sdk.instant_tests.models.test_protocol import TestProtocol from typing import Optional, Set from typing_extensions import Self -class ServerInstantTestRequest(BaseModel): +class FtpServerInstantTestRequest(BaseModel): """ - ServerInstantTestRequest + FtpServerInstantTestRequest """ # noqa: E501 created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") @@ -88,7 +87,7 @@ class ServerInstantTestRequest(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of ServerInstantTestRequest from a JSON string""" + """Create an instance of FtpServerInstantTestRequest from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -139,7 +138,7 @@ class ServerInstantTestRequest(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of ServerInstantTestRequest from a dict""" + """Create an instance of FtpServerInstantTestRequest from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_server_instant_test_response.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/ftp_server_instant_test_response.py similarity index 67% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_server_instant_test_response.py rename to thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/ftp_server_instant_test_response.py index 1bc7285a..91f4e26a 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_server_instant_test_response.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/ftp_server_instant_test_response.py @@ -1,11 +1,10 @@ # coding: utf-8 """ - Tests API + Instant Tests API - This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -18,23 +17,24 @@ import re # noqa: F401 import json from datetime import datetime -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent import Agent -from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount -from thousandeyes_sdk.tests.models.sip_test_protocol import SipTestProtocol -from thousandeyes_sdk.tests.models.test_ipv6_policy import TestIpv6Policy -from thousandeyes_sdk.tests.models.test_label import TestLabel -from thousandeyes_sdk.tests.models.test_links import TestLinks -from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode -from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode +from thousandeyes_sdk.instant_tests.models.agent_response import AgentResponse +from thousandeyes_sdk.instant_tests.models.ftp_server_request_type import FtpServerRequestType +from thousandeyes_sdk.instant_tests.models.shared_with_account import SharedWithAccount +from thousandeyes_sdk.instant_tests.models.test_ipv6_policy import TestIpv6Policy +from thousandeyes_sdk.instant_tests.models.test_label import TestLabel +from thousandeyes_sdk.instant_tests.models.test_links import TestLinks +from thousandeyes_sdk.instant_tests.models.test_path_trace_mode import TestPathTraceMode +from thousandeyes_sdk.instant_tests.models.test_probe_mode import TestProbeMode +from thousandeyes_sdk.instant_tests.models.test_protocol import TestProtocol from typing import Optional, Set from typing_extensions import Self -class SipServerInstantTestResponse(BaseModel): +class FtpServerInstantTestResponse(BaseModel): """ - SipServerInstantTestResponse + FtpServerInstantTestResponse """ # noqa: E501 created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") @@ -49,25 +49,26 @@ class SipServerInstantTestResponse(BaseModel): links: Optional[TestLinks] = Field(default=None, alias="_links") labels: Optional[List[TestLabel]] = None shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") + bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") + download_limit: Optional[StrictInt] = Field(default=None, description="Specify maximum number of bytes to download from the target object.", alias="downloadLimit") + ftp_target_time: Optional[Annotated[int, Field(le=6000, strict=True, ge=1000)]] = Field(default=None, description="Target time for operation completion; specified in milliseconds.", alias="ftpTargetTime") + ftp_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=10)]] = Field(default=10, description="Set the time limit for the test in seconds.", alias="ftpTimeLimit") mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") - options_regex: Optional[StrictStr] = Field(default=None, description="Options regex, this field does not require escaping.", alias="optionsRegex") + password: StrictStr = Field(description="Password for Basic/NTLM authentication.") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") - register_enabled: Optional[StrictBool] = Field(default=False, description="Set to true to perform SIP registration on the test target with the SIP REGISTER command.", alias="registerEnabled") - sip_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for test completion in milliseconds.", alias="sipTargetTime") - sip_time_limit: Optional[Annotated[int, Field(le=10, strict=True, ge=5)]] = Field(default=5, description="Time limit in milliseconds.", alias="sipTimeLimit") + protocol: Optional[TestProtocol] = None + request_type: FtpServerRequestType = Field(alias="requestType") + url: StrictStr = Field(description="Target for the test.") + use_active_ftp: Optional[StrictBool] = Field(default=False, description="Explicitly set the flag to use active FTP.", alias="useActiveFtp") + use_explicit_ftps: Optional[StrictBool] = Field(default=None, description="Use explicit FTPS (ftp over SSL). By default, tests will autodetect when it is appropriate to use FTPS.", alias="useExplicitFtps") + username: StrictStr = Field(description="Username for Basic/NTLM authentication.") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") - auth_user: Optional[StrictStr] = Field(default=None, description="Username for authentication with SIP server.", alias="authUser") - password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") - port: Annotated[int, Field(le=65535, strict=True, ge=1)] = Field(description="Target port.") - protocol: Optional[SipTestProtocol] = None - sip_registrar: Optional[StrictStr] = Field(default=None, description="SIP server to be tested, specified by domain name or IP address.", alias="sipRegistrar") - user: Optional[StrictStr] = Field(default=None, description="Username for SIP registration, should be unique within a ThousandEyes account group.") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "mtuMeasurements", "networkMeasurements", "numPathTraces", "optionsRegex", "pathTraceMode", "probeMode", "registerEnabled", "sipTargetTime", "sipTimeLimit", "fixedPacketRate", "ipv6Policy", "agents", "authUser", "password", "port", "protocol", "sipRegistrar", "user"] + agents: Optional[List[AgentResponse]] = Field(default=None, description="Contains list of agents.") + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "downloadLimit", "ftpTargetTime", "ftpTimeLimit", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "probeMode", "protocol", "requestType", "url", "useActiveFtp", "useExplicitFtps", "username", "fixedPacketRate", "ipv6Policy", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -88,7 +89,7 @@ class SipServerInstantTestResponse(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of SipServerInstantTestResponse from a JSON string""" + """Create an instance of FtpServerInstantTestResponse from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -110,7 +111,6 @@ class SipServerInstantTestResponse(BaseModel): * 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([ "created_by", @@ -123,7 +123,6 @@ class SipServerInstantTestResponse(BaseModel): "type", "labels", "shared_with_accounts", - "agents", ]) _dict = self.model_dump( @@ -159,7 +158,7 @@ class SipServerInstantTestResponse(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of SipServerInstantTestResponse from a dict""" + """Create an instance of FtpServerInstantTestResponse from a dict""" if obj is None: return None @@ -180,24 +179,25 @@ class SipServerInstantTestResponse(BaseModel): "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, + "bandwidthMeasurements": obj.get("bandwidthMeasurements"), + "downloadLimit": obj.get("downloadLimit"), + "ftpTargetTime": obj.get("ftpTargetTime"), + "ftpTimeLimit": obj.get("ftpTimeLimit") if obj.get("ftpTimeLimit") is not None else 10, "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, - "optionsRegex": obj.get("optionsRegex"), + "password": obj.get("password"), "pathTraceMode": obj.get("pathTraceMode"), "probeMode": obj.get("probeMode"), - "registerEnabled": obj.get("registerEnabled") if obj.get("registerEnabled") is not None else False, - "sipTargetTime": obj.get("sipTargetTime"), - "sipTimeLimit": obj.get("sipTimeLimit") if obj.get("sipTimeLimit") is not None else 5, + "protocol": obj.get("protocol"), + "requestType": obj.get("requestType"), + "url": obj.get("url"), + "useActiveFtp": obj.get("useActiveFtp") if obj.get("useActiveFtp") is not None else False, + "useExplicitFtps": obj.get("useExplicitFtps"), + "username": obj.get("username"), "fixedPacketRate": obj.get("fixedPacketRate"), "ipv6Policy": obj.get("ipv6Policy"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, - "authUser": obj.get("authUser"), - "password": obj.get("password"), - "port": obj.get("port") if obj.get("port") is not None else 49153, - "protocol": obj.get("protocol"), - "sipRegistrar": obj.get("sipRegistrar"), - "user": obj.get("user") + "agents": [AgentResponse.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/ftp_server_properties.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/ftp_server_properties.py index efeb717e..0553b4d7 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/ftp_server_properties.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/ftp_server_properties.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/ftp_server_request_type.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/ftp_server_request_type.py index 1d380ef6..c6b2266e 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/ftp_server_request_type.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/ftp_server_request_type.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class FtpServerRequestType(str, Enum): DOWNLOAD = 'download' UPLOAD = 'upload' LIST = 'list' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of FtpServerRequestType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_base_properties.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_base_properties.py new file mode 100644 index 00000000..8ebee49b --- /dev/null +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_base_properties.py @@ -0,0 +1,173 @@ +# coding: utf-8 + +""" + Instant Tests API + + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + + 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, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from thousandeyes_sdk.instant_tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.instant_tests.models.o_auth import OAuth +from thousandeyes_sdk.instant_tests.models.test_auth_type import TestAuthType +from thousandeyes_sdk.instant_tests.models.test_custom_headers import TestCustomHeaders +from thousandeyes_sdk.instant_tests.models.test_path_trace_mode import TestPathTraceMode +from thousandeyes_sdk.instant_tests.models.test_probe_mode import TestProbeMode +from thousandeyes_sdk.instant_tests.models.test_protocol import TestProtocol +from thousandeyes_sdk.instant_tests.models.test_ssl_version_id import TestSslVersionId +from typing import Optional, Set +from typing_extensions import Self + +class HttpServerBaseProperties(BaseModel): + """ + HttpServerBaseProperties + """ # noqa: E501 + auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") + bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") + client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") + content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") + custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders") + desired_status_code: Optional[StrictStr] = Field(default='default', description="Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code.", alias="desiredStatusCode") + download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit") + dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride") + http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") + http_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=5, description="HTTP time limit in seconds.", alias="httpTimeLimit") + http_version: Optional[Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(default=2, description="HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1.", alias="httpVersion") + include_headers: Optional[StrictBool] = Field(default=True, description="Set to `true` to capture response headers for objects loaded by the test.", alias="includeHeaders") + mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") + network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") + num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + o_auth: Optional[OAuth] = Field(default=None, alias="oAuth") + password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") + path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") + probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") + protocol: Optional[TestProtocol] = None + ssl_version: Optional[StrictStr] = Field(default=None, description="Reflects the verbose SSL protocol version used by a test.", alias="sslVersion") + ssl_version_id: Optional[TestSslVersionId] = Field(default=None, alias="sslVersionId") + url: Optional[StrictStr] = Field(default=None, description="Target for the test.") + use_ntlm: Optional[StrictBool] = Field(default=None, description="Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set.", alias="useNtlm") + user_agent: Optional[StrictStr] = Field(default=None, description="User-agent string to be provided during the test.", alias="userAgent") + username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") + verify_certificate: Optional[StrictBool] = Field(default=False, description="Ignore or acknowledge certificate errors. Set to false to ignore certificate errors.", alias="verifyCertificate") + allow_unsafe_legacy_renegotiation: Optional[StrictBool] = Field(default=True, description="Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation.", alias="allowUnsafeLegacyRenegotiation") + follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + __properties: ClassVar[List[str]] = ["authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData"] + + 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 HttpServerBaseProperties from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "ssl_version", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of agent_interfaces + if self.agent_interfaces: + _dict['agentInterfaces'] = self.agent_interfaces.to_dict() + # override the default output from pydantic by calling `to_dict()` of custom_headers + if self.custom_headers: + _dict['customHeaders'] = self.custom_headers.to_dict() + # override the default output from pydantic by calling `to_dict()` of o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of HttpServerBaseProperties from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "authType": obj.get("authType"), + "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, + "bandwidthMeasurements": obj.get("bandwidthMeasurements"), + "clientCertificate": obj.get("clientCertificate"), + "contentRegex": obj.get("contentRegex"), + "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None, + "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else 'default', + "downloadLimit": obj.get("downloadLimit"), + "dnsOverride": obj.get("dnsOverride"), + "httpTargetTime": obj.get("httpTargetTime"), + "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5, + "httpVersion": obj.get("httpVersion") if obj.get("httpVersion") is not None else 2, + "includeHeaders": obj.get("includeHeaders") if obj.get("includeHeaders") is not None else True, + "mtuMeasurements": obj.get("mtuMeasurements"), + "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, + "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, + "password": obj.get("password"), + "pathTraceMode": obj.get("pathTraceMode"), + "probeMode": obj.get("probeMode"), + "protocol": obj.get("protocol"), + "sslVersion": obj.get("sslVersion"), + "sslVersionId": obj.get("sslVersionId"), + "url": obj.get("url"), + "useNtlm": obj.get("useNtlm"), + "userAgent": obj.get("userAgent"), + "username": obj.get("username"), + "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else False, + "allowUnsafeLegacyRenegotiation": obj.get("allowUnsafeLegacyRenegotiation") if obj.get("allowUnsafeLegacyRenegotiation") is not None else True, + "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "fixedPacketRate": obj.get("fixedPacketRate"), + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False + }) + return _obj + + diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_instant_test.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_instant_test.py index 4a18a41e..74ca4007 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_instant_test.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_instant_test.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,7 +20,8 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.instant_tests.models.agent import Agent +from thousandeyes_sdk.instant_tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.instant_tests.models.o_auth import OAuth from thousandeyes_sdk.instant_tests.models.shared_with_account import SharedWithAccount from thousandeyes_sdk.instant_tests.models.test_auth_type import TestAuthType from thousandeyes_sdk.instant_tests.models.test_custom_headers import TestCustomHeaders @@ -53,12 +53,12 @@ class HttpServerInstantTest(BaseModel): labels: Optional[List[TestLabel]] = None shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") - headers: Optional[List[StrictStr]] = Field(default=None, description="HTTP request headers used.") custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders") - desired_status_code: Optional[StrictStr] = Field(default='200', description="Specify the HTTP status code value that indicates a successful response.", alias="desiredStatusCode") + desired_status_code: Optional[StrictStr] = Field(default='default', description="Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code.", alias="desiredStatusCode") download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit") dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride") http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") @@ -68,9 +68,9 @@ class HttpServerInstantTest(BaseModel): mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + o_auth: Optional[OAuth] = Field(default=None, alias="oAuth") password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") - post_body: Optional[StrictStr] = Field(default=None, description="Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST.", alias="postBody") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") protocol: Optional[TestProtocol] = None ssl_version: Optional[StrictStr] = Field(default=None, description="Reflects the verbose SSL protocol version used by a test.", alias="sslVersion") @@ -81,13 +81,15 @@ class HttpServerInstantTest(BaseModel): username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") verify_certificate: Optional[StrictBool] = Field(default=False, description="Ignore or acknowledge certificate errors. Set to false to ignore certificate errors.", alias="verifyCertificate") allow_unsafe_legacy_renegotiation: Optional[StrictBool] = Field(default=True, description="Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation.", alias="allowUnsafeLegacyRenegotiation") - ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "bandwidthMeasurements", "clientCertificate", "contentRegex", "headers", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "postBody", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "ipv6Policy", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "agents"] + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + headers: Optional[List[StrictStr]] = Field(default=None, description="HTTP request headers used.") + post_body: Optional[StrictStr] = Field(default=None, description="Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST.", alias="postBody") + ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "headers", "postBody", "ipv6Policy"] model_config = ConfigDict( populate_by_name=True, @@ -131,7 +133,6 @@ class HttpServerInstantTest(BaseModel): * 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([ "created_by", @@ -145,7 +146,6 @@ class HttpServerInstantTest(BaseModel): "labels", "shared_with_accounts", "ssl_version", - "agents", ]) _dict = self.model_dump( @@ -170,16 +170,15 @@ class HttpServerInstantTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['sharedWithAccounts'] = _items + # override the default output from pydantic by calling `to_dict()` of agent_interfaces + if self.agent_interfaces: + _dict['agentInterfaces'] = self.agent_interfaces.to_dict() # override the default output from pydantic by calling `to_dict()` of custom_headers if self.custom_headers: _dict['customHeaders'] = self.custom_headers.to_dict() - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items + # override the default output from pydantic by calling `to_dict()` of o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() return _dict @classmethod @@ -206,12 +205,12 @@ class HttpServerInstantTest(BaseModel): "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, "authType": obj.get("authType"), + "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, "bandwidthMeasurements": obj.get("bandwidthMeasurements"), "clientCertificate": obj.get("clientCertificate"), "contentRegex": obj.get("contentRegex"), - "headers": obj.get("headers"), "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None, - "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else '200', + "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else 'default', "downloadLimit": obj.get("downloadLimit"), "dnsOverride": obj.get("dnsOverride"), "httpTargetTime": obj.get("httpTargetTime"), @@ -221,9 +220,9 @@ class HttpServerInstantTest(BaseModel): "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, "password": obj.get("password"), "pathTraceMode": obj.get("pathTraceMode"), - "postBody": obj.get("postBody"), "probeMode": obj.get("probeMode"), "protocol": obj.get("protocol"), "sslVersion": obj.get("sslVersion"), @@ -234,12 +233,14 @@ class HttpServerInstantTest(BaseModel): "username": obj.get("username"), "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else False, "allowUnsafeLegacyRenegotiation": obj.get("allowUnsafeLegacyRenegotiation") if obj.get("allowUnsafeLegacyRenegotiation") is not None else True, - "ipv6Policy": obj.get("ipv6Policy"), "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, "fixedPacketRate": obj.get("fixedPacketRate"), "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "headers": obj.get("headers"), + "postBody": obj.get("postBody"), + "ipv6Policy": obj.get("ipv6Policy") }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_instant_test_request.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_instant_test_request.py index 7becbd4f..f6f240f6 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_instant_test_request.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_instant_test_request.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,6 +20,8 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated +from thousandeyes_sdk.instant_tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.instant_tests.models.o_auth import OAuth from thousandeyes_sdk.instant_tests.models.test_agent import TestAgent from thousandeyes_sdk.instant_tests.models.test_auth_type import TestAuthType from thousandeyes_sdk.instant_tests.models.test_custom_headers import TestCustomHeaders @@ -51,12 +52,12 @@ class HttpServerInstantTestRequest(BaseModel): labels: Optional[List[StrictStr]] = Field(default=None, description="A list of test label identifiers (get `labelId` from `/labels` endpoint).") shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint).", alias="sharedWithAccounts") auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") - headers: Optional[List[StrictStr]] = Field(default=None, description="HTTP request headers used.") custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders") - desired_status_code: Optional[StrictStr] = Field(default='200', description="Specify the HTTP status code value that indicates a successful response.", alias="desiredStatusCode") + desired_status_code: Optional[StrictStr] = Field(default='default', description="Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code.", alias="desiredStatusCode") download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit") dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride") http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") @@ -66,9 +67,9 @@ class HttpServerInstantTestRequest(BaseModel): mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + o_auth: Optional[OAuth] = Field(default=None, alias="oAuth") password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") - post_body: Optional[StrictStr] = Field(default=None, description="Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST.", alias="postBody") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") protocol: Optional[TestProtocol] = None ssl_version: Optional[StrictStr] = Field(default=None, description="Reflects the verbose SSL protocol version used by a test.", alias="sslVersion") @@ -79,13 +80,16 @@ class HttpServerInstantTestRequest(BaseModel): username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") verify_certificate: Optional[StrictBool] = Field(default=False, description="Ignore or acknowledge certificate errors. Set to false to ignore certificate errors.", alias="verifyCertificate") allow_unsafe_legacy_renegotiation: Optional[StrictBool] = Field(default=True, description="Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation.", alias="allowUnsafeLegacyRenegotiation") - ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + headers: Optional[List[StrictStr]] = Field(default=None, description="HTTP request headers used.") + post_body: Optional[StrictStr] = Field(default=None, description="Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST.", alias="postBody") + ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") agents: List[TestAgent] = Field(description="A list of objects with `agentId` (required) and `sourceIpAddress` (optional).") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "bandwidthMeasurements", "clientCertificate", "contentRegex", "headers", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "postBody", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "ipv6Policy", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "headers", "postBody", "ipv6Policy", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -148,9 +152,15 @@ class HttpServerInstantTestRequest(BaseModel): # override the default output from pydantic by calling `to_dict()` of links if self.links: _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of agent_interfaces + if self.agent_interfaces: + _dict['agentInterfaces'] = self.agent_interfaces.to_dict() # override the default output from pydantic by calling `to_dict()` of custom_headers if self.custom_headers: _dict['customHeaders'] = self.custom_headers.to_dict() + # override the default output from pydantic by calling `to_dict()` of o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() # override the default output from pydantic by calling `to_dict()` of each item in agents (list) _items = [] if self.agents: @@ -184,12 +194,12 @@ class HttpServerInstantTestRequest(BaseModel): "labels": obj.get("labels"), "sharedWithAccounts": obj.get("sharedWithAccounts"), "authType": obj.get("authType"), + "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, "bandwidthMeasurements": obj.get("bandwidthMeasurements"), "clientCertificate": obj.get("clientCertificate"), "contentRegex": obj.get("contentRegex"), - "headers": obj.get("headers"), "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None, - "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else '200', + "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else 'default', "downloadLimit": obj.get("downloadLimit"), "dnsOverride": obj.get("dnsOverride"), "httpTargetTime": obj.get("httpTargetTime"), @@ -199,9 +209,9 @@ class HttpServerInstantTestRequest(BaseModel): "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, "password": obj.get("password"), "pathTraceMode": obj.get("pathTraceMode"), - "postBody": obj.get("postBody"), "probeMode": obj.get("probeMode"), "protocol": obj.get("protocol"), "sslVersion": obj.get("sslVersion"), @@ -212,11 +222,14 @@ class HttpServerInstantTestRequest(BaseModel): "username": obj.get("username"), "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else False, "allowUnsafeLegacyRenegotiation": obj.get("allowUnsafeLegacyRenegotiation") if obj.get("allowUnsafeLegacyRenegotiation") is not None else True, - "ipv6Policy": obj.get("ipv6Policy"), "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, "fixedPacketRate": obj.get("fixedPacketRate"), "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "headers": obj.get("headers"), + "postBody": obj.get("postBody"), + "ipv6Policy": obj.get("ipv6Policy"), "agents": [TestAgent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_instant_test_response.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_instant_test_response.py new file mode 100644 index 00000000..3255c584 --- /dev/null +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_instant_test_response.py @@ -0,0 +1,257 @@ +# coding: utf-8 + +""" + Instant Tests API + + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from thousandeyes_sdk.instant_tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.instant_tests.models.agent_response import AgentResponse +from thousandeyes_sdk.instant_tests.models.o_auth import OAuth +from thousandeyes_sdk.instant_tests.models.shared_with_account import SharedWithAccount +from thousandeyes_sdk.instant_tests.models.test_auth_type import TestAuthType +from thousandeyes_sdk.instant_tests.models.test_custom_headers import TestCustomHeaders +from thousandeyes_sdk.instant_tests.models.test_ipv6_policy import TestIpv6Policy +from thousandeyes_sdk.instant_tests.models.test_label import TestLabel +from thousandeyes_sdk.instant_tests.models.test_links import TestLinks +from thousandeyes_sdk.instant_tests.models.test_path_trace_mode import TestPathTraceMode +from thousandeyes_sdk.instant_tests.models.test_probe_mode import TestProbeMode +from thousandeyes_sdk.instant_tests.models.test_protocol import TestProtocol +from thousandeyes_sdk.instant_tests.models.test_ssl_version_id import TestSslVersionId +from typing import Optional, Set +from typing_extensions import Self + +class HttpServerInstantTestResponse(BaseModel): + """ + HttpServerInstantTestResponse + """ # noqa: E501 + created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") + created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") + description: Optional[StrictStr] = Field(default=None, description="A description of the test.") + live_share: Optional[StrictBool] = Field(default=None, description="Indicates if the test is shared with the account group.", alias="liveShare") + modified_by: Optional[StrictStr] = Field(default=None, description="User that modified the test.", alias="modifiedBy") + modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") + saved_event: Optional[StrictBool] = Field(default=None, description="Indicates if the test is a saved event.", alias="savedEvent") + test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned an unique ID; this is used to access test information and results from other endpoints.", alias="testId") + test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") + type: Optional[StrictStr] = None + links: Optional[TestLinks] = Field(default=None, alias="_links") + labels: Optional[List[TestLabel]] = None + shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") + auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") + bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") + client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") + content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") + custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders") + desired_status_code: Optional[StrictStr] = Field(default='default', description="Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code.", alias="desiredStatusCode") + download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit") + dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride") + http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") + http_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=5, description="HTTP time limit in seconds.", alias="httpTimeLimit") + http_version: Optional[Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(default=2, description="HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1.", alias="httpVersion") + include_headers: Optional[StrictBool] = Field(default=True, description="Set to `true` to capture response headers for objects loaded by the test.", alias="includeHeaders") + mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") + network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") + num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + o_auth: Optional[OAuth] = Field(default=None, alias="oAuth") + password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") + path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") + probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") + protocol: Optional[TestProtocol] = None + ssl_version: Optional[StrictStr] = Field(default=None, description="Reflects the verbose SSL protocol version used by a test.", alias="sslVersion") + ssl_version_id: Optional[TestSslVersionId] = Field(default=None, alias="sslVersionId") + url: StrictStr = Field(description="Target for the test.") + use_ntlm: Optional[StrictBool] = Field(default=None, description="Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set.", alias="useNtlm") + user_agent: Optional[StrictStr] = Field(default=None, description="User-agent string to be provided during the test.", alias="userAgent") + username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") + verify_certificate: Optional[StrictBool] = Field(default=False, description="Ignore or acknowledge certificate errors. Set to false to ignore certificate errors.", alias="verifyCertificate") + allow_unsafe_legacy_renegotiation: Optional[StrictBool] = Field(default=True, description="Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation.", alias="allowUnsafeLegacyRenegotiation") + follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + headers: Optional[List[StrictStr]] = Field(default=None, description="HTTP request headers used.") + post_body: Optional[StrictStr] = Field(default=None, description="Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST.", alias="postBody") + ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") + agents: Optional[List[AgentResponse]] = Field(default=None, description="Contains list of agents.") + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "headers", "postBody", "ipv6Policy", "agents"] + + 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 HttpServerInstantTestResponse 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. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "created_by", + "created_date", + "live_share", + "modified_by", + "modified_date", + "saved_event", + "test_id", + "type", + "labels", + "shared_with_accounts", + "ssl_version", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in labels (list) + _items = [] + if self.labels: + for _item in self.labels: + if _item: + _items.append(_item.to_dict()) + _dict['labels'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in shared_with_accounts (list) + _items = [] + if self.shared_with_accounts: + for _item in self.shared_with_accounts: + if _item: + _items.append(_item.to_dict()) + _dict['sharedWithAccounts'] = _items + # override the default output from pydantic by calling `to_dict()` of agent_interfaces + if self.agent_interfaces: + _dict['agentInterfaces'] = self.agent_interfaces.to_dict() + # override the default output from pydantic by calling `to_dict()` of custom_headers + if self.custom_headers: + _dict['customHeaders'] = self.custom_headers.to_dict() + # override the default output from pydantic by calling `to_dict()` of o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in agents (list) + _items = [] + if self.agents: + for _item in self.agents: + if _item: + _items.append(_item.to_dict()) + _dict['agents'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of HttpServerInstantTestResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "createdBy": obj.get("createdBy"), + "createdDate": obj.get("createdDate"), + "description": obj.get("description"), + "liveShare": obj.get("liveShare"), + "modifiedBy": obj.get("modifiedBy"), + "modifiedDate": obj.get("modifiedDate"), + "savedEvent": obj.get("savedEvent"), + "testId": obj.get("testId"), + "testName": obj.get("testName"), + "type": obj.get("type"), + "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, + "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, + "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, + "authType": obj.get("authType"), + "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, + "bandwidthMeasurements": obj.get("bandwidthMeasurements"), + "clientCertificate": obj.get("clientCertificate"), + "contentRegex": obj.get("contentRegex"), + "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None, + "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else 'default', + "downloadLimit": obj.get("downloadLimit"), + "dnsOverride": obj.get("dnsOverride"), + "httpTargetTime": obj.get("httpTargetTime"), + "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5, + "httpVersion": obj.get("httpVersion") if obj.get("httpVersion") is not None else 2, + "includeHeaders": obj.get("includeHeaders") if obj.get("includeHeaders") is not None else True, + "mtuMeasurements": obj.get("mtuMeasurements"), + "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, + "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, + "password": obj.get("password"), + "pathTraceMode": obj.get("pathTraceMode"), + "probeMode": obj.get("probeMode"), + "protocol": obj.get("protocol"), + "sslVersion": obj.get("sslVersion"), + "sslVersionId": obj.get("sslVersionId"), + "url": obj.get("url"), + "useNtlm": obj.get("useNtlm"), + "userAgent": obj.get("userAgent"), + "username": obj.get("username"), + "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else False, + "allowUnsafeLegacyRenegotiation": obj.get("allowUnsafeLegacyRenegotiation") if obj.get("allowUnsafeLegacyRenegotiation") is not None else True, + "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "fixedPacketRate": obj.get("fixedPacketRate"), + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "headers": obj.get("headers"), + "postBody": obj.get("postBody"), + "ipv6Policy": obj.get("ipv6Policy"), + "agents": [AgentResponse.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_properties.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_properties.py index 3fd6f114..cc87877c 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_properties.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/http_server_properties.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,6 +19,8 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated +from thousandeyes_sdk.instant_tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.instant_tests.models.o_auth import OAuth from thousandeyes_sdk.instant_tests.models.test_auth_type import TestAuthType from thousandeyes_sdk.instant_tests.models.test_custom_headers import TestCustomHeaders from thousandeyes_sdk.instant_tests.models.test_ipv6_policy import TestIpv6Policy @@ -35,12 +36,12 @@ class HttpServerProperties(BaseModel): HttpServerProperties """ # noqa: E501 auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") - headers: Optional[List[StrictStr]] = Field(default=None, description="HTTP request headers used.") custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders") - desired_status_code: Optional[StrictStr] = Field(default='200', description="Specify the HTTP status code value that indicates a successful response.", alias="desiredStatusCode") + desired_status_code: Optional[StrictStr] = Field(default='default', description="Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code.", alias="desiredStatusCode") download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit") dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride") http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") @@ -50,9 +51,9 @@ class HttpServerProperties(BaseModel): mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + o_auth: Optional[OAuth] = Field(default=None, alias="oAuth") password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") - post_body: Optional[StrictStr] = Field(default=None, description="Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST.", alias="postBody") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") protocol: Optional[TestProtocol] = None ssl_version: Optional[StrictStr] = Field(default=None, description="Reflects the verbose SSL protocol version used by a test.", alias="sslVersion") @@ -63,13 +64,16 @@ class HttpServerProperties(BaseModel): username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") verify_certificate: Optional[StrictBool] = Field(default=False, description="Ignore or acknowledge certificate errors. Set to false to ignore certificate errors.", alias="verifyCertificate") allow_unsafe_legacy_renegotiation: Optional[StrictBool] = Field(default=True, description="Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation.", alias="allowUnsafeLegacyRenegotiation") - ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + headers: Optional[List[StrictStr]] = Field(default=None, description="HTTP request headers used.") + post_body: Optional[StrictStr] = Field(default=None, description="Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST.", alias="postBody") + ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") type: Optional[StrictStr] = None - __properties: ClassVar[List[str]] = ["authType", "bandwidthMeasurements", "clientCertificate", "contentRegex", "headers", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "postBody", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "ipv6Policy", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "type"] + __properties: ClassVar[List[str]] = ["authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "headers", "postBody", "ipv6Policy", "type"] model_config = ConfigDict( populate_by_name=True, @@ -115,9 +119,15 @@ class HttpServerProperties(BaseModel): exclude=excluded_fields, exclude_none=True, ) + # override the default output from pydantic by calling `to_dict()` of agent_interfaces + if self.agent_interfaces: + _dict['agentInterfaces'] = self.agent_interfaces.to_dict() # override the default output from pydantic by calling `to_dict()` of custom_headers if self.custom_headers: _dict['customHeaders'] = self.custom_headers.to_dict() + # override the default output from pydantic by calling `to_dict()` of o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() return _dict @classmethod @@ -131,12 +141,12 @@ class HttpServerProperties(BaseModel): _obj = cls.model_validate({ "authType": obj.get("authType"), + "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, "bandwidthMeasurements": obj.get("bandwidthMeasurements"), "clientCertificate": obj.get("clientCertificate"), "contentRegex": obj.get("contentRegex"), - "headers": obj.get("headers"), "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None, - "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else '200', + "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else 'default', "downloadLimit": obj.get("downloadLimit"), "dnsOverride": obj.get("dnsOverride"), "httpTargetTime": obj.get("httpTargetTime"), @@ -146,9 +156,9 @@ class HttpServerProperties(BaseModel): "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, "password": obj.get("password"), "pathTraceMode": obj.get("pathTraceMode"), - "postBody": obj.get("postBody"), "probeMode": obj.get("probeMode"), "protocol": obj.get("protocol"), "sslVersion": obj.get("sslVersion"), @@ -159,11 +169,14 @@ class HttpServerProperties(BaseModel): "username": obj.get("username"), "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else False, "allowUnsafeLegacyRenegotiation": obj.get("allowUnsafeLegacyRenegotiation") if obj.get("allowUnsafeLegacyRenegotiation") is not None else True, - "ipv6Policy": obj.get("ipv6Policy"), "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, "fixedPacketRate": obj.get("fixedPacketRate"), "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "headers": obj.get("headers"), + "postBody": obj.get("postBody"), + "ipv6Policy": obj.get("ipv6Policy"), "type": obj.get("type") }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/instant_test.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/instant_test.py index b898443a..e19828ce 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/instant_test.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/instant_test.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/instant_test_request.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/instant_test_request.py index 2e1e1782..75e8ba13 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/instant_test_request.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/instant_test_request.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/link.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/link.py index d275f1a8..3c94d688 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/link.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/link.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/o_auth.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/o_auth.py new file mode 100644 index 00000000..53708f81 --- /dev/null +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/o_auth.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Instant Tests API + + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.instant_tests.models.request_method import RequestMethod +from thousandeyes_sdk.instant_tests.models.test_auth_type import TestAuthType +from typing import Optional, Set +from typing_extensions import Self + +class OAuth(BaseModel): + """ + Use this only if you want to use OAuth as the authentication mechanism. + """ # noqa: E501 + config_id: Optional[StrictStr] = Field(default=None, description="The ID of the OAuth configuration.", alias="configId") + test_url: Optional[StrictStr] = Field(default=None, description="Target for the test.", alias="testUrl") + request_method: Optional[RequestMethod] = Field(default=None, alias="requestMethod") + post_body: Optional[StrictStr] = Field(default=None, description="Enter the OAuth body for the HTTP POST request in this field when using OAuth as the authentication mechanism. No special escaping is required. If content is provided in the post body, the `requestMethod` is automatically set to POST.", alias="postBody") + headers: Optional[StrictStr] = Field(default=None, description="Request headers used for OAuth.") + auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + username: Optional[StrictStr] = Field(default=None, description="OAuth username") + password: Optional[StrictStr] = Field(default=None, description="OAuth password") + __properties: ClassVar[List[str]] = ["configId", "testUrl", "requestMethod", "postBody", "headers", "authType", "username", "password"] + + 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 OAuth 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 OAuth from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "configId": obj.get("configId"), + "testUrl": obj.get("testUrl"), + "requestMethod": obj.get("requestMethod"), + "postBody": obj.get("postBody"), + "headers": obj.get("headers"), + "authType": obj.get("authType"), + "username": obj.get("username"), + "password": obj.get("password") + }) + return _obj + + diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/page_load_instant_test.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/page_load_instant_test.py index 90a8c0e1..850192a4 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/page_load_instant_test.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/page_load_instant_test.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -18,10 +17,11 @@ import re # noqa: F401 import json from datetime import datetime -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.instant_tests.models.agent import Agent +from thousandeyes_sdk.instant_tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.instant_tests.models.o_auth import OAuth from thousandeyes_sdk.instant_tests.models.shared_with_account import SharedWithAccount from thousandeyes_sdk.instant_tests.models.test_auth_type import TestAuthType from thousandeyes_sdk.instant_tests.models.test_custom_headers import TestCustomHeaders @@ -53,13 +53,14 @@ class PageLoadInstantTest(BaseModel): labels: Optional[List[TestLabel]] = None shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") - content_regex: Optional[StrictStr] = Field(default=None, description="Verify content using a regular expression. This field does not require escaping.", alias="contentRegex") + content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders") - desired_status_code: Optional[StrictStr] = Field(default='200', description="Specify the HTTP status code value that indicates a successful response.", alias="desiredStatusCode") - emulated_device_id: Optional[StrictStr] = Field(default=None, description="id of the emulated device, if one was given when the test was created", alias="emulatedDeviceId") - follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + desired_status_code: Optional[StrictStr] = Field(default='default', description="Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code.", alias="desiredStatusCode") + download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit") + dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride") http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") http_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=5, description="HTTP time limit in seconds.", alias="httpTimeLimit") http_version: Optional[Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(default=2, description="HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1.", alias="httpVersion") @@ -67,8 +68,7 @@ class PageLoadInstantTest(BaseModel): mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") - page_load_target_time: Optional[Annotated[int, Field(le=30, strict=True, ge=1)]] = Field(default=None, description="Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`.", alias="pageLoadTargetTime") - page_load_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=10, description="Page load time limit. Must be larger than the `httpTimeLimit`.", alias="pageLoadTimeLimit") + o_auth: Optional[OAuth] = Field(default=None, alias="oAuth") password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") @@ -81,17 +81,21 @@ class PageLoadInstantTest(BaseModel): username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") verify_certificate: Optional[StrictBool] = Field(default=False, description="Ignore or acknowledge certificate errors. Set to false to ignore certificate errors.", alias="verifyCertificate") allow_unsafe_legacy_renegotiation: Optional[StrictBool] = Field(default=True, description="Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation.", alias="allowUnsafeLegacyRenegotiation") + follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if one was given when the test was created.", alias="emulatedDeviceId") + page_load_target_time: Optional[Annotated[int, Field(le=30, strict=True, ge=1)]] = Field(default=None, description="Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`.", alias="pageLoadTargetTime") + page_load_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=10, description="Page load time limit. Must be larger than the `httpTimeLimit`.", alias="pageLoadTimeLimit") block_domains: Optional[StrictStr] = Field(default=None, description="Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests.", alias="blockDomains") disable_screenshot: Optional[StrictBool] = Field(default=False, description="Enables or disables screenshots on error. Set true to not capture", alias="disableScreenshot") allow_mic_and_camera: Optional[StrictBool] = Field(default=False, description="Set true allow the use of a fake mic and camera in the browser.", alias="allowMicAndCamera") allow_geolocation: Optional[StrictBool] = Field(default=False, description="Set true to use the agent’s geolocation by the web page.", alias="allowGeolocation") browser_language: Optional[StrictStr] = Field(default=None, description="Set one of the available browser language that you want to use to configure the browser.", alias="browserLanguage") page_loading_strategy: Optional[TestPageLoadingStrategy] = Field(default=None, alias="pageLoadingStrategy") - fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") - override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") - override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "emulatedDeviceId", "followRedirects", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pageLoadTargetTime", "pageLoadTimeLimit", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "pageLoadTargetTime", "pageLoadTimeLimit", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy"] model_config = ConfigDict( populate_by_name=True, @@ -135,7 +139,6 @@ class PageLoadInstantTest(BaseModel): * 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([ "created_by", @@ -149,7 +152,6 @@ class PageLoadInstantTest(BaseModel): "labels", "shared_with_accounts", "ssl_version", - "agents", ]) _dict = self.model_dump( @@ -174,16 +176,15 @@ class PageLoadInstantTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['sharedWithAccounts'] = _items + # override the default output from pydantic by calling `to_dict()` of agent_interfaces + if self.agent_interfaces: + _dict['agentInterfaces'] = self.agent_interfaces.to_dict() # override the default output from pydantic by calling `to_dict()` of custom_headers if self.custom_headers: _dict['customHeaders'] = self.custom_headers.to_dict() - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items + # override the default output from pydantic by calling `to_dict()` of o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() return _dict @classmethod @@ -210,13 +211,14 @@ class PageLoadInstantTest(BaseModel): "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, "authType": obj.get("authType"), + "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, "bandwidthMeasurements": obj.get("bandwidthMeasurements"), "clientCertificate": obj.get("clientCertificate"), "contentRegex": obj.get("contentRegex"), "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None, - "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else '200', - "emulatedDeviceId": obj.get("emulatedDeviceId"), - "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else 'default', + "downloadLimit": obj.get("downloadLimit"), + "dnsOverride": obj.get("dnsOverride"), "httpTargetTime": obj.get("httpTargetTime"), "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5, "httpVersion": obj.get("httpVersion") if obj.get("httpVersion") is not None else 2, @@ -224,8 +226,7 @@ class PageLoadInstantTest(BaseModel): "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, - "pageLoadTargetTime": obj.get("pageLoadTargetTime"), - "pageLoadTimeLimit": obj.get("pageLoadTimeLimit") if obj.get("pageLoadTimeLimit") is not None else 10, + "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, "password": obj.get("password"), "pathTraceMode": obj.get("pathTraceMode"), "probeMode": obj.get("probeMode"), @@ -238,16 +239,20 @@ class PageLoadInstantTest(BaseModel): "username": obj.get("username"), "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else False, "allowUnsafeLegacyRenegotiation": obj.get("allowUnsafeLegacyRenegotiation") if obj.get("allowUnsafeLegacyRenegotiation") is not None else True, + "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "fixedPacketRate": obj.get("fixedPacketRate"), + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "emulatedDeviceId": obj.get("emulatedDeviceId"), + "pageLoadTargetTime": obj.get("pageLoadTargetTime"), + "pageLoadTimeLimit": obj.get("pageLoadTimeLimit") if obj.get("pageLoadTimeLimit") is not None else 10, "blockDomains": obj.get("blockDomains"), "disableScreenshot": obj.get("disableScreenshot") if obj.get("disableScreenshot") is not None else False, "allowMicAndCamera": obj.get("allowMicAndCamera") if obj.get("allowMicAndCamera") is not None else False, "allowGeolocation": obj.get("allowGeolocation") if obj.get("allowGeolocation") is not None else False, "browserLanguage": obj.get("browserLanguage"), - "pageLoadingStrategy": obj.get("pageLoadingStrategy"), - "fixedPacketRate": obj.get("fixedPacketRate"), - "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, - "overrideProxyId": obj.get("overrideProxyId"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "pageLoadingStrategy": obj.get("pageLoadingStrategy") }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/page_load_instant_test_request.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/page_load_instant_test_request.py index f19d72a9..644de89e 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/page_load_instant_test_request.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/page_load_instant_test_request.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -18,9 +17,11 @@ import re # noqa: F401 import json from datetime import datetime -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated +from thousandeyes_sdk.instant_tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.instant_tests.models.o_auth import OAuth from thousandeyes_sdk.instant_tests.models.test_agent import TestAgent from thousandeyes_sdk.instant_tests.models.test_auth_type import TestAuthType from thousandeyes_sdk.instant_tests.models.test_custom_headers import TestCustomHeaders @@ -51,13 +52,14 @@ class PageLoadInstantTestRequest(BaseModel): labels: Optional[List[StrictStr]] = Field(default=None, description="A list of test label identifiers (get `labelId` from `/labels` endpoint).") shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint).", alias="sharedWithAccounts") auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") - content_regex: Optional[StrictStr] = Field(default=None, description="Verify content using a regular expression. This field does not require escaping.", alias="contentRegex") + content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders") - desired_status_code: Optional[StrictStr] = Field(default='200', description="Specify the HTTP status code value that indicates a successful response.", alias="desiredStatusCode") - emulated_device_id: Optional[StrictStr] = Field(default=None, description="id of the emulated device, if one was given when the test was created", alias="emulatedDeviceId") - follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + desired_status_code: Optional[StrictStr] = Field(default='default', description="Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code.", alias="desiredStatusCode") + download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit") + dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride") http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") http_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=5, description="HTTP time limit in seconds.", alias="httpTimeLimit") http_version: Optional[Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(default=2, description="HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1.", alias="httpVersion") @@ -65,8 +67,7 @@ class PageLoadInstantTestRequest(BaseModel): mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") - page_load_target_time: Optional[Annotated[int, Field(le=30, strict=True, ge=1)]] = Field(default=None, description="Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`.", alias="pageLoadTargetTime") - page_load_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=10, description="Page load time limit. Must be larger than the `httpTimeLimit`.", alias="pageLoadTimeLimit") + o_auth: Optional[OAuth] = Field(default=None, alias="oAuth") password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") @@ -79,17 +80,22 @@ class PageLoadInstantTestRequest(BaseModel): username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") verify_certificate: Optional[StrictBool] = Field(default=False, description="Ignore or acknowledge certificate errors. Set to false to ignore certificate errors.", alias="verifyCertificate") allow_unsafe_legacy_renegotiation: Optional[StrictBool] = Field(default=True, description="Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation.", alias="allowUnsafeLegacyRenegotiation") + follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if one was given when the test was created.", alias="emulatedDeviceId") + page_load_target_time: Optional[Annotated[int, Field(le=30, strict=True, ge=1)]] = Field(default=None, description="Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`.", alias="pageLoadTargetTime") + page_load_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=10, description="Page load time limit. Must be larger than the `httpTimeLimit`.", alias="pageLoadTimeLimit") block_domains: Optional[StrictStr] = Field(default=None, description="Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests.", alias="blockDomains") disable_screenshot: Optional[StrictBool] = Field(default=False, description="Enables or disables screenshots on error. Set true to not capture", alias="disableScreenshot") allow_mic_and_camera: Optional[StrictBool] = Field(default=False, description="Set true allow the use of a fake mic and camera in the browser.", alias="allowMicAndCamera") allow_geolocation: Optional[StrictBool] = Field(default=False, description="Set true to use the agent’s geolocation by the web page.", alias="allowGeolocation") browser_language: Optional[StrictStr] = Field(default=None, description="Set one of the available browser language that you want to use to configure the browser.", alias="browserLanguage") page_loading_strategy: Optional[TestPageLoadingStrategy] = Field(default=None, alias="pageLoadingStrategy") - fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") - override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") - override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") agents: List[TestAgent] = Field(description="A list of objects with `agentId` (required) and `sourceIpAddress` (optional).") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "emulatedDeviceId", "followRedirects", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pageLoadTargetTime", "pageLoadTimeLimit", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "pageLoadTargetTime", "pageLoadTimeLimit", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -152,9 +158,15 @@ class PageLoadInstantTestRequest(BaseModel): # override the default output from pydantic by calling `to_dict()` of links if self.links: _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of agent_interfaces + if self.agent_interfaces: + _dict['agentInterfaces'] = self.agent_interfaces.to_dict() # override the default output from pydantic by calling `to_dict()` of custom_headers if self.custom_headers: _dict['customHeaders'] = self.custom_headers.to_dict() + # override the default output from pydantic by calling `to_dict()` of o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() # override the default output from pydantic by calling `to_dict()` of each item in agents (list) _items = [] if self.agents: @@ -188,13 +200,14 @@ class PageLoadInstantTestRequest(BaseModel): "labels": obj.get("labels"), "sharedWithAccounts": obj.get("sharedWithAccounts"), "authType": obj.get("authType"), + "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, "bandwidthMeasurements": obj.get("bandwidthMeasurements"), "clientCertificate": obj.get("clientCertificate"), "contentRegex": obj.get("contentRegex"), "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None, - "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else '200', - "emulatedDeviceId": obj.get("emulatedDeviceId"), - "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else 'default', + "downloadLimit": obj.get("downloadLimit"), + "dnsOverride": obj.get("dnsOverride"), "httpTargetTime": obj.get("httpTargetTime"), "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5, "httpVersion": obj.get("httpVersion") if obj.get("httpVersion") is not None else 2, @@ -202,8 +215,7 @@ class PageLoadInstantTestRequest(BaseModel): "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, - "pageLoadTargetTime": obj.get("pageLoadTargetTime"), - "pageLoadTimeLimit": obj.get("pageLoadTimeLimit") if obj.get("pageLoadTimeLimit") is not None else 10, + "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, "password": obj.get("password"), "pathTraceMode": obj.get("pathTraceMode"), "probeMode": obj.get("probeMode"), @@ -216,15 +228,20 @@ class PageLoadInstantTestRequest(BaseModel): "username": obj.get("username"), "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else False, "allowUnsafeLegacyRenegotiation": obj.get("allowUnsafeLegacyRenegotiation") if obj.get("allowUnsafeLegacyRenegotiation") is not None else True, + "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "fixedPacketRate": obj.get("fixedPacketRate"), + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "emulatedDeviceId": obj.get("emulatedDeviceId"), + "pageLoadTargetTime": obj.get("pageLoadTargetTime"), + "pageLoadTimeLimit": obj.get("pageLoadTimeLimit") if obj.get("pageLoadTimeLimit") is not None else 10, "blockDomains": obj.get("blockDomains"), "disableScreenshot": obj.get("disableScreenshot") if obj.get("disableScreenshot") is not None else False, "allowMicAndCamera": obj.get("allowMicAndCamera") if obj.get("allowMicAndCamera") is not None else False, "allowGeolocation": obj.get("allowGeolocation") if obj.get("allowGeolocation") is not None else False, "browserLanguage": obj.get("browserLanguage"), "pageLoadingStrategy": obj.get("pageLoadingStrategy"), - "fixedPacketRate": obj.get("fixedPacketRate"), - "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, - "overrideProxyId": obj.get("overrideProxyId"), "agents": [TestAgent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/page_load_instant_test_response.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/page_load_instant_test_response.py new file mode 100644 index 00000000..0b214fb3 --- /dev/null +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/page_load_instant_test_response.py @@ -0,0 +1,269 @@ +# coding: utf-8 + +""" + Instant Tests API + + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from thousandeyes_sdk.instant_tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.instant_tests.models.agent_response import AgentResponse +from thousandeyes_sdk.instant_tests.models.o_auth import OAuth +from thousandeyes_sdk.instant_tests.models.shared_with_account import SharedWithAccount +from thousandeyes_sdk.instant_tests.models.test_auth_type import TestAuthType +from thousandeyes_sdk.instant_tests.models.test_custom_headers import TestCustomHeaders +from thousandeyes_sdk.instant_tests.models.test_label import TestLabel +from thousandeyes_sdk.instant_tests.models.test_links import TestLinks +from thousandeyes_sdk.instant_tests.models.test_page_loading_strategy import TestPageLoadingStrategy +from thousandeyes_sdk.instant_tests.models.test_path_trace_mode import TestPathTraceMode +from thousandeyes_sdk.instant_tests.models.test_probe_mode import TestProbeMode +from thousandeyes_sdk.instant_tests.models.test_protocol import TestProtocol +from thousandeyes_sdk.instant_tests.models.test_ssl_version_id import TestSslVersionId +from typing import Optional, Set +from typing_extensions import Self + +class PageLoadInstantTestResponse(BaseModel): + """ + PageLoadInstantTestResponse + """ # noqa: E501 + created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") + created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") + description: Optional[StrictStr] = Field(default=None, description="A description of the test.") + live_share: Optional[StrictBool] = Field(default=None, description="Indicates if the test is shared with the account group.", alias="liveShare") + modified_by: Optional[StrictStr] = Field(default=None, description="User that modified the test.", alias="modifiedBy") + modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") + saved_event: Optional[StrictBool] = Field(default=None, description="Indicates if the test is a saved event.", alias="savedEvent") + test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned an unique ID; this is used to access test information and results from other endpoints.", alias="testId") + test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") + type: Optional[StrictStr] = None + links: Optional[TestLinks] = Field(default=None, alias="_links") + labels: Optional[List[TestLabel]] = None + shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") + auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") + bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") + client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") + content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") + custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders") + desired_status_code: Optional[StrictStr] = Field(default='default', description="Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code.", alias="desiredStatusCode") + download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit") + dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride") + http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") + http_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=5, description="HTTP time limit in seconds.", alias="httpTimeLimit") + http_version: Optional[Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(default=2, description="HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1.", alias="httpVersion") + include_headers: Optional[StrictBool] = Field(default=True, description="Set to `true` to capture response headers for objects loaded by the test.", alias="includeHeaders") + mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") + network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") + num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + o_auth: Optional[OAuth] = Field(default=None, alias="oAuth") + password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") + path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") + probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") + protocol: Optional[TestProtocol] = None + ssl_version: Optional[StrictStr] = Field(default=None, description="Reflects the verbose SSL protocol version used by a test.", alias="sslVersion") + ssl_version_id: Optional[TestSslVersionId] = Field(default=None, alias="sslVersionId") + url: StrictStr = Field(description="Target for the test.") + use_ntlm: Optional[StrictBool] = Field(default=None, description="Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set.", alias="useNtlm") + user_agent: Optional[StrictStr] = Field(default=None, description="User-agent string to be provided during the test.", alias="userAgent") + username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") + verify_certificate: Optional[StrictBool] = Field(default=False, description="Ignore or acknowledge certificate errors. Set to false to ignore certificate errors.", alias="verifyCertificate") + allow_unsafe_legacy_renegotiation: Optional[StrictBool] = Field(default=True, description="Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation.", alias="allowUnsafeLegacyRenegotiation") + follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if one was given when the test was created.", alias="emulatedDeviceId") + page_load_target_time: Optional[Annotated[int, Field(le=30, strict=True, ge=1)]] = Field(default=None, description="Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`.", alias="pageLoadTargetTime") + page_load_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=10, description="Page load time limit. Must be larger than the `httpTimeLimit`.", alias="pageLoadTimeLimit") + block_domains: Optional[StrictStr] = Field(default=None, description="Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests.", alias="blockDomains") + disable_screenshot: Optional[StrictBool] = Field(default=False, description="Enables or disables screenshots on error. Set true to not capture", alias="disableScreenshot") + allow_mic_and_camera: Optional[StrictBool] = Field(default=False, description="Set true allow the use of a fake mic and camera in the browser.", alias="allowMicAndCamera") + allow_geolocation: Optional[StrictBool] = Field(default=False, description="Set true to use the agent’s geolocation by the web page.", alias="allowGeolocation") + browser_language: Optional[StrictStr] = Field(default=None, description="Set one of the available browser language that you want to use to configure the browser.", alias="browserLanguage") + page_loading_strategy: Optional[TestPageLoadingStrategy] = Field(default=None, alias="pageLoadingStrategy") + agents: Optional[List[AgentResponse]] = Field(default=None, description="Contains list of agents.") + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "pageLoadTargetTime", "pageLoadTimeLimit", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "agents"] + + 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 PageLoadInstantTestResponse 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. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "created_by", + "created_date", + "live_share", + "modified_by", + "modified_date", + "saved_event", + "test_id", + "type", + "labels", + "shared_with_accounts", + "ssl_version", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in labels (list) + _items = [] + if self.labels: + for _item in self.labels: + if _item: + _items.append(_item.to_dict()) + _dict['labels'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in shared_with_accounts (list) + _items = [] + if self.shared_with_accounts: + for _item in self.shared_with_accounts: + if _item: + _items.append(_item.to_dict()) + _dict['sharedWithAccounts'] = _items + # override the default output from pydantic by calling `to_dict()` of agent_interfaces + if self.agent_interfaces: + _dict['agentInterfaces'] = self.agent_interfaces.to_dict() + # override the default output from pydantic by calling `to_dict()` of custom_headers + if self.custom_headers: + _dict['customHeaders'] = self.custom_headers.to_dict() + # override the default output from pydantic by calling `to_dict()` of o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in agents (list) + _items = [] + if self.agents: + for _item in self.agents: + if _item: + _items.append(_item.to_dict()) + _dict['agents'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PageLoadInstantTestResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "createdBy": obj.get("createdBy"), + "createdDate": obj.get("createdDate"), + "description": obj.get("description"), + "liveShare": obj.get("liveShare"), + "modifiedBy": obj.get("modifiedBy"), + "modifiedDate": obj.get("modifiedDate"), + "savedEvent": obj.get("savedEvent"), + "testId": obj.get("testId"), + "testName": obj.get("testName"), + "type": obj.get("type"), + "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, + "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, + "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, + "authType": obj.get("authType"), + "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, + "bandwidthMeasurements": obj.get("bandwidthMeasurements"), + "clientCertificate": obj.get("clientCertificate"), + "contentRegex": obj.get("contentRegex"), + "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None, + "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else 'default', + "downloadLimit": obj.get("downloadLimit"), + "dnsOverride": obj.get("dnsOverride"), + "httpTargetTime": obj.get("httpTargetTime"), + "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5, + "httpVersion": obj.get("httpVersion") if obj.get("httpVersion") is not None else 2, + "includeHeaders": obj.get("includeHeaders") if obj.get("includeHeaders") is not None else True, + "mtuMeasurements": obj.get("mtuMeasurements"), + "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, + "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, + "password": obj.get("password"), + "pathTraceMode": obj.get("pathTraceMode"), + "probeMode": obj.get("probeMode"), + "protocol": obj.get("protocol"), + "sslVersion": obj.get("sslVersion"), + "sslVersionId": obj.get("sslVersionId"), + "url": obj.get("url"), + "useNtlm": obj.get("useNtlm"), + "userAgent": obj.get("userAgent"), + "username": obj.get("username"), + "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else False, + "allowUnsafeLegacyRenegotiation": obj.get("allowUnsafeLegacyRenegotiation") if obj.get("allowUnsafeLegacyRenegotiation") is not None else True, + "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "fixedPacketRate": obj.get("fixedPacketRate"), + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "emulatedDeviceId": obj.get("emulatedDeviceId"), + "pageLoadTargetTime": obj.get("pageLoadTargetTime"), + "pageLoadTimeLimit": obj.get("pageLoadTimeLimit") if obj.get("pageLoadTimeLimit") is not None else 10, + "blockDomains": obj.get("blockDomains"), + "disableScreenshot": obj.get("disableScreenshot") if obj.get("disableScreenshot") is not None else False, + "allowMicAndCamera": obj.get("allowMicAndCamera") if obj.get("allowMicAndCamera") is not None else False, + "allowGeolocation": obj.get("allowGeolocation") if obj.get("allowGeolocation") is not None else False, + "browserLanguage": obj.get("browserLanguage"), + "pageLoadingStrategy": obj.get("pageLoadingStrategy"), + "agents": [AgentResponse.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/page_load_properties.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/page_load_properties.py index eb78dc27..1924394c 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/page_load_properties.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/page_load_properties.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,9 +16,11 @@ import pprint import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated +from thousandeyes_sdk.instant_tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.instant_tests.models.o_auth import OAuth from thousandeyes_sdk.instant_tests.models.test_auth_type import TestAuthType from thousandeyes_sdk.instant_tests.models.test_custom_headers import TestCustomHeaders from thousandeyes_sdk.instant_tests.models.test_page_loading_strategy import TestPageLoadingStrategy @@ -35,13 +36,14 @@ class PageLoadProperties(BaseModel): PageLoadProperties """ # noqa: E501 auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") - content_regex: Optional[StrictStr] = Field(default=None, description="Verify content using a regular expression. This field does not require escaping.", alias="contentRegex") + content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders") - desired_status_code: Optional[StrictStr] = Field(default='200', description="Specify the HTTP status code value that indicates a successful response.", alias="desiredStatusCode") - emulated_device_id: Optional[StrictStr] = Field(default=None, description="id of the emulated device, if one was given when the test was created", alias="emulatedDeviceId") - follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + desired_status_code: Optional[StrictStr] = Field(default='default', description="Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code.", alias="desiredStatusCode") + download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit") + dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride") http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") http_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=5, description="HTTP time limit in seconds.", alias="httpTimeLimit") http_version: Optional[Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(default=2, description="HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1.", alias="httpVersion") @@ -49,8 +51,7 @@ class PageLoadProperties(BaseModel): mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") - page_load_target_time: Optional[Annotated[int, Field(le=30, strict=True, ge=1)]] = Field(default=None, description="Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`.", alias="pageLoadTargetTime") - page_load_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=10, description="Page load time limit. Must be larger than the `httpTimeLimit`.", alias="pageLoadTimeLimit") + o_auth: Optional[OAuth] = Field(default=None, alias="oAuth") password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") @@ -63,17 +64,22 @@ class PageLoadProperties(BaseModel): username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") verify_certificate: Optional[StrictBool] = Field(default=False, description="Ignore or acknowledge certificate errors. Set to false to ignore certificate errors.", alias="verifyCertificate") allow_unsafe_legacy_renegotiation: Optional[StrictBool] = Field(default=True, description="Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation.", alias="allowUnsafeLegacyRenegotiation") + follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if one was given when the test was created.", alias="emulatedDeviceId") + page_load_target_time: Optional[Annotated[int, Field(le=30, strict=True, ge=1)]] = Field(default=None, description="Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`.", alias="pageLoadTargetTime") + page_load_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=10, description="Page load time limit. Must be larger than the `httpTimeLimit`.", alias="pageLoadTimeLimit") block_domains: Optional[StrictStr] = Field(default=None, description="Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests.", alias="blockDomains") disable_screenshot: Optional[StrictBool] = Field(default=False, description="Enables or disables screenshots on error. Set true to not capture", alias="disableScreenshot") allow_mic_and_camera: Optional[StrictBool] = Field(default=False, description="Set true allow the use of a fake mic and camera in the browser.", alias="allowMicAndCamera") allow_geolocation: Optional[StrictBool] = Field(default=False, description="Set true to use the agent’s geolocation by the web page.", alias="allowGeolocation") browser_language: Optional[StrictStr] = Field(default=None, description="Set one of the available browser language that you want to use to configure the browser.", alias="browserLanguage") page_loading_strategy: Optional[TestPageLoadingStrategy] = Field(default=None, alias="pageLoadingStrategy") - fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") type: Optional[StrictStr] = None - override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") - override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") - __properties: ClassVar[List[str]] = ["authType", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "emulatedDeviceId", "followRedirects", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pageLoadTargetTime", "pageLoadTimeLimit", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "fixedPacketRate", "type", "overrideAgentProxy", "overrideProxyId"] + __properties: ClassVar[List[str]] = ["authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "pageLoadTargetTime", "pageLoadTimeLimit", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "type"] model_config = ConfigDict( populate_by_name=True, @@ -119,9 +125,15 @@ class PageLoadProperties(BaseModel): exclude=excluded_fields, exclude_none=True, ) + # override the default output from pydantic by calling `to_dict()` of agent_interfaces + if self.agent_interfaces: + _dict['agentInterfaces'] = self.agent_interfaces.to_dict() # override the default output from pydantic by calling `to_dict()` of custom_headers if self.custom_headers: _dict['customHeaders'] = self.custom_headers.to_dict() + # override the default output from pydantic by calling `to_dict()` of o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() return _dict @classmethod @@ -135,13 +147,14 @@ class PageLoadProperties(BaseModel): _obj = cls.model_validate({ "authType": obj.get("authType"), + "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, "bandwidthMeasurements": obj.get("bandwidthMeasurements"), "clientCertificate": obj.get("clientCertificate"), "contentRegex": obj.get("contentRegex"), "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None, - "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else '200', - "emulatedDeviceId": obj.get("emulatedDeviceId"), - "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else 'default', + "downloadLimit": obj.get("downloadLimit"), + "dnsOverride": obj.get("dnsOverride"), "httpTargetTime": obj.get("httpTargetTime"), "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5, "httpVersion": obj.get("httpVersion") if obj.get("httpVersion") is not None else 2, @@ -149,8 +162,7 @@ class PageLoadProperties(BaseModel): "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, - "pageLoadTargetTime": obj.get("pageLoadTargetTime"), - "pageLoadTimeLimit": obj.get("pageLoadTimeLimit") if obj.get("pageLoadTimeLimit") is not None else 10, + "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, "password": obj.get("password"), "pathTraceMode": obj.get("pathTraceMode"), "probeMode": obj.get("probeMode"), @@ -163,16 +175,21 @@ class PageLoadProperties(BaseModel): "username": obj.get("username"), "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else False, "allowUnsafeLegacyRenegotiation": obj.get("allowUnsafeLegacyRenegotiation") if obj.get("allowUnsafeLegacyRenegotiation") is not None else True, + "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "fixedPacketRate": obj.get("fixedPacketRate"), + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "emulatedDeviceId": obj.get("emulatedDeviceId"), + "pageLoadTargetTime": obj.get("pageLoadTargetTime"), + "pageLoadTimeLimit": obj.get("pageLoadTimeLimit") if obj.get("pageLoadTimeLimit") is not None else 10, "blockDomains": obj.get("blockDomains"), "disableScreenshot": obj.get("disableScreenshot") if obj.get("disableScreenshot") is not None else False, "allowMicAndCamera": obj.get("allowMicAndCamera") if obj.get("allowMicAndCamera") is not None else False, "allowGeolocation": obj.get("allowGeolocation") if obj.get("allowGeolocation") is not None else False, "browserLanguage": obj.get("browserLanguage"), "pageLoadingStrategy": obj.get("pageLoadingStrategy"), - "fixedPacketRate": obj.get("fixedPacketRate"), - "type": obj.get("type"), - "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, - "overrideProxyId": obj.get("overrideProxyId") + "type": obj.get("type") }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/request_method.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/request_method.py new file mode 100644 index 00000000..634a3725 --- /dev/null +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/request_method.py @@ -0,0 +1,46 @@ +# coding: utf-8 + +""" + Instant Tests API + + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + + 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 RequestMethod(str, Enum): + """ + HTTP request method. + """ + + """ + allowed enum values + """ + GET = 'get' + POST = 'post' + PUT = 'put' + DELETE = 'delete' + PATCH = 'patch' + OPTIONS = 'options' + TRACE = 'trace' + UNKNOWN = 'unknown' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of RequestMethod from a JSON string""" + return cls(json.loads(json_str)) + + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN + diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/shared_with_account.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/shared_with_account.py index 6bab5b23..8df73512 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/shared_with_account.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/shared_with_account.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/simple_agent.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/simple_agent.py index 808affe4..2b933900 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/simple_agent.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/simple_agent.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/sip_server_instant_test.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/sip_server_instant_test.py index 91a5fb8e..92f13383 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/sip_server_instant_test.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/sip_server_instant_test.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,7 +20,6 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.instant_tests.models.agent import Agent from thousandeyes_sdk.instant_tests.models.shared_with_account import SharedWithAccount from thousandeyes_sdk.instant_tests.models.test_ipv6_policy import TestIpv6Policy from thousandeyes_sdk.instant_tests.models.test_label import TestLabel @@ -59,8 +57,7 @@ class SipServerInstantTest(BaseModel): sip_time_limit: Optional[Annotated[int, Field(le=10, strict=True, ge=5)]] = Field(default=5, description="Time limit in milliseconds.", alias="sipTimeLimit") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "mtuMeasurements", "networkMeasurements", "numPathTraces", "optionsRegex", "pathTraceMode", "probeMode", "registerEnabled", "sipTargetTime", "sipTimeLimit", "fixedPacketRate", "ipv6Policy", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "mtuMeasurements", "networkMeasurements", "numPathTraces", "optionsRegex", "pathTraceMode", "probeMode", "registerEnabled", "sipTargetTime", "sipTimeLimit", "fixedPacketRate", "ipv6Policy"] model_config = ConfigDict( populate_by_name=True, @@ -103,7 +100,6 @@ class SipServerInstantTest(BaseModel): * 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([ "created_by", @@ -116,7 +112,6 @@ class SipServerInstantTest(BaseModel): "type", "labels", "shared_with_accounts", - "agents", ]) _dict = self.model_dump( @@ -141,13 +136,6 @@ class SipServerInstantTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['sharedWithAccounts'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items return _dict @classmethod @@ -183,8 +171,7 @@ class SipServerInstantTest(BaseModel): "sipTargetTime": obj.get("sipTargetTime"), "sipTimeLimit": obj.get("sipTimeLimit") if obj.get("sipTimeLimit") is not None else 5, "fixedPacketRate": obj.get("fixedPacketRate"), - "ipv6Policy": obj.get("ipv6Policy"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "ipv6Policy": obj.get("ipv6Policy") }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/sip_server_instant_test_request.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/sip_server_instant_test_request.py index ac86708d..1a2b2498 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/sip_server_instant_test_request.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/sip_server_instant_test_request.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/sip_server_instant_test_response.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/sip_server_instant_test_response.py index b9ca3977..523415db 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/sip_server_instant_test_response.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/sip_server_instant_test_response.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.instant_tests.models.agent import Agent +from thousandeyes_sdk.instant_tests.models.agent_response import AgentResponse from thousandeyes_sdk.instant_tests.models.shared_with_account import SharedWithAccount from thousandeyes_sdk.instant_tests.models.sip_test_protocol import SipTestProtocol from thousandeyes_sdk.instant_tests.models.test_ipv6_policy import TestIpv6Policy @@ -60,14 +59,14 @@ class SipServerInstantTestResponse(BaseModel): sip_time_limit: Optional[Annotated[int, Field(le=10, strict=True, ge=5)]] = Field(default=5, description="Time limit in milliseconds.", alias="sipTimeLimit") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") auth_user: Optional[StrictStr] = Field(default=None, description="Username for authentication with SIP server.", alias="authUser") password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") port: Annotated[int, Field(le=65535, strict=True, ge=1)] = Field(description="Target port.") protocol: Optional[SipTestProtocol] = None sip_registrar: Optional[StrictStr] = Field(default=None, description="SIP server to be tested, specified by domain name or IP address.", alias="sipRegistrar") user: Optional[StrictStr] = Field(default=None, description="Username for SIP registration, should be unique within a ThousandEyes account group.") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "mtuMeasurements", "networkMeasurements", "numPathTraces", "optionsRegex", "pathTraceMode", "probeMode", "registerEnabled", "sipTargetTime", "sipTimeLimit", "fixedPacketRate", "ipv6Policy", "agents", "authUser", "password", "port", "protocol", "sipRegistrar", "user"] + agents: Optional[List[AgentResponse]] = Field(default=None, description="Contains list of agents.") + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "mtuMeasurements", "networkMeasurements", "numPathTraces", "optionsRegex", "pathTraceMode", "probeMode", "registerEnabled", "sipTargetTime", "sipTimeLimit", "fixedPacketRate", "ipv6Policy", "authUser", "password", "port", "protocol", "sipRegistrar", "user", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -110,7 +109,6 @@ class SipServerInstantTestResponse(BaseModel): * 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([ "created_by", @@ -123,7 +121,6 @@ class SipServerInstantTestResponse(BaseModel): "type", "labels", "shared_with_accounts", - "agents", ]) _dict = self.model_dump( @@ -191,13 +188,13 @@ class SipServerInstantTestResponse(BaseModel): "sipTimeLimit": obj.get("sipTimeLimit") if obj.get("sipTimeLimit") is not None else 5, "fixedPacketRate": obj.get("fixedPacketRate"), "ipv6Policy": obj.get("ipv6Policy"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, "authUser": obj.get("authUser"), "password": obj.get("password"), "port": obj.get("port") if obj.get("port") is not None else 49153, "protocol": obj.get("protocol"), "sipRegistrar": obj.get("sipRegistrar"), - "user": obj.get("user") + "user": obj.get("user"), + "agents": [AgentResponse.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/sip_server_properties.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/sip_server_properties.py index 354cbe86..b366d27d 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/sip_server_properties.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/sip_server_properties.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/sip_test_protocol.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/sip_test_protocol.py index b01fe274..dc4be417 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/sip_test_protocol.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/sip_test_protocol.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class SipTestProtocol(str, Enum): TCP = 'tcp' TLS = 'tls' UDP = 'udp' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of SipTestProtocol from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_agent.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_agent.py index b6aac457..e3883a4e 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_agent.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_agent.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_auth_type.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_auth_type.py index 2bb749aa..ba09bd44 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_auth_type.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_auth_type.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -31,10 +30,15 @@ class TestAuthType(str, Enum): NTLM = 'ntlm' KERBEROS = 'kerberos' OAUTH = 'oauth' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestAuthType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_custom_headers.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_custom_headers.py index a70ae0df..6120d55b 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_custom_headers.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_custom_headers.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_direction.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_direction.py index cd5bdab5..6735d3b9 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_direction.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_direction.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class TestDirection(str, Enum): TO_MINUS_TARGET = 'to-target' FROM_MINUS_TARGET = 'from-target' BIDIRECTIONAL = 'bidirectional' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestDirection from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_dns_server.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_dns_server.py index 04afcfaf..b0d787cb 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_dns_server.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_dns_server.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_dns_transport_protocol.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_dns_transport_protocol.py index 3599942f..91061c35 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_dns_transport_protocol.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_dns_transport_protocol.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class TestDnsTransportProtocol(str, Enum): """ UDP = 'udp' TCP = 'tcp' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestDnsTransportProtocol from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_dscp_id.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_dscp_id.py index 40392a51..b80ea30c 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_dscp_id.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_dscp_id.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -48,10 +47,15 @@ class TestDscpId(str, Enum): ENUM_38 = '38' ENUM_46 = '46' ENUM_44 = '44' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestDscpId from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_ipv6_policy.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_ipv6_policy.py index 4266b924..d4e3f2c1 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_ipv6_policy.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_ipv6_policy.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -30,10 +29,15 @@ class TestIpv6Policy(str, Enum): PREFER_MINUS_IPV6 = 'prefer-ipv6' FORCE_MINUS_IPV6 = 'force-ipv6' USE_MINUS_AGENT_MINUS_POLICY = 'use-agent-policy' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestIpv6Policy from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_label.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_label.py index 39d8b9a4..dcfc7dd3 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_label.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_label.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_links.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_links.py index 02213a80..86540613 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_links.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_links.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_page_loading_strategy.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_page_loading_strategy.py index 83c81458..2feaa411 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_page_loading_strategy.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_page_loading_strategy.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class TestPageLoadingStrategy(str, Enum): NORMAL = 'normal' EAGER = 'eager' NONE = 'none' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestPageLoadingStrategy from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_path_trace_mode.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_path_trace_mode.py index 4f1f0134..35a8722b 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_path_trace_mode.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_path_trace_mode.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class TestPathTraceMode(str, Enum): """ CLASSIC = 'classic' IN_MINUS_SESSION = 'in-session' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestPathTraceMode from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_probe_mode.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_probe_mode.py index 3b836dcc..b306410a 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_probe_mode.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_probe_mode.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class TestProbeMode(str, Enum): AUTO = 'auto' SACK = 'sack' SYN = 'syn' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestProbeMode from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_protocol.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_protocol.py index e5c2fecf..c028d43f 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_protocol.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_protocol.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class TestProtocol(str, Enum): TCP = 'tcp' ICMP = 'icmp' UDP = 'udp' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestProtocol from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_self_link.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_self_link.py index fe8de8eb..bde65ded 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_self_link.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_self_link.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_sip_credentials.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_sip_credentials.py index 65297cad..cace836b 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_sip_credentials.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_sip_credentials.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_ssl_version_id.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_ssl_version_id.py index d74a2b02..2fac490b 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_ssl_version_id.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_ssl_version_id.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -31,10 +30,15 @@ class TestSslVersionId(str, Enum): ENUM_4 = '4' ENUM_5 = '5' ENUM_6 = '6' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestSslVersionId from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_type.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_type.py index 4c99f33a..d0123a96 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_type.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/test_type.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -39,10 +38,15 @@ class TestType(str, Enum): DNSSEC = 'dnssec' SIP_MINUS_SERVER = 'sip-server' VOICE = 'voice' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/unauthorized_error.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/unauthorized_error.py index 1f528eef..749f60ec 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/unauthorized_error.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/unauthorized_error.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/unexpanded_instant_test.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/unexpanded_instant_test.py index 6214415c..9b1080e0 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/unexpanded_instant_test.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/unexpanded_instant_test.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/validation_error.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/validation_error.py index c66d8d4b..f1fe27de 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/validation_error.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/validation_error.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/validation_error_item.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/validation_error_item.py index 56e2cecd..c311049f 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/validation_error_item.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/validation_error_item.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/voice_instant_test.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/voice_instant_test.py index 5daab452..22d7be9a 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/voice_instant_test.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/voice_instant_test.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,7 +20,6 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.instant_tests.models.agent import Agent from thousandeyes_sdk.instant_tests.models.shared_with_account import SharedWithAccount from thousandeyes_sdk.instant_tests.models.test_dscp_id import TestDscpId from thousandeyes_sdk.instant_tests.models.test_label import TestLabel @@ -55,8 +53,7 @@ class VoiceInstantTest(BaseModel): num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") port: Optional[Annotated[int, Field(le=65535, strict=True, ge=1024)]] = Field(default=None, description="Port number for the chosen protocol.") target_agent_id: StrictStr = Field(description="Agent ID of the target agent for the test.", alias="targetAgentId") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "codec", "codecId", "dscp", "dscpId", "duration", "jitterBuffer", "numPathTraces", "port", "targetAgentId", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "codec", "codecId", "dscp", "dscpId", "duration", "jitterBuffer", "numPathTraces", "port", "targetAgentId"] model_config = ConfigDict( populate_by_name=True, @@ -101,7 +98,6 @@ class VoiceInstantTest(BaseModel): * 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([ "created_by", @@ -116,7 +112,6 @@ class VoiceInstantTest(BaseModel): "shared_with_accounts", "codec", "dscp", - "agents", ]) _dict = self.model_dump( @@ -141,13 +136,6 @@ class VoiceInstantTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['sharedWithAccounts'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items return _dict @classmethod @@ -181,8 +169,7 @@ class VoiceInstantTest(BaseModel): "jitterBuffer": obj.get("jitterBuffer") if obj.get("jitterBuffer") is not None else 40, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, "port": obj.get("port"), - "targetAgentId": obj.get("targetAgentId"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "targetAgentId": obj.get("targetAgentId") }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/voice_instant_test_request.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/voice_instant_test_request.py index 33de1f80..82a2eefe 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/voice_instant_test_request.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/voice_instant_test_request.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/voice_instant_test_response.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/voice_instant_test_response.py new file mode 100644 index 00000000..bf329a88 --- /dev/null +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/voice_instant_test_response.py @@ -0,0 +1,186 @@ +# coding: utf-8 + +""" + Instant Tests API + + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from thousandeyes_sdk.instant_tests.models.agent_response import AgentResponse +from thousandeyes_sdk.instant_tests.models.shared_with_account import SharedWithAccount +from thousandeyes_sdk.instant_tests.models.test_dscp_id import TestDscpId +from thousandeyes_sdk.instant_tests.models.test_label import TestLabel +from thousandeyes_sdk.instant_tests.models.test_links import TestLinks +from typing import Optional, Set +from typing_extensions import Self + +class VoiceInstantTestResponse(BaseModel): + """ + VoiceInstantTestResponse + """ # noqa: E501 + created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") + created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") + description: Optional[StrictStr] = Field(default=None, description="A description of the test.") + live_share: Optional[StrictBool] = Field(default=None, description="Indicates if the test is shared with the account group.", alias="liveShare") + modified_by: Optional[StrictStr] = Field(default=None, description="User that modified the test.", alias="modifiedBy") + modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") + saved_event: Optional[StrictBool] = Field(default=None, description="Indicates if the test is a saved event.", alias="savedEvent") + test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned an unique ID; this is used to access test information and results from other endpoints.", alias="testId") + test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") + type: Optional[StrictStr] = None + links: Optional[TestLinks] = Field(default=None, alias="_links") + labels: Optional[List[TestLabel]] = None + shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") + codec: Optional[StrictStr] = Field(default=None, description="Codec label") + codec_id: Optional[StrictStr] = Field(default=None, description="Coded ID, [see the list of acceptable values](https://docs.thousandeyes.com/product-documentation/internet-and-wan-monitoring/tests/working-with-test-settings#rtp-stream-advanced-settings-tab)", alias="codecId") + dscp: Optional[StrictStr] = Field(default=None, description="DSCP label.") + dscp_id: Optional[TestDscpId] = Field(default=None, alias="dscpId") + duration: Optional[Annotated[int, Field(le=30, strict=True, ge=5)]] = Field(default=5, description="Duration of the test in seconds.") + jitter_buffer: Optional[Annotated[int, Field(le=150, strict=True, ge=0)]] = Field(default=40, description="De-jitter buffer size in seconds.", alias="jitterBuffer") + num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + port: Optional[Annotated[int, Field(le=65535, strict=True, ge=1024)]] = Field(default=None, description="Port number for the chosen protocol.") + target_agent_id: StrictStr = Field(description="Agent ID of the target agent for the test.", alias="targetAgentId") + agents: Optional[List[AgentResponse]] = Field(default=None, description="Contains list of agents.") + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "codec", "codecId", "dscp", "dscpId", "duration", "jitterBuffer", "numPathTraces", "port", "targetAgentId", "agents"] + + 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 VoiceInstantTestResponse 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. + * 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([ + "created_by", + "created_date", + "live_share", + "modified_by", + "modified_date", + "saved_event", + "test_id", + "type", + "labels", + "shared_with_accounts", + "codec", + "dscp", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in labels (list) + _items = [] + if self.labels: + for _item in self.labels: + if _item: + _items.append(_item.to_dict()) + _dict['labels'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in shared_with_accounts (list) + _items = [] + if self.shared_with_accounts: + for _item in self.shared_with_accounts: + if _item: + _items.append(_item.to_dict()) + _dict['sharedWithAccounts'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in agents (list) + _items = [] + if self.agents: + for _item in self.agents: + if _item: + _items.append(_item.to_dict()) + _dict['agents'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of VoiceInstantTestResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "createdBy": obj.get("createdBy"), + "createdDate": obj.get("createdDate"), + "description": obj.get("description"), + "liveShare": obj.get("liveShare"), + "modifiedBy": obj.get("modifiedBy"), + "modifiedDate": obj.get("modifiedDate"), + "savedEvent": obj.get("savedEvent"), + "testId": obj.get("testId"), + "testName": obj.get("testName"), + "type": obj.get("type"), + "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, + "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, + "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, + "codec": obj.get("codec"), + "codecId": obj.get("codecId"), + "dscp": obj.get("dscp"), + "dscpId": obj.get("dscpId"), + "duration": obj.get("duration") if obj.get("duration") is not None else 5, + "jitterBuffer": obj.get("jitterBuffer") if obj.get("jitterBuffer") is not None else 40, + "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "port": obj.get("port"), + "targetAgentId": obj.get("targetAgentId"), + "agents": [AgentResponse.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/voice_properties.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/voice_properties.py index 8ef24c1c..6ea51248 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/voice_properties.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/voice_properties.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/web_transaction_instant_test.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/web_transaction_instant_test.py index 5cfdd72e..84bb5c13 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/web_transaction_instant_test.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/web_transaction_instant_test.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -18,10 +17,11 @@ import re # noqa: F401 import json from datetime import datetime -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.instant_tests.models.agent import Agent +from thousandeyes_sdk.instant_tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.instant_tests.models.o_auth import OAuth from thousandeyes_sdk.instant_tests.models.shared_with_account import SharedWithAccount from thousandeyes_sdk.instant_tests.models.test_auth_type import TestAuthType from thousandeyes_sdk.instant_tests.models.test_custom_headers import TestCustomHeaders @@ -53,13 +53,14 @@ class WebTransactionInstantTest(BaseModel): labels: Optional[List[TestLabel]] = None shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") - content_regex: Optional[StrictStr] = Field(default=None, description="Verify content using a regular expression. This field does not require escaping.", alias="contentRegex") + content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders") - desired_status_code: Optional[StrictStr] = Field(default='200', description="Specify the HTTP status code value that indicates a successful response.", alias="desiredStatusCode") - emulated_device_id: Optional[StrictStr] = Field(default=None, description="id of the emulated device, if one was given when the test was created", alias="emulatedDeviceId") - follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + desired_status_code: Optional[StrictStr] = Field(default='default', description="Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code.", alias="desiredStatusCode") + download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit") + dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride") http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") http_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=5, description="HTTP time limit in seconds.", alias="httpTimeLimit") http_version: Optional[Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(default=2, description="HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1.", alias="httpVersion") @@ -67,33 +68,36 @@ class WebTransactionInstantTest(BaseModel): mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + o_auth: Optional[OAuth] = Field(default=None, alias="oAuth") password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") protocol: Optional[TestProtocol] = None ssl_version: Optional[StrictStr] = Field(default=None, description="Reflects the verbose SSL protocol version used by a test.", alias="sslVersion") ssl_version_id: Optional[TestSslVersionId] = Field(default=None, alias="sslVersionId") - target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=0)]] = Field(default=None, description="Target time for completion, defaults to 50% of time limit specified in seconds. (0 means default behavior)", alias="targetTime") - time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds.", alias="timeLimit") - transaction_script: StrictStr = Field(description="JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ).", alias="transactionScript") url: StrictStr = Field(description="Target for the test.") use_ntlm: Optional[StrictBool] = Field(default=None, description="Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set.", alias="useNtlm") user_agent: Optional[StrictStr] = Field(default=None, description="User-agent string to be provided during the test.", alias="userAgent") username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") verify_certificate: Optional[StrictBool] = Field(default=False, description="Ignore or acknowledge certificate errors. Set to false to ignore certificate errors.", alias="verifyCertificate") allow_unsafe_legacy_renegotiation: Optional[StrictBool] = Field(default=True, description="Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation.", alias="allowUnsafeLegacyRenegotiation") + follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if specified when the test was created.", alias="emulatedDeviceId") + target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=0)]] = Field(default=None, description="Target completion time. The default is 50% of the specified time limit in seconds. (Set to 0 to use the default behavior).", alias="targetTime") + time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds.", alias="timeLimit") + transaction_script: StrictStr = Field(description="JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ).", alias="transactionScript") block_domains: Optional[StrictStr] = Field(default=None, description="Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests.", alias="blockDomains") disable_screenshot: Optional[StrictBool] = Field(default=False, description="Enables or disables screenshots on error. Set true to not capture", alias="disableScreenshot") allow_mic_and_camera: Optional[StrictBool] = Field(default=False, description="Set true allow the use of a fake mic and camera in the browser.", alias="allowMicAndCamera") allow_geolocation: Optional[StrictBool] = Field(default=False, description="Set true to use the agent’s geolocation by the web page.", alias="allowGeolocation") browser_language: Optional[StrictStr] = Field(default=None, description="Set one of the available browser language that you want to use to configure the browser.", alias="browserLanguage") page_loading_strategy: Optional[TestPageLoadingStrategy] = Field(default=None, alias="pageLoadingStrategy") - fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") - override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") - override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") credentials: Optional[List[StrictStr]] = Field(default=None, description="Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint).") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "emulatedDeviceId", "followRedirects", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "targetTime", "timeLimit", "transactionScript", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "agents", "credentials"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "targetTime", "timeLimit", "transactionScript", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "credentials"] model_config = ConfigDict( populate_by_name=True, @@ -137,7 +141,6 @@ class WebTransactionInstantTest(BaseModel): * 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([ "created_by", @@ -151,7 +154,6 @@ class WebTransactionInstantTest(BaseModel): "labels", "shared_with_accounts", "ssl_version", - "agents", ]) _dict = self.model_dump( @@ -176,16 +178,15 @@ class WebTransactionInstantTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['sharedWithAccounts'] = _items + # override the default output from pydantic by calling `to_dict()` of agent_interfaces + if self.agent_interfaces: + _dict['agentInterfaces'] = self.agent_interfaces.to_dict() # override the default output from pydantic by calling `to_dict()` of custom_headers if self.custom_headers: _dict['customHeaders'] = self.custom_headers.to_dict() - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items + # override the default output from pydantic by calling `to_dict()` of o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() return _dict @classmethod @@ -212,13 +213,14 @@ class WebTransactionInstantTest(BaseModel): "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, "authType": obj.get("authType"), + "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, "bandwidthMeasurements": obj.get("bandwidthMeasurements"), "clientCertificate": obj.get("clientCertificate"), "contentRegex": obj.get("contentRegex"), "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None, - "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else '200', - "emulatedDeviceId": obj.get("emulatedDeviceId"), - "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else 'default', + "downloadLimit": obj.get("downloadLimit"), + "dnsOverride": obj.get("dnsOverride"), "httpTargetTime": obj.get("httpTargetTime"), "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5, "httpVersion": obj.get("httpVersion") if obj.get("httpVersion") is not None else 2, @@ -226,31 +228,34 @@ class WebTransactionInstantTest(BaseModel): "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, "password": obj.get("password"), "pathTraceMode": obj.get("pathTraceMode"), "probeMode": obj.get("probeMode"), "protocol": obj.get("protocol"), "sslVersion": obj.get("sslVersion"), "sslVersionId": obj.get("sslVersionId"), - "targetTime": obj.get("targetTime"), - "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, - "transactionScript": obj.get("transactionScript"), "url": obj.get("url"), "useNtlm": obj.get("useNtlm"), "userAgent": obj.get("userAgent"), "username": obj.get("username"), "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else False, "allowUnsafeLegacyRenegotiation": obj.get("allowUnsafeLegacyRenegotiation") if obj.get("allowUnsafeLegacyRenegotiation") is not None else True, + "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "fixedPacketRate": obj.get("fixedPacketRate"), + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "emulatedDeviceId": obj.get("emulatedDeviceId"), + "targetTime": obj.get("targetTime"), + "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, + "transactionScript": obj.get("transactionScript"), "blockDomains": obj.get("blockDomains"), "disableScreenshot": obj.get("disableScreenshot") if obj.get("disableScreenshot") is not None else False, "allowMicAndCamera": obj.get("allowMicAndCamera") if obj.get("allowMicAndCamera") is not None else False, "allowGeolocation": obj.get("allowGeolocation") if obj.get("allowGeolocation") is not None else False, "browserLanguage": obj.get("browserLanguage"), "pageLoadingStrategy": obj.get("pageLoadingStrategy"), - "fixedPacketRate": obj.get("fixedPacketRate"), - "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, - "overrideProxyId": obj.get("overrideProxyId"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, "credentials": obj.get("credentials") }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/web_transaction_instant_test_request.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/web_transaction_instant_test_request.py index e664fa71..94d6fcbf 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/web_transaction_instant_test_request.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/web_transaction_instant_test_request.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -18,9 +17,11 @@ import re # noqa: F401 import json from datetime import datetime -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated +from thousandeyes_sdk.instant_tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.instant_tests.models.o_auth import OAuth from thousandeyes_sdk.instant_tests.models.test_agent import TestAgent from thousandeyes_sdk.instant_tests.models.test_auth_type import TestAuthType from thousandeyes_sdk.instant_tests.models.test_custom_headers import TestCustomHeaders @@ -51,13 +52,14 @@ class WebTransactionInstantTestRequest(BaseModel): labels: Optional[List[StrictStr]] = Field(default=None, description="A list of test label identifiers (get `labelId` from `/labels` endpoint).") shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="A list of account group identifiers that the test is shared with (get `aid` from `/account-groups` endpoint).", alias="sharedWithAccounts") auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") - content_regex: Optional[StrictStr] = Field(default=None, description="Verify content using a regular expression. This field does not require escaping.", alias="contentRegex") + content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders") - desired_status_code: Optional[StrictStr] = Field(default='200', description="Specify the HTTP status code value that indicates a successful response.", alias="desiredStatusCode") - emulated_device_id: Optional[StrictStr] = Field(default=None, description="id of the emulated device, if one was given when the test was created", alias="emulatedDeviceId") - follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + desired_status_code: Optional[StrictStr] = Field(default='default', description="Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code.", alias="desiredStatusCode") + download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit") + dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride") http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") http_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=5, description="HTTP time limit in seconds.", alias="httpTimeLimit") http_version: Optional[Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(default=2, description="HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1.", alias="httpVersion") @@ -65,33 +67,37 @@ class WebTransactionInstantTestRequest(BaseModel): mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + o_auth: Optional[OAuth] = Field(default=None, alias="oAuth") password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") protocol: Optional[TestProtocol] = None ssl_version: Optional[StrictStr] = Field(default=None, description="Reflects the verbose SSL protocol version used by a test.", alias="sslVersion") ssl_version_id: Optional[TestSslVersionId] = Field(default=None, alias="sslVersionId") - target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=0)]] = Field(default=None, description="Target time for completion, defaults to 50% of time limit specified in seconds. (0 means default behavior)", alias="targetTime") - time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds.", alias="timeLimit") - transaction_script: StrictStr = Field(description="JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ).", alias="transactionScript") url: StrictStr = Field(description="Target for the test.") use_ntlm: Optional[StrictBool] = Field(default=None, description="Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set.", alias="useNtlm") user_agent: Optional[StrictStr] = Field(default=None, description="User-agent string to be provided during the test.", alias="userAgent") username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") verify_certificate: Optional[StrictBool] = Field(default=False, description="Ignore or acknowledge certificate errors. Set to false to ignore certificate errors.", alias="verifyCertificate") allow_unsafe_legacy_renegotiation: Optional[StrictBool] = Field(default=True, description="Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation.", alias="allowUnsafeLegacyRenegotiation") + follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if specified when the test was created.", alias="emulatedDeviceId") + target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=0)]] = Field(default=None, description="Target completion time. The default is 50% of the specified time limit in seconds. (Set to 0 to use the default behavior).", alias="targetTime") + time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds.", alias="timeLimit") + transaction_script: StrictStr = Field(description="JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ).", alias="transactionScript") block_domains: Optional[StrictStr] = Field(default=None, description="Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests.", alias="blockDomains") disable_screenshot: Optional[StrictBool] = Field(default=False, description="Enables or disables screenshots on error. Set true to not capture", alias="disableScreenshot") allow_mic_and_camera: Optional[StrictBool] = Field(default=False, description="Set true allow the use of a fake mic and camera in the browser.", alias="allowMicAndCamera") allow_geolocation: Optional[StrictBool] = Field(default=False, description="Set true to use the agent’s geolocation by the web page.", alias="allowGeolocation") browser_language: Optional[StrictStr] = Field(default=None, description="Set one of the available browser language that you want to use to configure the browser.", alias="browserLanguage") page_loading_strategy: Optional[TestPageLoadingStrategy] = Field(default=None, alias="pageLoadingStrategy") - fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") - override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") - override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") - agents: List[TestAgent] = Field(description="A list of objects with `agentId` (required) and `sourceIpAddress` (optional).") credentials: Optional[List[StrictStr]] = Field(default=None, description="Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint).") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "emulatedDeviceId", "followRedirects", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "targetTime", "timeLimit", "transactionScript", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "agents", "credentials"] + agents: List[TestAgent] = Field(description="A list of objects with `agentId` (required) and `sourceIpAddress` (optional).") + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "targetTime", "timeLimit", "transactionScript", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "credentials", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -154,9 +160,15 @@ class WebTransactionInstantTestRequest(BaseModel): # override the default output from pydantic by calling `to_dict()` of links if self.links: _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of agent_interfaces + if self.agent_interfaces: + _dict['agentInterfaces'] = self.agent_interfaces.to_dict() # override the default output from pydantic by calling `to_dict()` of custom_headers if self.custom_headers: _dict['customHeaders'] = self.custom_headers.to_dict() + # override the default output from pydantic by calling `to_dict()` of o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() # override the default output from pydantic by calling `to_dict()` of each item in agents (list) _items = [] if self.agents: @@ -190,13 +202,14 @@ class WebTransactionInstantTestRequest(BaseModel): "labels": obj.get("labels"), "sharedWithAccounts": obj.get("sharedWithAccounts"), "authType": obj.get("authType"), + "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, "bandwidthMeasurements": obj.get("bandwidthMeasurements"), "clientCertificate": obj.get("clientCertificate"), "contentRegex": obj.get("contentRegex"), "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None, - "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else '200', - "emulatedDeviceId": obj.get("emulatedDeviceId"), - "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else 'default', + "downloadLimit": obj.get("downloadLimit"), + "dnsOverride": obj.get("dnsOverride"), "httpTargetTime": obj.get("httpTargetTime"), "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5, "httpVersion": obj.get("httpVersion") if obj.get("httpVersion") is not None else 2, @@ -204,32 +217,36 @@ class WebTransactionInstantTestRequest(BaseModel): "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, "password": obj.get("password"), "pathTraceMode": obj.get("pathTraceMode"), "probeMode": obj.get("probeMode"), "protocol": obj.get("protocol"), "sslVersion": obj.get("sslVersion"), "sslVersionId": obj.get("sslVersionId"), - "targetTime": obj.get("targetTime"), - "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, - "transactionScript": obj.get("transactionScript"), "url": obj.get("url"), "useNtlm": obj.get("useNtlm"), "userAgent": obj.get("userAgent"), "username": obj.get("username"), "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else False, "allowUnsafeLegacyRenegotiation": obj.get("allowUnsafeLegacyRenegotiation") if obj.get("allowUnsafeLegacyRenegotiation") is not None else True, + "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "fixedPacketRate": obj.get("fixedPacketRate"), + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "emulatedDeviceId": obj.get("emulatedDeviceId"), + "targetTime": obj.get("targetTime"), + "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, + "transactionScript": obj.get("transactionScript"), "blockDomains": obj.get("blockDomains"), "disableScreenshot": obj.get("disableScreenshot") if obj.get("disableScreenshot") is not None else False, "allowMicAndCamera": obj.get("allowMicAndCamera") if obj.get("allowMicAndCamera") is not None else False, "allowGeolocation": obj.get("allowGeolocation") if obj.get("allowGeolocation") is not None else False, "browserLanguage": obj.get("browserLanguage"), "pageLoadingStrategy": obj.get("pageLoadingStrategy"), - "fixedPacketRate": obj.get("fixedPacketRate"), - "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, - "overrideProxyId": obj.get("overrideProxyId"), - "agents": [TestAgent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, - "credentials": obj.get("credentials") + "credentials": obj.get("credentials"), + "agents": [TestAgent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/web_transaction_instant_test_response.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/web_transaction_instant_test_response.py new file mode 100644 index 00000000..8fd131b9 --- /dev/null +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/web_transaction_instant_test_response.py @@ -0,0 +1,273 @@ +# coding: utf-8 + +""" + Instant Tests API + + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from thousandeyes_sdk.instant_tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.instant_tests.models.agent_response import AgentResponse +from thousandeyes_sdk.instant_tests.models.o_auth import OAuth +from thousandeyes_sdk.instant_tests.models.shared_with_account import SharedWithAccount +from thousandeyes_sdk.instant_tests.models.test_auth_type import TestAuthType +from thousandeyes_sdk.instant_tests.models.test_custom_headers import TestCustomHeaders +from thousandeyes_sdk.instant_tests.models.test_label import TestLabel +from thousandeyes_sdk.instant_tests.models.test_links import TestLinks +from thousandeyes_sdk.instant_tests.models.test_page_loading_strategy import TestPageLoadingStrategy +from thousandeyes_sdk.instant_tests.models.test_path_trace_mode import TestPathTraceMode +from thousandeyes_sdk.instant_tests.models.test_probe_mode import TestProbeMode +from thousandeyes_sdk.instant_tests.models.test_protocol import TestProtocol +from thousandeyes_sdk.instant_tests.models.test_ssl_version_id import TestSslVersionId +from typing import Optional, Set +from typing_extensions import Self + +class WebTransactionInstantTestResponse(BaseModel): + """ + WebTransactionInstantTestResponse + """ # noqa: E501 + created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") + created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") + description: Optional[StrictStr] = Field(default=None, description="A description of the test.") + live_share: Optional[StrictBool] = Field(default=None, description="Indicates if the test is shared with the account group.", alias="liveShare") + modified_by: Optional[StrictStr] = Field(default=None, description="User that modified the test.", alias="modifiedBy") + modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") + saved_event: Optional[StrictBool] = Field(default=None, description="Indicates if the test is a saved event.", alias="savedEvent") + test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned an unique ID; this is used to access test information and results from other endpoints.", alias="testId") + test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") + type: Optional[StrictStr] = None + links: Optional[TestLinks] = Field(default=None, alias="_links") + labels: Optional[List[TestLabel]] = None + shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") + auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") + bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") + client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") + content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") + custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders") + desired_status_code: Optional[StrictStr] = Field(default='default', description="Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code.", alias="desiredStatusCode") + download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit") + dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride") + http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") + http_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=5, description="HTTP time limit in seconds.", alias="httpTimeLimit") + http_version: Optional[Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(default=2, description="HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1.", alias="httpVersion") + include_headers: Optional[StrictBool] = Field(default=True, description="Set to `true` to capture response headers for objects loaded by the test.", alias="includeHeaders") + mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") + network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") + num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + o_auth: Optional[OAuth] = Field(default=None, alias="oAuth") + password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") + path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") + probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") + protocol: Optional[TestProtocol] = None + ssl_version: Optional[StrictStr] = Field(default=None, description="Reflects the verbose SSL protocol version used by a test.", alias="sslVersion") + ssl_version_id: Optional[TestSslVersionId] = Field(default=None, alias="sslVersionId") + url: StrictStr = Field(description="Target for the test.") + use_ntlm: Optional[StrictBool] = Field(default=None, description="Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set.", alias="useNtlm") + user_agent: Optional[StrictStr] = Field(default=None, description="User-agent string to be provided during the test.", alias="userAgent") + username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") + verify_certificate: Optional[StrictBool] = Field(default=False, description="Ignore or acknowledge certificate errors. Set to false to ignore certificate errors.", alias="verifyCertificate") + allow_unsafe_legacy_renegotiation: Optional[StrictBool] = Field(default=True, description="Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation.", alias="allowUnsafeLegacyRenegotiation") + follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if specified when the test was created.", alias="emulatedDeviceId") + target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=0)]] = Field(default=None, description="Target completion time. The default is 50% of the specified time limit in seconds. (Set to 0 to use the default behavior).", alias="targetTime") + time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds.", alias="timeLimit") + transaction_script: StrictStr = Field(description="JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ).", alias="transactionScript") + block_domains: Optional[StrictStr] = Field(default=None, description="Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests.", alias="blockDomains") + disable_screenshot: Optional[StrictBool] = Field(default=False, description="Enables or disables screenshots on error. Set true to not capture", alias="disableScreenshot") + allow_mic_and_camera: Optional[StrictBool] = Field(default=False, description="Set true allow the use of a fake mic and camera in the browser.", alias="allowMicAndCamera") + allow_geolocation: Optional[StrictBool] = Field(default=False, description="Set true to use the agent’s geolocation by the web page.", alias="allowGeolocation") + browser_language: Optional[StrictStr] = Field(default=None, description="Set one of the available browser language that you want to use to configure the browser.", alias="browserLanguage") + page_loading_strategy: Optional[TestPageLoadingStrategy] = Field(default=None, alias="pageLoadingStrategy") + credentials: Optional[List[StrictStr]] = Field(default=None, description="Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint).") + agents: Optional[List[AgentResponse]] = Field(default=None, description="Contains list of agents.") + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "targetTime", "timeLimit", "transactionScript", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "credentials", "agents"] + + 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 WebTransactionInstantTestResponse 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. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "created_by", + "created_date", + "live_share", + "modified_by", + "modified_date", + "saved_event", + "test_id", + "type", + "labels", + "shared_with_accounts", + "ssl_version", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in labels (list) + _items = [] + if self.labels: + for _item in self.labels: + if _item: + _items.append(_item.to_dict()) + _dict['labels'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in shared_with_accounts (list) + _items = [] + if self.shared_with_accounts: + for _item in self.shared_with_accounts: + if _item: + _items.append(_item.to_dict()) + _dict['sharedWithAccounts'] = _items + # override the default output from pydantic by calling `to_dict()` of agent_interfaces + if self.agent_interfaces: + _dict['agentInterfaces'] = self.agent_interfaces.to_dict() + # override the default output from pydantic by calling `to_dict()` of custom_headers + if self.custom_headers: + _dict['customHeaders'] = self.custom_headers.to_dict() + # override the default output from pydantic by calling `to_dict()` of o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in agents (list) + _items = [] + if self.agents: + for _item in self.agents: + if _item: + _items.append(_item.to_dict()) + _dict['agents'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of WebTransactionInstantTestResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "createdBy": obj.get("createdBy"), + "createdDate": obj.get("createdDate"), + "description": obj.get("description"), + "liveShare": obj.get("liveShare"), + "modifiedBy": obj.get("modifiedBy"), + "modifiedDate": obj.get("modifiedDate"), + "savedEvent": obj.get("savedEvent"), + "testId": obj.get("testId"), + "testName": obj.get("testName"), + "type": obj.get("type"), + "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, + "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, + "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, + "authType": obj.get("authType"), + "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, + "bandwidthMeasurements": obj.get("bandwidthMeasurements"), + "clientCertificate": obj.get("clientCertificate"), + "contentRegex": obj.get("contentRegex"), + "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None, + "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else 'default', + "downloadLimit": obj.get("downloadLimit"), + "dnsOverride": obj.get("dnsOverride"), + "httpTargetTime": obj.get("httpTargetTime"), + "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5, + "httpVersion": obj.get("httpVersion") if obj.get("httpVersion") is not None else 2, + "includeHeaders": obj.get("includeHeaders") if obj.get("includeHeaders") is not None else True, + "mtuMeasurements": obj.get("mtuMeasurements"), + "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, + "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, + "password": obj.get("password"), + "pathTraceMode": obj.get("pathTraceMode"), + "probeMode": obj.get("probeMode"), + "protocol": obj.get("protocol"), + "sslVersion": obj.get("sslVersion"), + "sslVersionId": obj.get("sslVersionId"), + "url": obj.get("url"), + "useNtlm": obj.get("useNtlm"), + "userAgent": obj.get("userAgent"), + "username": obj.get("username"), + "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else False, + "allowUnsafeLegacyRenegotiation": obj.get("allowUnsafeLegacyRenegotiation") if obj.get("allowUnsafeLegacyRenegotiation") is not None else True, + "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "fixedPacketRate": obj.get("fixedPacketRate"), + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "emulatedDeviceId": obj.get("emulatedDeviceId"), + "targetTime": obj.get("targetTime"), + "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, + "transactionScript": obj.get("transactionScript"), + "blockDomains": obj.get("blockDomains"), + "disableScreenshot": obj.get("disableScreenshot") if obj.get("disableScreenshot") is not None else False, + "allowMicAndCamera": obj.get("allowMicAndCamera") if obj.get("allowMicAndCamera") is not None else False, + "allowGeolocation": obj.get("allowGeolocation") if obj.get("allowGeolocation") is not None else False, + "browserLanguage": obj.get("browserLanguage"), + "pageLoadingStrategy": obj.get("pageLoadingStrategy"), + "credentials": obj.get("credentials"), + "agents": [AgentResponse.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/web_transaction_properties.py b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/web_transaction_properties.py index 9c419bc2..295679f0 100644 --- a/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/web_transaction_properties.py +++ b/thousandeyes-sdk-instant-tests/src/thousandeyes_sdk/instant_tests/models/web_transaction_properties.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,9 +16,11 @@ import pprint import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated +from thousandeyes_sdk.instant_tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.instant_tests.models.o_auth import OAuth from thousandeyes_sdk.instant_tests.models.test_auth_type import TestAuthType from thousandeyes_sdk.instant_tests.models.test_custom_headers import TestCustomHeaders from thousandeyes_sdk.instant_tests.models.test_page_loading_strategy import TestPageLoadingStrategy @@ -35,13 +36,14 @@ class WebTransactionProperties(BaseModel): WebTransactionProperties """ # noqa: E501 auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") - content_regex: Optional[StrictStr] = Field(default=None, description="Verify content using a regular expression. This field does not require escaping.", alias="contentRegex") + content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders") - desired_status_code: Optional[StrictStr] = Field(default='200', description="Specify the HTTP status code value that indicates a successful response.", alias="desiredStatusCode") - emulated_device_id: Optional[StrictStr] = Field(default=None, description="id of the emulated device, if one was given when the test was created", alias="emulatedDeviceId") - follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + desired_status_code: Optional[StrictStr] = Field(default='default', description="Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code.", alias="desiredStatusCode") + download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit") + dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride") http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") http_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=5, description="HTTP time limit in seconds.", alias="httpTimeLimit") http_version: Optional[Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(default=2, description="HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1.", alias="httpVersion") @@ -49,32 +51,36 @@ class WebTransactionProperties(BaseModel): mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + o_auth: Optional[OAuth] = Field(default=None, alias="oAuth") password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") protocol: Optional[TestProtocol] = None ssl_version: Optional[StrictStr] = Field(default=None, description="Reflects the verbose SSL protocol version used by a test.", alias="sslVersion") ssl_version_id: Optional[TestSslVersionId] = Field(default=None, alias="sslVersionId") - target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=0)]] = Field(default=None, description="Target time for completion, defaults to 50% of time limit specified in seconds. (0 means default behavior)", alias="targetTime") - time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds.", alias="timeLimit") - transaction_script: StrictStr = Field(description="JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ).", alias="transactionScript") url: StrictStr = Field(description="Target for the test.") use_ntlm: Optional[StrictBool] = Field(default=None, description="Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set.", alias="useNtlm") user_agent: Optional[StrictStr] = Field(default=None, description="User-agent string to be provided during the test.", alias="userAgent") username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") verify_certificate: Optional[StrictBool] = Field(default=False, description="Ignore or acknowledge certificate errors. Set to false to ignore certificate errors.", alias="verifyCertificate") allow_unsafe_legacy_renegotiation: Optional[StrictBool] = Field(default=True, description="Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation.", alias="allowUnsafeLegacyRenegotiation") + follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if specified when the test was created.", alias="emulatedDeviceId") + target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=0)]] = Field(default=None, description="Target completion time. The default is 50% of the specified time limit in seconds. (Set to 0 to use the default behavior).", alias="targetTime") + time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds.", alias="timeLimit") + transaction_script: StrictStr = Field(description="JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ).", alias="transactionScript") block_domains: Optional[StrictStr] = Field(default=None, description="Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests.", alias="blockDomains") disable_screenshot: Optional[StrictBool] = Field(default=False, description="Enables or disables screenshots on error. Set true to not capture", alias="disableScreenshot") allow_mic_and_camera: Optional[StrictBool] = Field(default=False, description="Set true allow the use of a fake mic and camera in the browser.", alias="allowMicAndCamera") allow_geolocation: Optional[StrictBool] = Field(default=False, description="Set true to use the agent’s geolocation by the web page.", alias="allowGeolocation") browser_language: Optional[StrictStr] = Field(default=None, description="Set one of the available browser language that you want to use to configure the browser.", alias="browserLanguage") page_loading_strategy: Optional[TestPageLoadingStrategy] = Field(default=None, alias="pageLoadingStrategy") - fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") type: Optional[StrictStr] = None - override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") - override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") - __properties: ClassVar[List[str]] = ["authType", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "emulatedDeviceId", "followRedirects", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "targetTime", "timeLimit", "transactionScript", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "fixedPacketRate", "type", "overrideAgentProxy", "overrideProxyId"] + __properties: ClassVar[List[str]] = ["authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "targetTime", "timeLimit", "transactionScript", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "type"] model_config = ConfigDict( populate_by_name=True, @@ -120,9 +126,15 @@ class WebTransactionProperties(BaseModel): exclude=excluded_fields, exclude_none=True, ) + # override the default output from pydantic by calling `to_dict()` of agent_interfaces + if self.agent_interfaces: + _dict['agentInterfaces'] = self.agent_interfaces.to_dict() # override the default output from pydantic by calling `to_dict()` of custom_headers if self.custom_headers: _dict['customHeaders'] = self.custom_headers.to_dict() + # override the default output from pydantic by calling `to_dict()` of o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() return _dict @classmethod @@ -136,13 +148,14 @@ class WebTransactionProperties(BaseModel): _obj = cls.model_validate({ "authType": obj.get("authType"), + "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, "bandwidthMeasurements": obj.get("bandwidthMeasurements"), "clientCertificate": obj.get("clientCertificate"), "contentRegex": obj.get("contentRegex"), "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None, - "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else '200', - "emulatedDeviceId": obj.get("emulatedDeviceId"), - "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else 'default', + "downloadLimit": obj.get("downloadLimit"), + "dnsOverride": obj.get("dnsOverride"), "httpTargetTime": obj.get("httpTargetTime"), "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5, "httpVersion": obj.get("httpVersion") if obj.get("httpVersion") is not None else 2, @@ -150,31 +163,35 @@ class WebTransactionProperties(BaseModel): "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, "password": obj.get("password"), "pathTraceMode": obj.get("pathTraceMode"), "probeMode": obj.get("probeMode"), "protocol": obj.get("protocol"), "sslVersion": obj.get("sslVersion"), "sslVersionId": obj.get("sslVersionId"), - "targetTime": obj.get("targetTime"), - "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, - "transactionScript": obj.get("transactionScript"), "url": obj.get("url"), "useNtlm": obj.get("useNtlm"), "userAgent": obj.get("userAgent"), "username": obj.get("username"), "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else False, "allowUnsafeLegacyRenegotiation": obj.get("allowUnsafeLegacyRenegotiation") if obj.get("allowUnsafeLegacyRenegotiation") is not None else True, + "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "fixedPacketRate": obj.get("fixedPacketRate"), + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "emulatedDeviceId": obj.get("emulatedDeviceId"), + "targetTime": obj.get("targetTime"), + "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, + "transactionScript": obj.get("transactionScript"), "blockDomains": obj.get("blockDomains"), "disableScreenshot": obj.get("disableScreenshot") if obj.get("disableScreenshot") is not None else False, "allowMicAndCamera": obj.get("allowMicAndCamera") if obj.get("allowMicAndCamera") is not None else False, "allowGeolocation": obj.get("allowGeolocation") if obj.get("allowGeolocation") is not None else False, "browserLanguage": obj.get("browserLanguage"), "pageLoadingStrategy": obj.get("pageLoadingStrategy"), - "fixedPacketRate": obj.get("fixedPacketRate"), - "type": obj.get("type"), - "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, - "overrideProxyId": obj.get("overrideProxyId") + "type": obj.get("type") }) return _obj diff --git a/thousandeyes-sdk-instant-tests/test/test_agent_to_agent_api.py b/thousandeyes-sdk-instant-tests/test/test_agent_to_agent_instant_tests_api.py similarity index 89% rename from thousandeyes-sdk-instant-tests/test/test_agent_to_agent_api.py rename to thousandeyes-sdk-instant-tests/test/test_agent_to_agent_instant_tests_api.py index 54b7dd01..133f9ba1 100644 --- a/thousandeyes-sdk-instant-tests/test/test_agent_to_agent_api.py +++ b/thousandeyes-sdk-instant-tests/test/test_agent_to_agent_instant_tests_api.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.instant_tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.instant_tests.api.agent_to_agent_api import AgentToAgentApi +from thousandeyes_sdk.instant_tests.api.agent_to_agent_instant_tests_api import AgentToAgentInstantTestsApi -class TestAgentToAgentApi(unittest.TestCase): - """AgentToAgentApi unit test stubs""" +class TestAgentToAgentInstantTestsApi(unittest.TestCase): + """AgentToAgentInstantTestsApi unit test stubs""" def setUp(self) -> None: - self.api = AgentToAgentApi() + self.api = AgentToAgentInstantTestsApi() def tearDown(self) -> None: pass @@ -174,7 +173,7 @@ class TestAgentToAgentApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.instant_tests.models.AgentToAgentInstantTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.instant_tests.models.AgentToAgentInstantTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) diff --git a/thousandeyes-sdk-instant-tests/test/test_agent_to_server_api.py b/thousandeyes-sdk-instant-tests/test/test_agent_to_server_instant_tests_api.py similarity index 90% rename from thousandeyes-sdk-instant-tests/test/test_agent_to_server_api.py rename to thousandeyes-sdk-instant-tests/test/test_agent_to_server_instant_tests_api.py index 5d68874c..8410364e 100644 --- a/thousandeyes-sdk-instant-tests/test/test_agent_to_server_api.py +++ b/thousandeyes-sdk-instant-tests/test/test_agent_to_server_instant_tests_api.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.instant_tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.instant_tests.api.agent_to_server_api import AgentToServerApi +from thousandeyes_sdk.instant_tests.api.agent_to_server_instant_tests_api import AgentToServerInstantTestsApi -class TestAgentToServerApi(unittest.TestCase): - """AgentToServerApi unit test stubs""" +class TestAgentToServerInstantTestsApi(unittest.TestCase): + """AgentToServerInstantTestsApi unit test stubs""" def setUp(self) -> None: - self.api = AgentToServerApi() + self.api = AgentToServerInstantTestsApi() def tearDown(self) -> None: pass @@ -178,7 +177,7 @@ class TestAgentToServerApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.instant_tests.models.AgentToServerInstantTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.instant_tests.models.AgentToServerInstantTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) diff --git a/thousandeyes-sdk-instant-tests/test/test_api_api.py b/thousandeyes-sdk-instant-tests/test/test_api_instant_tests_api.py similarity index 92% rename from thousandeyes-sdk-instant-tests/test/test_api_api.py rename to thousandeyes-sdk-instant-tests/test/test_api_instant_tests_api.py index a72dc28e..1d5f474a 100644 --- a/thousandeyes-sdk-instant-tests/test/test_api_api.py +++ b/thousandeyes-sdk-instant-tests/test/test_api_instant_tests_api.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.instant_tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.instant_tests.api.api_api import APIApi +from thousandeyes_sdk.instant_tests.api.api_instant_tests_api import APIInstantTestsApi -class TestAPIApi(unittest.TestCase): - """APIApi unit test stubs""" +class TestAPIInstantTestsApi(unittest.TestCase): + """APIInstantTestsApi unit test stubs""" def setUp(self) -> None: - self.api = APIApi() + self.api = APIInstantTestsApi() def tearDown(self) -> None: pass @@ -125,11 +124,13 @@ class TestAPIApi(unittest.TestCase): } ], "type" : "api", "protocol" : "tcp", + "collectProxyNetworkData" : false, "followRedirects" : true, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", "testName" : "ThousandEyes Test", "numPathTraces" : 3, + "overrideAgentProxy" : false, "predefinedVariables" : [ { "name" : "myUsername", "value" : "ThousandEyesAccountUserName" @@ -155,6 +156,7 @@ class TestAPIApi(unittest.TestCase): "modifiedDate" : "2022-07-17T22:00:54Z", "testId" : "281474976710706", "sharedWithAccounts" : [ "1234", "12345" ], + "overrideProxyId" : "281474976710706", "sslVersionId" : "0", "targetTime" : 1 }""" @@ -257,11 +259,13 @@ class TestAPIApi(unittest.TestCase): } ], "type" : "api", "protocol" : "tcp", + "collectProxyNetworkData" : false, "followRedirects" : true, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", "testName" : "ThousandEyes Test", "numPathTraces" : 3, + "overrideAgentProxy" : false, "predefinedVariables" : [ { "name" : "myUsername", "value" : "ThousandEyesAccountUserName" @@ -319,12 +323,13 @@ class TestAPIApi(unittest.TestCase): "name" : "Account name", "aid" : "1234" } ], + "overrideProxyId" : "281474976710706", "sslVersionId" : "0", "targetTime" : 1 }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.instant_tests.models.ApiInstantTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.instant_tests.models.ApiInstantTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) diff --git a/thousandeyes-sdk-instant-tests/test/test_dns_server_api.py b/thousandeyes-sdk-instant-tests/test/test_dns_server_instant_tests_api.py similarity index 90% rename from thousandeyes-sdk-instant-tests/test/test_dns_server_api.py rename to thousandeyes-sdk-instant-tests/test/test_dns_server_instant_tests_api.py index c2eca584..3e786ea1 100644 --- a/thousandeyes-sdk-instant-tests/test/test_dns_server_api.py +++ b/thousandeyes-sdk-instant-tests/test/test_dns_server_instant_tests_api.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.instant_tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.instant_tests.api.dns_server_api import DNSServerApi +from thousandeyes_sdk.instant_tests.api.dns_server_instant_tests_api import DNSServerInstantTestsApi -class TestDNSServerApi(unittest.TestCase): - """DNSServerApi unit test stubs""" +class TestDNSServerInstantTestsApi(unittest.TestCase): + """DNSServerInstantTestsApi unit test stubs""" def setUp(self) -> None: - self.api = DNSServerApi() + self.api = DNSServerInstantTestsApi() def tearDown(self) -> None: pass @@ -182,7 +181,7 @@ class TestDNSServerApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.instant_tests.models.DnsServerInstantTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.instant_tests.models.DnsServerInstantTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) diff --git a/thousandeyes-sdk-instant-tests/test/test_dns_trace_api.py b/thousandeyes-sdk-instant-tests/test/test_dns_trace_instant_tests_api.py similarity index 89% rename from thousandeyes-sdk-instant-tests/test/test_dns_trace_api.py rename to thousandeyes-sdk-instant-tests/test/test_dns_trace_instant_tests_api.py index 48922369..0e9e17bb 100644 --- a/thousandeyes-sdk-instant-tests/test/test_dns_trace_api.py +++ b/thousandeyes-sdk-instant-tests/test/test_dns_trace_instant_tests_api.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.instant_tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.instant_tests.api.dns_trace_api import DNSTraceApi +from thousandeyes_sdk.instant_tests.api.dns_trace_instant_tests_api import DNSTraceInstantTestsApi -class TestDNSTraceApi(unittest.TestCase): - """DNSTraceApi unit test stubs""" +class TestDNSTraceInstantTestsApi(unittest.TestCase): + """DNSTraceInstantTestsApi unit test stubs""" def setUp(self) -> None: - self.api = DNSTraceApi() + self.api = DNSTraceInstantTestsApi() def tearDown(self) -> None: pass @@ -154,7 +153,7 @@ class TestDNSTraceApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.instant_tests.models.DnsTraceInstantTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.instant_tests.models.DnsTraceInstantTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) diff --git a/thousandeyes-sdk-instant-tests/test/test_dns_security_api.py b/thousandeyes-sdk-instant-tests/test/test_dnssec_instant_tests_api.py similarity index 89% rename from thousandeyes-sdk-instant-tests/test/test_dns_security_api.py rename to thousandeyes-sdk-instant-tests/test/test_dnssec_instant_tests_api.py index b70223f0..8296a9d3 100644 --- a/thousandeyes-sdk-instant-tests/test/test_dns_security_api.py +++ b/thousandeyes-sdk-instant-tests/test/test_dnssec_instant_tests_api.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.instant_tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.instant_tests.api.dns_security_api import DNSSecurityApi +from thousandeyes_sdk.instant_tests.api.dnssec_instant_tests_api import DNSSECInstantTestsApi -class TestDNSSecurityApi(unittest.TestCase): - """DNSSecurityApi unit test stubs""" +class TestDNSSECInstantTestsApi(unittest.TestCase): + """DNSSECInstantTestsApi unit test stubs""" def setUp(self) -> None: - self.api = DNSSecurityApi() + self.api = DNSSECInstantTestsApi() def tearDown(self) -> None: pass @@ -152,7 +151,7 @@ class TestDNSSecurityApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.instant_tests.models.DnsSecInstantTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.instant_tests.models.DnsSecInstantTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) diff --git a/thousandeyes-sdk-instant-tests/test/test_ftp_server_api.py b/thousandeyes-sdk-instant-tests/test/test_ftp_server_instant_tests_api.py similarity index 90% rename from thousandeyes-sdk-instant-tests/test/test_ftp_server_api.py rename to thousandeyes-sdk-instant-tests/test/test_ftp_server_instant_tests_api.py index eaaf5bbc..b692124f 100644 --- a/thousandeyes-sdk-instant-tests/test/test_ftp_server_api.py +++ b/thousandeyes-sdk-instant-tests/test/test_ftp_server_instant_tests_api.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.instant_tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.instant_tests.api.ftp_server_api import FTPServerApi +from thousandeyes_sdk.instant_tests.api.ftp_server_instant_tests_api import FTPServerInstantTestsApi -class TestFTPServerApi(unittest.TestCase): - """FTPServerApi unit test stubs""" +class TestFTPServerInstantTestsApi(unittest.TestCase): + """FTPServerInstantTestsApi unit test stubs""" def setUp(self) -> None: - self.api = FTPServerApi() + self.api = FTPServerInstantTestsApi() def tearDown(self) -> None: pass @@ -90,7 +89,7 @@ class TestFTPServerApi(unittest.TestCase): }""" request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.instant_tests.models.ServerInstantTestRequest.from_json(request_body_json) + request_from_json = thousandeyes_sdk.instant_tests.models.FtpServerInstantTestRequest.from_json(request_body_json) assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) response_body_json = """ @@ -184,7 +183,7 @@ class TestFTPServerApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.instant_tests.models.FtpServerInstantTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.instant_tests.models.FtpServerInstantTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) diff --git a/thousandeyes-sdk-instant-tests/test/test_http_page_load_api.py b/thousandeyes-sdk-instant-tests/test/test_http_page_load_instant_tests_api.py similarity index 82% rename from thousandeyes-sdk-instant-tests/test/test_http_page_load_api.py rename to thousandeyes-sdk-instant-tests/test/test_http_page_load_instant_tests_api.py index 3a0d2095..85c06f3e 100644 --- a/thousandeyes-sdk-instant-tests/test/test_http_page_load_api.py +++ b/thousandeyes-sdk-instant-tests/test/test_http_page_load_instant_tests_api.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.instant_tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.instant_tests.api.http_page_load_api import HTTPPageLoadApi +from thousandeyes_sdk.instant_tests.api.http_page_load_instant_tests_api import HTTPPageLoadInstantTestsApi -class TestHTTPPageLoadApi(unittest.TestCase): - """HTTPPageLoadApi unit test stubs""" +class TestHTTPPageLoadInstantTestsApi(unittest.TestCase): + """HTTPPageLoadInstantTestsApi unit test stubs""" def setUp(self) -> None: - self.api = HTTPPageLoadApi() + self.api = HTTPPageLoadInstantTestsApi() def tearDown(self) -> None: pass @@ -52,10 +51,21 @@ class TestHTTPPageLoadApi(unittest.TestCase): "title" : "title" } }, + "dnsOverride" : "8.8.8.8", "bandwidthMeasurements" : true, "probeMode" : "auto", "includeHeaders" : true, "type" : "page-load", + "oAuth" : { + "configId" : "123321123", + "testUrl" : "https://api.thousandeyes.com/v7/status", + "requestMethod" : "get", + "postBody" : "client_id: ************", + "headers" : "Authorization: Basic ************", + "authType" : "none", + "username" : "user123", + "password" : "*******" + }, "password" : "password", "protocol" : "tcp", "followRedirects" : true, @@ -67,6 +77,10 @@ class TestHTTPPageLoadApi(unittest.TestCase): "verifyCertificate" : false, "overrideAgentProxy" : false, "liveShare" : false, + "agentInterfaces" : { + "agentId" : "2954", + "ipAddress" : "192.1.1.0" + }, "labels" : [ "9842", "1283" ], "modifiedDate" : "2022-07-17T22:00:54Z", "emulatedDeviceId" : "2", @@ -74,6 +88,7 @@ class TestHTTPPageLoadApi(unittest.TestCase): "overrideProxyId" : "281474976710706", "sslVersion" : "Auto", "useNtlm" : false, + "downloadLimit" : 2048, "description" : "ThousandEyes Test", "httpTimeLimit" : 5, "blockDomains" : "domain.com/", @@ -81,6 +96,7 @@ class TestHTTPPageLoadApi(unittest.TestCase): "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, + "collectProxyNetworkData" : false, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", "authType" : "none", @@ -100,8 +116,8 @@ class TestHTTPPageLoadApi(unittest.TestCase): "pageLoadTargetTime" : 10, "numPathTraces" : 3, "savedEvent" : true, - "pageLoadTimeLimit" : 10, "userAgent" : "curl", + "pageLoadTimeLimit" : 10, "networkMeasurements" : true, "url" : "www.thousandeyes.com", "agents" : [ { @@ -146,10 +162,21 @@ class TestHTTPPageLoadApi(unittest.TestCase): "title" : "title" } }, + "dnsOverride" : "8.8.8.8", "bandwidthMeasurements" : true, "probeMode" : "auto", "includeHeaders" : true, "type" : "page-load", + "oAuth" : { + "configId" : "123321123", + "testUrl" : "https://api.thousandeyes.com/v7/status", + "requestMethod" : "get", + "postBody" : "client_id: ************", + "headers" : "Authorization: Basic ************", + "authType" : "none", + "username" : "user123", + "password" : "*******" + }, "password" : "password", "protocol" : "tcp", "followRedirects" : true, @@ -161,6 +188,10 @@ class TestHTTPPageLoadApi(unittest.TestCase): "verifyCertificate" : false, "overrideAgentProxy" : false, "liveShare" : false, + "agentInterfaces" : { + "agentId" : "2954", + "ipAddress" : "192.1.1.0" + }, "labels" : [ { "labelId" : "961", "name" : "Artem label", @@ -182,6 +213,7 @@ class TestHTTPPageLoadApi(unittest.TestCase): "overrideProxyId" : "281474976710706", "sslVersion" : "Auto", "useNtlm" : false, + "downloadLimit" : 2048, "description" : "ThousandEyes Test", "httpTimeLimit" : 5, "blockDomains" : "domain.com/", @@ -189,6 +221,7 @@ class TestHTTPPageLoadApi(unittest.TestCase): "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, + "collectProxyNetworkData" : false, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", "authType" : "none", @@ -208,8 +241,8 @@ class TestHTTPPageLoadApi(unittest.TestCase): "pageLoadTargetTime" : 10, "numPathTraces" : 3, "savedEvent" : true, - "pageLoadTimeLimit" : 10, "userAgent" : "curl", + "pageLoadTimeLimit" : 10, "networkMeasurements" : true, "url" : "www.thousandeyes.com", "agents" : [ { @@ -248,7 +281,7 @@ class TestHTTPPageLoadApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.instant_tests.models.PageLoadInstantTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.instant_tests.models.PageLoadInstantTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) diff --git a/thousandeyes-sdk-instant-tests/test/test_http_server_api.py b/thousandeyes-sdk-instant-tests/test/test_http_server_instant_tests_api.py similarity index 83% rename from thousandeyes-sdk-instant-tests/test/test_http_server_api.py rename to thousandeyes-sdk-instant-tests/test/test_http_server_instant_tests_api.py index 07421b6d..4199949a 100644 --- a/thousandeyes-sdk-instant-tests/test/test_http_server_api.py +++ b/thousandeyes-sdk-instant-tests/test/test_http_server_instant_tests_api.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.instant_tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.instant_tests.api.http_server_api import HTTPServerApi +from thousandeyes_sdk.instant_tests.api.http_server_instant_tests_api import HTTPServerInstantTestsApi -class TestHTTPServerApi(unittest.TestCase): - """HTTPServerApi unit test stubs""" +class TestHTTPServerInstantTestsApi(unittest.TestCase): + """HTTPServerInstantTestsApi unit test stubs""" def setUp(self) -> None: - self.api = HTTPServerApi() + self.api = HTTPServerInstantTestsApi() def tearDown(self) -> None: pass @@ -35,9 +34,6 @@ class TestHTTPServerApi(unittest.TestCase): { "clientCertificate" : "-----BEGIN PRIVATE KEY-----\\nMIICUTCCAfugAwIBAgIBADANBgkqhkiG9w0BAQQFADBXMQswCQYDVQQGEwJDTjEL\\n-----END PRIVATE KEY-----\\n-----BEGIN CERTIFICATE-----\\nMIICUTCCAfugAwIBAgIBADANBgkqhkiG9w0BAQQFADBXMQswCQYDVQQGEwJDTjEL\\n-----END CERTIFICATE-----\\n", "mtuMeasurements" : false, - "sslVersion" : "Auto", - "useNtlm" : false, - "ipv6Policy" : "use-agent-policy", "_links" : { "testResults" : [ { "href" : "https://api.thousandeyes.com/v7/test-results/281474976710706/network" @@ -55,22 +51,48 @@ class TestHTTPServerApi(unittest.TestCase): "title" : "title" } }, - "downloadLimit" : 2048, "dnsOverride" : "8.8.8.8", "bandwidthMeasurements" : true, - "description" : "ThousandEyes Test", - "httpTimeLimit" : 5, "probeMode" : "auto", "includeHeaders" : true, "type" : "http-server", + "oAuth" : { + "configId" : "123321123", + "testUrl" : "https://api.thousandeyes.com/v7/status", + "requestMethod" : "get", + "postBody" : "client_id: ************", + "headers" : "Authorization: Basic ************", + "authType" : "none", + "username" : "user123", + "password" : "*******" + }, "password" : "password", "protocol" : "tcp", + "followRedirects" : true, + "contentRegex" : "(regex)+", + "testName" : "ThousandEyes Test", + "verifyCertificate" : false, + "overrideAgentProxy" : false, + "liveShare" : false, + "agentInterfaces" : { + "agentId" : "2954", + "ipAddress" : "192.1.1.0" + }, + "labels" : [ "9842", "1283" ], + "modifiedDate" : "2022-07-17T22:00:54Z", + "sharedWithAccounts" : [ "1234", "12345" ], + "overrideProxyId" : "281474976710706", + "sslVersion" : "Auto", + "useNtlm" : false, + "ipv6Policy" : "use-agent-policy", + "downloadLimit" : 2048, + "description" : "ThousandEyes Test", + "httpTimeLimit" : 5, "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, - "followRedirects" : true, + "collectProxyNetworkData" : false, "pathTraceMode" : "classic", - "contentRegex" : "(regex)+", "modifiedBy" : "user@user.com", "authType" : "none", "customHeaders" : { @@ -86,17 +108,12 @@ class TestHTTPServerApi(unittest.TestCase): "header3" : "value3" } }, - "testName" : "ThousandEyes Test", "headers" : [ "header1: value1", "header2: value2" ], "numPathTraces" : 3, - "verifyCertificate" : false, - "overrideAgentProxy" : false, - "liveShare" : false, "savedEvent" : true, "userAgent" : "curl", "networkMeasurements" : true, "url" : "www.thousandeyes.com", - "labels" : [ "9842", "1283" ], "agents" : [ { "agentId" : "125", "sourceIpAddress" : "1.1.1.1" @@ -107,12 +124,9 @@ class TestHTTPServerApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "postBody" : "{ \\"example\\" : \\"value\\"}", "createdBy" : "user@user.com", - "modifiedDate" : "2022-07-17T22:00:54Z", "testId" : "281474976710706", - "sharedWithAccounts" : [ "1234", "12345" ], "desiredStatusCode" : "200", "httpTargetTime" : 100, - "overrideProxyId" : "281474976710706", "sslVersionId" : "0", "username" : "username" }""" @@ -125,9 +139,6 @@ class TestHTTPServerApi(unittest.TestCase): { "clientCertificate" : "-----BEGIN PRIVATE KEY-----\\nMIICUTCCAfugAwIBAgIBADANBgkqhkiG9w0BAQQFADBXMQswCQYDVQQGEwJDTjEL\\n-----END PRIVATE KEY-----\\n-----BEGIN CERTIFICATE-----\\nMIICUTCCAfugAwIBAgIBADANBgkqhkiG9w0BAQQFADBXMQswCQYDVQQGEwJDTjEL\\n-----END CERTIFICATE-----\\n", "mtuMeasurements" : false, - "sslVersion" : "Auto", - "useNtlm" : false, - "ipv6Policy" : "use-agent-policy", "_links" : { "testResults" : [ { "href" : "https://api.thousandeyes.com/v7/test-results/281474976710706/network" @@ -145,22 +156,62 @@ class TestHTTPServerApi(unittest.TestCase): "title" : "title" } }, - "downloadLimit" : 2048, "dnsOverride" : "8.8.8.8", "bandwidthMeasurements" : true, - "description" : "ThousandEyes Test", - "httpTimeLimit" : 5, "probeMode" : "auto", "includeHeaders" : true, "type" : "http-server", + "oAuth" : { + "configId" : "123321123", + "testUrl" : "https://api.thousandeyes.com/v7/status", + "requestMethod" : "get", + "postBody" : "client_id: ************", + "headers" : "Authorization: Basic ************", + "authType" : "none", + "username" : "user123", + "password" : "*******" + }, "password" : "password", "protocol" : "tcp", + "followRedirects" : true, + "contentRegex" : "(regex)+", + "testName" : "ThousandEyes Test", + "verifyCertificate" : false, + "overrideAgentProxy" : false, + "liveShare" : false, + "agentInterfaces" : { + "agentId" : "2954", + "ipAddress" : "192.1.1.0" + }, + "labels" : [ { + "labelId" : "961", + "name" : "Artem label", + "isBuiltin" : false + }, { + "labelId" : "961", + "name" : "Artem label", + "isBuiltin" : false + } ], + "modifiedDate" : "2022-07-17T22:00:54Z", + "sharedWithAccounts" : [ { + "name" : "Account name", + "aid" : "1234" + }, { + "name" : "Account name", + "aid" : "1234" + } ], + "overrideProxyId" : "281474976710706", + "sslVersion" : "Auto", + "useNtlm" : false, + "ipv6Policy" : "use-agent-policy", + "downloadLimit" : 2048, + "description" : "ThousandEyes Test", + "httpTimeLimit" : 5, "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, - "followRedirects" : true, + "collectProxyNetworkData" : false, "pathTraceMode" : "classic", - "contentRegex" : "(regex)+", "modifiedBy" : "user@user.com", "authType" : "none", "customHeaders" : { @@ -176,25 +227,12 @@ class TestHTTPServerApi(unittest.TestCase): "header3" : "value3" } }, - "testName" : "ThousandEyes Test", "headers" : [ "header1: value1", "header2: value2" ], "numPathTraces" : 3, - "verifyCertificate" : false, - "overrideAgentProxy" : false, - "liveShare" : false, "savedEvent" : true, "userAgent" : "curl", "networkMeasurements" : true, "url" : "www.thousandeyes.com", - "labels" : [ { - "labelId" : "961", - "name" : "Artem label", - "isBuiltin" : false - }, { - "labelId" : "961", - "name" : "Artem label", - "isBuiltin" : false - } ], "agents" : [ { "agentId" : "281474976710706", "agentType" : "enterprise-cluster", @@ -223,24 +261,15 @@ class TestHTTPServerApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "postBody" : "{ \\"example\\" : \\"value\\"}", "createdBy" : "user@user.com", - "modifiedDate" : "2022-07-17T22:00:54Z", "testId" : "281474976710706", - "sharedWithAccounts" : [ { - "name" : "Account name", - "aid" : "1234" - }, { - "name" : "Account name", - "aid" : "1234" - } ], "desiredStatusCode" : "200", "httpTargetTime" : 100, - "overrideProxyId" : "281474976710706", "sslVersionId" : "0", "username" : "username" }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.instant_tests.models.HttpServerInstantTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.instant_tests.models.HttpServerInstantTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) diff --git a/thousandeyes-sdk-instant-tests/test/test_instant_tests_api.py b/thousandeyes-sdk-instant-tests/test/test_instant_tests_api.py new file mode 100644 index 00000000..1168690b --- /dev/null +++ b/thousandeyes-sdk-instant-tests/test/test_instant_tests_api.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + Instant Tests API + + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import json +import unittest +import thousandeyes_sdk.instant_tests.models + +from .test_utils import assert_constructed_model_matches_example_json +from thousandeyes_sdk.instant_tests.api.instant_tests_api import InstantTestsApi + + +class TestInstantTestsApi(unittest.TestCase): + """InstantTestsApi unit test stubs""" + + def setUp(self) -> None: + self.api = InstantTestsApi() + + def tearDown(self) -> None: + pass + + def test_run_instant_test_models_validation(self) -> None: + """Test case for run_instant_test request and response models""" + + + +if __name__ == '__main__': + unittest.main() diff --git a/thousandeyes-sdk-instant-tests/test/test_run_api.py b/thousandeyes-sdk-instant-tests/test/test_run_api.py deleted file mode 100644 index 7e281022..00000000 --- a/thousandeyes-sdk-instant-tests/test/test_run_api.py +++ /dev/null @@ -1,38 +0,0 @@ -# coding: utf-8 - -""" - Instant Tests API - - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - - The version of the OpenAPI document: 7.0.8 - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import json -import unittest -import thousandeyes_sdk.instant_tests.models - -from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.instant_tests.api.run_api import RunApi - - -class TestRunApi(unittest.TestCase): - """RunApi unit test stubs""" - - def setUp(self) -> None: - self.api = RunApi() - - def tearDown(self) -> None: - pass - - def test_run_instant_test_models_validation(self) -> None: - """Test case for run_instant_test request and response models""" - - - -if __name__ == '__main__': - unittest.main() diff --git a/thousandeyes-sdk-instant-tests/test/test_sip_server_api.py b/thousandeyes-sdk-instant-tests/test/test_sip_server_instant_tests_api.py similarity index 91% rename from thousandeyes-sdk-instant-tests/test/test_sip_server_api.py rename to thousandeyes-sdk-instant-tests/test/test_sip_server_instant_tests_api.py index 7ba38909..483212a9 100644 --- a/thousandeyes-sdk-instant-tests/test/test_sip_server_api.py +++ b/thousandeyes-sdk-instant-tests/test/test_sip_server_instant_tests_api.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.instant_tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.instant_tests.api.sip_server_api import SIPServerApi +from thousandeyes_sdk.instant_tests.api.sip_server_instant_tests_api import SIPServerInstantTestsApi -class TestSIPServerApi(unittest.TestCase): - """SIPServerApi unit test stubs""" +class TestSIPServerInstantTestsApi(unittest.TestCase): + """SIPServerInstantTestsApi unit test stubs""" def setUp(self) -> None: - self.api = SIPServerApi() + self.api = SIPServerInstantTestsApi() def tearDown(self) -> None: pass diff --git a/thousandeyes-sdk-instant-tests/test/test_voice_api.py b/thousandeyes-sdk-instant-tests/test/test_voice_instant_tests_api.py similarity index 89% rename from thousandeyes-sdk-instant-tests/test/test_voice_api.py rename to thousandeyes-sdk-instant-tests/test/test_voice_instant_tests_api.py index 7a9a6eee..3a93892e 100644 --- a/thousandeyes-sdk-instant-tests/test/test_voice_api.py +++ b/thousandeyes-sdk-instant-tests/test/test_voice_instant_tests_api.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.instant_tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.instant_tests.api.voice_api import VoiceApi +from thousandeyes_sdk.instant_tests.api.voice_instant_tests_api import VoiceInstantTestsApi -class TestVoiceApi(unittest.TestCase): - """VoiceApi unit test stubs""" +class TestVoiceInstantTestsApi(unittest.TestCase): + """VoiceInstantTestsApi unit test stubs""" def setUp(self) -> None: - self.api = VoiceApi() + self.api = VoiceInstantTestsApi() def tearDown(self) -> None: pass @@ -166,7 +165,7 @@ class TestVoiceApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.instant_tests.models.VoiceInstantTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.instant_tests.models.VoiceInstantTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) diff --git a/thousandeyes-sdk-instant-tests/test/test_web_transaction_api.py b/thousandeyes-sdk-instant-tests/test/test_web_transaction_instant_tests_api.py similarity index 81% rename from thousandeyes-sdk-instant-tests/test/test_web_transaction_api.py rename to thousandeyes-sdk-instant-tests/test/test_web_transaction_instant_tests_api.py index 96b0035d..86851936 100644 --- a/thousandeyes-sdk-instant-tests/test/test_web_transaction_api.py +++ b/thousandeyes-sdk-instant-tests/test/test_web_transaction_instant_tests_api.py @@ -3,9 +3,8 @@ """ Instant Tests API - The Instant Tests API endpoint lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. + The Instant Tests API operations lets you create and run new instant tests. You will need to be a regular user or have the following permissions: * `API Access` * `View tests` The response does not include the immediate test results. Use the Test Results endpoints to get test results after creating and executing an instant test. You can find the URLs for these endpoints in the _links section of the test definition that is returned when you create the instant test. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.instant_tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.instant_tests.api.web_transaction_api import WebTransactionApi +from thousandeyes_sdk.instant_tests.api.web_transaction_instant_tests_api import WebTransactionInstantTestsApi -class TestWebTransactionApi(unittest.TestCase): - """WebTransactionApi unit test stubs""" +class TestWebTransactionInstantTestsApi(unittest.TestCase): + """WebTransactionInstantTestsApi unit test stubs""" def setUp(self) -> None: - self.api = WebTransactionApi() + self.api = WebTransactionInstantTestsApi() def tearDown(self) -> None: pass @@ -52,10 +51,21 @@ class TestWebTransactionApi(unittest.TestCase): "title" : "title" } }, + "dnsOverride" : "8.8.8.8", "bandwidthMeasurements" : true, "probeMode" : "auto", "includeHeaders" : true, "type" : "web-transactions", + "oAuth" : { + "configId" : "123321123", + "testUrl" : "https://api.thousandeyes.com/v7/status", + "requestMethod" : "get", + "postBody" : "client_id: ************", + "headers" : "Authorization: Basic ************", + "authType" : "none", + "username" : "user123", + "password" : "*******" + }, "password" : "password", "protocol" : "tcp", "followRedirects" : true, @@ -67,6 +77,10 @@ class TestWebTransactionApi(unittest.TestCase): "verifyCertificate" : false, "overrideAgentProxy" : false, "liveShare" : false, + "agentInterfaces" : { + "agentId" : "2954", + "ipAddress" : "192.1.1.0" + }, "labels" : [ "9842", "1283" ], "modifiedDate" : "2022-07-17T22:00:54Z", "emulatedDeviceId" : "2", @@ -75,6 +89,7 @@ class TestWebTransactionApi(unittest.TestCase): "sslVersion" : "Auto", "useNtlm" : false, "credentials" : [ "3247", "1051" ], + "downloadLimit" : 2048, "description" : "ThousandEyes Test", "httpTimeLimit" : 5, "blockDomains" : "domain.com/", @@ -82,6 +97,7 @@ class TestWebTransactionApi(unittest.TestCase): "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, + "collectProxyNetworkData" : false, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", "authType" : "none", @@ -119,8 +135,8 @@ class TestWebTransactionApi(unittest.TestCase): "desiredStatusCode" : "200", "httpTargetTime" : 100, "sslVersionId" : "0", - "targetTime" : 1, - "username" : "username" + "username" : "username", + "targetTime" : 1 }""" request_loaded_json = json.loads(request_body_json) @@ -148,10 +164,21 @@ class TestWebTransactionApi(unittest.TestCase): "title" : "title" } }, + "dnsOverride" : "8.8.8.8", "bandwidthMeasurements" : true, "probeMode" : "auto", "includeHeaders" : true, "type" : "web-transactions", + "oAuth" : { + "configId" : "123321123", + "testUrl" : "https://api.thousandeyes.com/v7/status", + "requestMethod" : "get", + "postBody" : "client_id: ************", + "headers" : "Authorization: Basic ************", + "authType" : "none", + "username" : "user123", + "password" : "*******" + }, "password" : "password", "protocol" : "tcp", "followRedirects" : true, @@ -163,6 +190,10 @@ class TestWebTransactionApi(unittest.TestCase): "verifyCertificate" : false, "overrideAgentProxy" : false, "liveShare" : false, + "agentInterfaces" : { + "agentId" : "2954", + "ipAddress" : "192.1.1.0" + }, "labels" : [ { "labelId" : "961", "name" : "Artem label", @@ -185,6 +216,7 @@ class TestWebTransactionApi(unittest.TestCase): "sslVersion" : "Auto", "useNtlm" : false, "credentials" : [ "3247", "1051" ], + "downloadLimit" : 2048, "description" : "ThousandEyes Test", "httpTimeLimit" : 5, "blockDomains" : "domain.com/", @@ -192,6 +224,7 @@ class TestWebTransactionApi(unittest.TestCase): "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, + "collectProxyNetworkData" : false, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", "authType" : "none", @@ -247,12 +280,12 @@ class TestWebTransactionApi(unittest.TestCase): "desiredStatusCode" : "200", "httpTargetTime" : 100, "sslVersionId" : "0", - "targetTime" : 1, - "username" : "username" + "username" : "username", + "targetTime" : 1 }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.instant_tests.models.WebTransactionInstantTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.instant_tests.models.WebTransactionInstantTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) diff --git a/thousandeyes-sdk-internet-insights/.openapi-generator/FILES b/thousandeyes-sdk-internet-insights/.openapi-generator/FILES index a51a2f80..465fddf7 100644 --- a/thousandeyes-sdk-internet-insights/.openapi-generator/FILES +++ b/thousandeyes-sdk-internet-insights/.openapi-generator/FILES @@ -1,8 +1,6 @@ .openapi-generator-ignore MANIFEST.in README.md -docs/ApiAffectedAgent.md -docs/ApiAffectedTest.md docs/ApiApplicationOutageAffectedLocation.md docs/ApiApplicationOutageAffectedServer.md docs/ApiApplicationOutageDetails.md @@ -16,11 +14,13 @@ docs/ApiNetworkOutageDetails.md docs/ApiOutage.md docs/ApiOutageFilter.md docs/ApiOutagesResponse.md -docs/CatalogProvidersApi.md docs/Error.md +docs/InternetInsightsApiAffectedAgent.md +docs/InternetInsightsApiAffectedTest.md +docs/InternetInsightsCatalogProvidersApi.md +docs/InternetInsightsOutagesApi.md docs/Link.md docs/OutageScope.md -docs/OutagesAPIPublicApi.md docs/ProviderLocation.md docs/SelfLinks.md docs/UnauthorizedError.md @@ -30,11 +30,9 @@ pyproject.toml setup.cfg src/thousandeyes_sdk/internet_insights/__init__.py src/thousandeyes_sdk/internet_insights/api/__init__.py -src/thousandeyes_sdk/internet_insights/api/catalog_providers_api.py -src/thousandeyes_sdk/internet_insights/api/outages_api_public_api.py +src/thousandeyes_sdk/internet_insights/api/internet_insights_catalog_providers_api.py +src/thousandeyes_sdk/internet_insights/api/internet_insights_outages_api.py src/thousandeyes_sdk/internet_insights/models/__init__.py -src/thousandeyes_sdk/internet_insights/models/api_affected_agent.py -src/thousandeyes_sdk/internet_insights/models/api_affected_test.py src/thousandeyes_sdk/internet_insights/models/api_application_outage_affected_location.py src/thousandeyes_sdk/internet_insights/models/api_application_outage_affected_server.py src/thousandeyes_sdk/internet_insights/models/api_application_outage_details.py @@ -49,6 +47,8 @@ src/thousandeyes_sdk/internet_insights/models/api_outage.py src/thousandeyes_sdk/internet_insights/models/api_outage_filter.py src/thousandeyes_sdk/internet_insights/models/api_outages_response.py src/thousandeyes_sdk/internet_insights/models/error.py +src/thousandeyes_sdk/internet_insights/models/internet_insights_api_affected_agent.py +src/thousandeyes_sdk/internet_insights/models/internet_insights_api_affected_test.py src/thousandeyes_sdk/internet_insights/models/link.py src/thousandeyes_sdk/internet_insights/models/outage_scope.py src/thousandeyes_sdk/internet_insights/models/provider_location.py @@ -58,6 +58,6 @@ src/thousandeyes_sdk/internet_insights/models/validation_error.py src/thousandeyes_sdk/internet_insights/models/validation_error_item.py src/thousandeyes_sdk/internet_insights/py.typed test/__init__.py -test/test_catalog_providers_api.py -test/test_outages_api_public_api.py +test/test_internet_insights_catalog_providers_api.py +test/test_internet_insights_outages_api.py test/test_utils.py diff --git a/thousandeyes-sdk-internet-insights/README.md b/thousandeyes-sdk-internet-insights/README.md index 5e1f7488..3db0eee3 100644 --- a/thousandeyes-sdk-internet-insights/README.md +++ b/thousandeyes-sdk-internet-insights/README.md @@ -14,7 +14,7 @@ For more information about Internet Insights, see the [Internet Insights](https: This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 7.0.8 +- API version: 7.0.20 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator @@ -66,10 +66,10 @@ import thousandeyes_sdk.internet_insights from thousandeyes_sdk.core.exceptions import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -86,37 +86,35 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.core.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.internet_insights.CatalogProvidersApi(api_client) + api_instance = thousandeyes_sdk.internet_insights.InternetInsightsCatalogProvidersApi(api_client) api_catalog_provider_filter = thousandeyes_sdk.internet_insights.ApiCatalogProviderFilter() # ApiCatalogProviderFilter | 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 catalog providers api_response = api_instance.filter_catalog_providers(api_catalog_provider_filter, aid=aid) - print("The response of CatalogProvidersApi->filter_catalog_providers:\n") + print("The response of InternetInsightsCatalogProvidersApi->filter_catalog_providers:\n") pprint(api_response) except ApiException as e: - print("Exception when calling CatalogProvidersApi->filter_catalog_providers: %s\n" % e) + print("Exception when calling InternetInsightsCatalogProvidersApi->filter_catalog_providers: %s\n" % e) ``` ## Documentation for API Endpoints -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- -*CatalogProvidersApi* | [**filter_catalog_providers**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-internet-insights/docs/CatalogProvidersApi.md#filter_catalog_providers) | **POST** /v7/internet-insights/catalog/providers/filter | List catalog providers -*CatalogProvidersApi* | [**get_catalog_provider**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-internet-insights/docs/CatalogProvidersApi.md#get_catalog_provider) | **GET** /v7/internet-insights/catalog/providers/{providerId} | Retrieve a catalog provider -*OutagesAPIPublicApi* | [**filter_outages**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-internet-insights/docs/OutagesAPIPublicApi.md#filter_outages) | **POST** /v7/internet-insights/outages/filter | List network and application outages -*OutagesAPIPublicApi* | [**get_app_outage**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-internet-insights/docs/OutagesAPIPublicApi.md#get_app_outage) | **GET** /v7/internet-insights/outages/app/{outageId} | Retrieve application outage -*OutagesAPIPublicApi* | [**get_network_outage**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-internet-insights/docs/OutagesAPIPublicApi.md#get_network_outage) | **GET** /v7/internet-insights/outages/net/{outageId} | Retrieve network outage +*InternetInsightsCatalogProvidersApi* | [**filter_catalog_providers**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-internet-insights/docs/InternetInsightsCatalogProvidersApi.md#filter_catalog_providers) | **POST** /internet-insights/catalog/providers/filter | List catalog providers +*InternetInsightsCatalogProvidersApi* | [**get_catalog_provider**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-internet-insights/docs/InternetInsightsCatalogProvidersApi.md#get_catalog_provider) | **GET** /internet-insights/catalog/providers/{providerId} | Retrieve a catalog provider +*InternetInsightsOutagesApi* | [**filter_outages**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-internet-insights/docs/InternetInsightsOutagesApi.md#filter_outages) | **POST** /internet-insights/outages/filter | List network and application outages +*InternetInsightsOutagesApi* | [**get_app_outage**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-internet-insights/docs/InternetInsightsOutagesApi.md#get_app_outage) | **GET** /internet-insights/outages/app/{outageId} | Retrieve application outage +*InternetInsightsOutagesApi* | [**get_network_outage**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-internet-insights/docs/InternetInsightsOutagesApi.md#get_network_outage) | **GET** /internet-insights/outages/net/{outageId} | Retrieve network outage ## Documentation For Models - - [ApiAffectedAgent](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-internet-insights/docs/ApiAffectedAgent.md) - - [ApiAffectedTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-internet-insights/docs/ApiAffectedTest.md) - [ApiApplicationOutageAffectedLocation](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-internet-insights/docs/ApiApplicationOutageAffectedLocation.md) - [ApiApplicationOutageAffectedServer](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-internet-insights/docs/ApiApplicationOutageAffectedServer.md) - [ApiApplicationOutageDetails](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-internet-insights/docs/ApiApplicationOutageDetails.md) @@ -131,6 +129,8 @@ Class | Method | HTTP request | Description - [ApiOutageFilter](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-internet-insights/docs/ApiOutageFilter.md) - [ApiOutagesResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-internet-insights/docs/ApiOutagesResponse.md) - [Error](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-internet-insights/docs/Error.md) + - [InternetInsightsApiAffectedAgent](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-internet-insights/docs/InternetInsightsApiAffectedAgent.md) + - [InternetInsightsApiAffectedTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-internet-insights/docs/InternetInsightsApiAffectedTest.md) - [Link](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-internet-insights/docs/Link.md) - [OutageScope](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-internet-insights/docs/OutageScope.md) - [ProviderLocation](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-internet-insights/docs/ProviderLocation.md) diff --git a/thousandeyes-sdk-internet-insights/docs/ApiAffectedAgent.md b/thousandeyes-sdk-internet-insights/docs/ApiAffectedAgent.md deleted file mode 100644 index cd51aa07..00000000 --- a/thousandeyes-sdk-internet-insights/docs/ApiAffectedAgent.md +++ /dev/null @@ -1,30 +0,0 @@ -# ApiAffectedAgent - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **int** | | [optional] -**name** | **str** | | [optional] - -## Example - -```python -from thousandeyes_sdk.internet_insights.models.api_affected_agent import ApiAffectedAgent - -# TODO update the JSON string below -json = "{}" -# create an instance of ApiAffectedAgent from a JSON string -api_affected_agent_instance = ApiAffectedAgent.from_json(json) -# print the JSON string representation of the object -print(ApiAffectedAgent.to_json()) - -# convert the object into a dict -api_affected_agent_dict = api_affected_agent_instance.to_dict() -# create an instance of ApiAffectedAgent from a dict -api_affected_agent_from_dict = ApiAffectedAgent.from_dict(api_affected_agent_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) - - diff --git a/thousandeyes-sdk-internet-insights/docs/ApiAffectedTest.md b/thousandeyes-sdk-internet-insights/docs/ApiAffectedTest.md deleted file mode 100644 index 3b789c31..00000000 --- a/thousandeyes-sdk-internet-insights/docs/ApiAffectedTest.md +++ /dev/null @@ -1,30 +0,0 @@ -# ApiAffectedTest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **int** | | [optional] -**name** | **str** | | [optional] - -## Example - -```python -from thousandeyes_sdk.internet_insights.models.api_affected_test import ApiAffectedTest - -# TODO update the JSON string below -json = "{}" -# create an instance of ApiAffectedTest from a JSON string -api_affected_test_instance = ApiAffectedTest.from_json(json) -# print the JSON string representation of the object -print(ApiAffectedTest.to_json()) - -# convert the object into a dict -api_affected_test_dict = api_affected_test_instance.to_dict() -# create an instance of ApiAffectedTest from a dict -api_affected_test_from_dict = ApiAffectedTest.from_dict(api_affected_test_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) - - diff --git a/thousandeyes-sdk-internet-insights/docs/ApiApplicationOutageDetails.md b/thousandeyes-sdk-internet-insights/docs/ApiApplicationOutageDetails.md index 9403550f..a8d90197 100644 --- a/thousandeyes-sdk-internet-insights/docs/ApiApplicationOutageDetails.md +++ b/thousandeyes-sdk-internet-insights/docs/ApiApplicationOutageDetails.md @@ -14,9 +14,9 @@ Name | Type | Description | Notes **end_date** | **str** | Date and time when the outage ended. | [optional] **end_round_id** | **int** | Epoch time (seconds) when the outage ended. | [optional] **duration** | **int** | Duration of the outage in seconds. | [optional] -**affected_tests** | [**List[ApiAffectedTest]**](ApiAffectedTest.md) | List of affected tests. | [optional] +**affected_tests** | [**List[InternetInsightsApiAffectedTest]**](InternetInsightsApiAffectedTest.md) | List of affected tests. | [optional] **affected_domains** | **List[str]** | List of affected domains. | [optional] -**affected_agents** | [**List[ApiAffectedAgent]**](ApiAffectedAgent.md) | List of affected agents. | [optional] +**affected_agents** | [**List[InternetInsightsApiAffectedAgent]**](InternetInsightsApiAffectedAgent.md) | List of affected agents. | [optional] **errors** | **List[str]** | List of errors. | [optional] **affected_locations** | [**List[ApiApplicationOutageAffectedLocation]**](ApiApplicationOutageAffectedLocation.md) | List of affected locations. | [optional] **links** | [**SelfLinks**](SelfLinks.md) | | [optional] diff --git a/thousandeyes-sdk-internet-insights/docs/ApiNetworkOutageDetails.md b/thousandeyes-sdk-internet-insights/docs/ApiNetworkOutageDetails.md index 909f6c09..77ce892f 100644 --- a/thousandeyes-sdk-internet-insights/docs/ApiNetworkOutageDetails.md +++ b/thousandeyes-sdk-internet-insights/docs/ApiNetworkOutageDetails.md @@ -15,9 +15,9 @@ Name | Type | Description | Notes **end_date** | **str** | Date and time when the outage ended. | [optional] **end_round_id** | **int** | Epoch time (seconds) when the outage ended. | [optional] **duration** | **int** | Duration of the outage in seconds. | [optional] -**affected_tests** | [**List[ApiAffectedTest]**](ApiAffectedTest.md) | List of affected tests. | [optional] +**affected_tests** | [**List[InternetInsightsApiAffectedTest]**](InternetInsightsApiAffectedTest.md) | List of affected tests. | [optional] **affected_domains** | **List[str]** | List of affected domains. | [optional] -**affected_agents** | [**List[ApiAffectedAgent]**](ApiAffectedAgent.md) | List of affected agents. | [optional] +**affected_agents** | [**List[InternetInsightsApiAffectedAgent]**](InternetInsightsApiAffectedAgent.md) | List of affected agents. | [optional] **affected_locations** | [**List[ApiNetworkOutageAffectedLocation]**](ApiNetworkOutageAffectedLocation.md) | List of affected locations. | [optional] **links** | [**SelfLinks**](SelfLinks.md) | | [optional] diff --git a/thousandeyes-sdk-internet-insights/docs/InternetInsightsApiAffectedAgent.md b/thousandeyes-sdk-internet-insights/docs/InternetInsightsApiAffectedAgent.md new file mode 100644 index 00000000..aa953278 --- /dev/null +++ b/thousandeyes-sdk-internet-insights/docs/InternetInsightsApiAffectedAgent.md @@ -0,0 +1,30 @@ +# InternetInsightsApiAffectedAgent + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **int** | | [optional] +**name** | **str** | | [optional] + +## Example + +```python +from thousandeyes_sdk.internet_insights.models.internet_insights_api_affected_agent import InternetInsightsApiAffectedAgent + +# TODO update the JSON string below +json = "{}" +# create an instance of InternetInsightsApiAffectedAgent from a JSON string +internet_insights_api_affected_agent_instance = InternetInsightsApiAffectedAgent.from_json(json) +# print the JSON string representation of the object +print(InternetInsightsApiAffectedAgent.to_json()) + +# convert the object into a dict +internet_insights_api_affected_agent_dict = internet_insights_api_affected_agent_instance.to_dict() +# create an instance of InternetInsightsApiAffectedAgent from a dict +internet_insights_api_affected_agent_from_dict = InternetInsightsApiAffectedAgent.from_dict(internet_insights_api_affected_agent_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) + + diff --git a/thousandeyes-sdk-internet-insights/docs/InternetInsightsApiAffectedTest.md b/thousandeyes-sdk-internet-insights/docs/InternetInsightsApiAffectedTest.md new file mode 100644 index 00000000..8d05a8d1 --- /dev/null +++ b/thousandeyes-sdk-internet-insights/docs/InternetInsightsApiAffectedTest.md @@ -0,0 +1,30 @@ +# InternetInsightsApiAffectedTest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **int** | | [optional] +**name** | **str** | | [optional] + +## Example + +```python +from thousandeyes_sdk.internet_insights.models.internet_insights_api_affected_test import InternetInsightsApiAffectedTest + +# TODO update the JSON string below +json = "{}" +# create an instance of InternetInsightsApiAffectedTest from a JSON string +internet_insights_api_affected_test_instance = InternetInsightsApiAffectedTest.from_json(json) +# print the JSON string representation of the object +print(InternetInsightsApiAffectedTest.to_json()) + +# convert the object into a dict +internet_insights_api_affected_test_dict = internet_insights_api_affected_test_instance.to_dict() +# create an instance of InternetInsightsApiAffectedTest from a dict +internet_insights_api_affected_test_from_dict = InternetInsightsApiAffectedTest.from_dict(internet_insights_api_affected_test_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) + + diff --git a/thousandeyes-sdk-internet-insights/docs/CatalogProvidersApi.md b/thousandeyes-sdk-internet-insights/docs/InternetInsightsCatalogProvidersApi.md similarity index 85% rename from thousandeyes-sdk-internet-insights/docs/CatalogProvidersApi.md rename to thousandeyes-sdk-internet-insights/docs/InternetInsightsCatalogProvidersApi.md index bff73c5a..5b51bf62 100644 --- a/thousandeyes-sdk-internet-insights/docs/CatalogProvidersApi.md +++ b/thousandeyes-sdk-internet-insights/docs/InternetInsightsCatalogProvidersApi.md @@ -1,11 +1,11 @@ -# thousandeyes_sdk.internet_insights.CatalogProvidersApi +# thousandeyes_sdk.internet_insights.InternetInsightsCatalogProvidersApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**filter_catalog_providers**](CatalogProvidersApi.md#filter_catalog_providers) | **POST** /v7/internet-insights/catalog/providers/filter | List catalog providers -[**get_catalog_provider**](CatalogProvidersApi.md#get_catalog_provider) | **GET** /v7/internet-insights/catalog/providers/{providerId} | Retrieve a catalog provider +[**filter_catalog_providers**](InternetInsightsCatalogProvidersApi.md#filter_catalog_providers) | **POST** /internet-insights/catalog/providers/filter | List catalog providers +[**get_catalog_provider**](InternetInsightsCatalogProvidersApi.md#get_catalog_provider) | **GET** /internet-insights/catalog/providers/{providerId} | Retrieve a catalog provider # **filter_catalog_providers** @@ -26,10 +26,10 @@ from thousandeyes_sdk.internet_insights.models.api_catalog_provider_response imp from thousandeyes_sdk.internet_insights.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -45,17 +45,17 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.internet_insights.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.internet_insights.CatalogProvidersApi(api_client) + api_instance = thousandeyes_sdk.internet_insights.InternetInsightsCatalogProvidersApi(api_client) api_catalog_provider_filter = thousandeyes_sdk.internet_insights.ApiCatalogProviderFilter() # ApiCatalogProviderFilter | 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 catalog providers api_response = api_instance.filter_catalog_providers(api_catalog_provider_filter, aid=aid) - print("The response of CatalogProvidersApi->filter_catalog_providers:\n") + print("The response of InternetInsightsCatalogProvidersApi->filter_catalog_providers:\n") pprint(api_response) except Exception as e: - print("Exception when calling CatalogProvidersApi->filter_catalog_providers: %s\n" % e) + print("Exception when calling InternetInsightsCatalogProvidersApi->filter_catalog_providers: %s\n" % e) ``` @@ -114,10 +114,10 @@ from thousandeyes_sdk.internet_insights.models.api_catalog_provider_details impo from thousandeyes_sdk.internet_insights.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -133,17 +133,17 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.internet_insights.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.internet_insights.CatalogProvidersApi(api_client) + api_instance = thousandeyes_sdk.internet_insights.InternetInsightsCatalogProvidersApi(api_client) provider_id = '85602a0a-54a7-4e97-946e-67492ef1fa26' # str | aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) try: # Retrieve a catalog provider api_response = api_instance.get_catalog_provider(provider_id, aid=aid) - print("The response of CatalogProvidersApi->get_catalog_provider:\n") + print("The response of InternetInsightsCatalogProvidersApi->get_catalog_provider:\n") pprint(api_response) except Exception as e: - print("Exception when calling CatalogProvidersApi->get_catalog_provider: %s\n" % e) + print("Exception when calling InternetInsightsCatalogProvidersApi->get_catalog_provider: %s\n" % e) ``` diff --git a/thousandeyes-sdk-internet-insights/docs/OutagesAPIPublicApi.md b/thousandeyes-sdk-internet-insights/docs/InternetInsightsOutagesApi.md similarity index 89% rename from thousandeyes-sdk-internet-insights/docs/OutagesAPIPublicApi.md rename to thousandeyes-sdk-internet-insights/docs/InternetInsightsOutagesApi.md index fdbe4e24..6908fbe3 100644 --- a/thousandeyes-sdk-internet-insights/docs/OutagesAPIPublicApi.md +++ b/thousandeyes-sdk-internet-insights/docs/InternetInsightsOutagesApi.md @@ -1,12 +1,12 @@ -# thousandeyes_sdk.internet_insights.OutagesAPIPublicApi +# thousandeyes_sdk.internet_insights.InternetInsightsOutagesApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**filter_outages**](OutagesAPIPublicApi.md#filter_outages) | **POST** /v7/internet-insights/outages/filter | List network and application outages -[**get_app_outage**](OutagesAPIPublicApi.md#get_app_outage) | **GET** /v7/internet-insights/outages/app/{outageId} | Retrieve application outage -[**get_network_outage**](OutagesAPIPublicApi.md#get_network_outage) | **GET** /v7/internet-insights/outages/net/{outageId} | Retrieve network outage +[**filter_outages**](InternetInsightsOutagesApi.md#filter_outages) | **POST** /internet-insights/outages/filter | List network and application outages +[**get_app_outage**](InternetInsightsOutagesApi.md#get_app_outage) | **GET** /internet-insights/outages/app/{outageId} | Retrieve application outage +[**get_network_outage**](InternetInsightsOutagesApi.md#get_network_outage) | **GET** /internet-insights/outages/net/{outageId} | Retrieve network outage # **filter_outages** @@ -27,10 +27,10 @@ from thousandeyes_sdk.internet_insights.models.api_outages_response import ApiOu from thousandeyes_sdk.internet_insights.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -46,17 +46,17 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.internet_insights.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.internet_insights.OutagesAPIPublicApi(api_client) + api_instance = thousandeyes_sdk.internet_insights.InternetInsightsOutagesApi(api_client) api_outage_filter = thousandeyes_sdk.internet_insights.ApiOutageFilter() # ApiOutageFilter | 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 network and application outages api_response = api_instance.filter_outages(api_outage_filter, aid=aid) - print("The response of OutagesAPIPublicApi->filter_outages:\n") + print("The response of InternetInsightsOutagesApi->filter_outages:\n") pprint(api_response) except Exception as e: - print("Exception when calling OutagesAPIPublicApi->filter_outages: %s\n" % e) + print("Exception when calling InternetInsightsOutagesApi->filter_outages: %s\n" % e) ``` @@ -115,10 +115,10 @@ from thousandeyes_sdk.internet_insights.models.api_application_outage_details im from thousandeyes_sdk.internet_insights.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -134,17 +134,17 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.internet_insights.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.internet_insights.OutagesAPIPublicApi(api_client) + api_instance = thousandeyes_sdk.internet_insights.InternetInsightsOutagesApi(api_client) outage_id = 'F73E24F17E4996923196826A208BB572508A8EB13BEE14B0' # str | aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) try: # Retrieve application outage api_response = api_instance.get_app_outage(outage_id, aid=aid) - print("The response of OutagesAPIPublicApi->get_app_outage:\n") + print("The response of InternetInsightsOutagesApi->get_app_outage:\n") pprint(api_response) except Exception as e: - print("Exception when calling OutagesAPIPublicApi->get_app_outage: %s\n" % e) + print("Exception when calling InternetInsightsOutagesApi->get_app_outage: %s\n" % e) ``` @@ -203,10 +203,10 @@ from thousandeyes_sdk.internet_insights.models.api_network_outage_details import from thousandeyes_sdk.internet_insights.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -222,17 +222,17 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.internet_insights.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.internet_insights.OutagesAPIPublicApi(api_client) + api_instance = thousandeyes_sdk.internet_insights.InternetInsightsOutagesApi(api_client) outage_id = '694D8656960F34F76489BCE5E9BCD58EC53027462740D75F' # str | aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) try: # Retrieve network outage api_response = api_instance.get_network_outage(outage_id, aid=aid) - print("The response of OutagesAPIPublicApi->get_network_outage:\n") + print("The response of InternetInsightsOutagesApi->get_network_outage:\n") pprint(api_response) except Exception as e: - print("Exception when calling OutagesAPIPublicApi->get_network_outage: %s\n" % e) + print("Exception when calling InternetInsightsOutagesApi->get_network_outage: %s\n" % e) ``` diff --git a/thousandeyes-sdk-internet-insights/pyproject.toml b/thousandeyes-sdk-internet-insights/pyproject.toml index 5dd7ab36..12f3b7c8 100644 --- a/thousandeyes-sdk-internet-insights/pyproject.toml +++ b/thousandeyes-sdk-internet-insights/pyproject.toml @@ -9,9 +9,9 @@ description = "ThousandEyes SDK Internet Insights API" license = { file = "LICENSE" } requires-python = ">= 3.8" dependencies = [ - "urllib3 >= 1.25.3", + "urllib3 >= 2.0.0", "python-dateutil >=2.8.2", - "pydantic >=2", + "pydantic >=2.1.0", "typing-extensions >=4.7.1", "thousandeyes-sdk-core", ] diff --git a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/__init__.py b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/__init__.py index 38846163..1485d77e 100644 --- a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/__init__.py +++ b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/__init__.py @@ -7,7 +7,6 @@ We are happy to announce the release of the Internet Insights API set. This limited release includes endpoints that: * Make our catalog provider and Internet outage data accessible to API users. * Provide access to advanced filtering, which is part of our next-generation API efforts to allow API users to fine-tune queries across all of our APIs in a consistent manner. Internet Insights provide visibility into core Internet infrastructure, including ISPs, DNS providers, IaaS, CDNs , and SaaS providers. It tracks the macro-level impact of Internet events on individual users and enterprise networks connecting at the edge of the Internet. These events include Outages, Routing hijacks and leaks, DDoS attacks, And political interference, among others. Future releases of the Internet Insights API set will further unlock access to core Internet Insights functionality, unlocking potential integrations to enrich customer process flows. For more information about Internet Insights, see the [Internet Insights](https://docs.thousandeyes.com/product-documentation/internet-insights). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -15,13 +14,11 @@ # import apis into sdk package -from thousandeyes_sdk.internet_insights.api.catalog_providers_api import CatalogProvidersApi -from thousandeyes_sdk.internet_insights.api.outages_api_public_api import OutagesAPIPublicApi +from thousandeyes_sdk.internet_insights.api.internet_insights_catalog_providers_api import InternetInsightsCatalogProvidersApi +from thousandeyes_sdk.internet_insights.api.internet_insights_outages_api import InternetInsightsOutagesApi # import models into sdk package -from thousandeyes_sdk.internet_insights.models.api_affected_agent import ApiAffectedAgent -from thousandeyes_sdk.internet_insights.models.api_affected_test import ApiAffectedTest from thousandeyes_sdk.internet_insights.models.api_application_outage_affected_location import ApiApplicationOutageAffectedLocation from thousandeyes_sdk.internet_insights.models.api_application_outage_affected_server import ApiApplicationOutageAffectedServer from thousandeyes_sdk.internet_insights.models.api_application_outage_details import ApiApplicationOutageDetails @@ -36,6 +33,8 @@ from thousandeyes_sdk.internet_insights.models.api_outage import ApiOutage from thousandeyes_sdk.internet_insights.models.api_outage_filter import ApiOutageFilter from thousandeyes_sdk.internet_insights.models.api_outages_response import ApiOutagesResponse from thousandeyes_sdk.internet_insights.models.error import Error +from thousandeyes_sdk.internet_insights.models.internet_insights_api_affected_agent import InternetInsightsApiAffectedAgent +from thousandeyes_sdk.internet_insights.models.internet_insights_api_affected_test import InternetInsightsApiAffectedTest from thousandeyes_sdk.internet_insights.models.link import Link from thousandeyes_sdk.internet_insights.models.outage_scope import OutageScope from thousandeyes_sdk.internet_insights.models.provider_location import ProviderLocation diff --git a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/api/__init__.py b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/api/__init__.py index 658029d6..5d4e5e6a 100644 --- a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/api/__init__.py +++ b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/api/__init__.py @@ -1,6 +1,6 @@ # flake8: noqa # import apis into api package -from thousandeyes_sdk.internet_insights.api.catalog_providers_api import CatalogProvidersApi -from thousandeyes_sdk.internet_insights.api.outages_api_public_api import OutagesAPIPublicApi +from thousandeyes_sdk.internet_insights.api.internet_insights_catalog_providers_api import InternetInsightsCatalogProvidersApi +from thousandeyes_sdk.internet_insights.api.internet_insights_outages_api import InternetInsightsOutagesApi diff --git a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/api/catalog_providers_api.py b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/api/internet_insights_catalog_providers_api.py similarity index 99% rename from thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/api/catalog_providers_api.py rename to thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/api/internet_insights_catalog_providers_api.py index 6adeee6a..cb169534 100644 --- a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/api/catalog_providers_api.py +++ b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/api/internet_insights_catalog_providers_api.py @@ -5,7 +5,6 @@ We are happy to announce the release of the Internet Insights API set. This limited release includes endpoints that: * Make our catalog provider and Internet outage data accessible to API users. * Provide access to advanced filtering, which is part of our next-generation API efforts to allow API users to fine-tune queries across all of our APIs in a consistent manner. Internet Insights provide visibility into core Internet infrastructure, including ISPs, DNS providers, IaaS, CDNs , and SaaS providers. It tracks the macro-level impact of Internet events on individual users and enterprise networks connecting at the edge of the Internet. These events include Outages, Routing hijacks and leaks, DDoS attacks, And political interference, among others. Future releases of the Internet Insights API set will further unlock access to core Internet Insights functionality, unlocking potential integrations to enrich customer process flows. For more information about Internet Insights, see the [Internet Insights](https://docs.thousandeyes.com/product-documentation/internet-insights). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -31,7 +30,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class CatalogProvidersApi: +class InternetInsightsCatalogProvidersApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -342,7 +341,7 @@ class CatalogProvidersApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/internet-insights/catalog/providers/filter', + resource_path='/internet-insights/catalog/providers/filter', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -642,7 +641,7 @@ class CatalogProvidersApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/internet-insights/catalog/providers/{providerId}', + resource_path='/internet-insights/catalog/providers/{providerId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/api/outages_api_public_api.py b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/api/internet_insights_outages_api.py similarity index 99% rename from thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/api/outages_api_public_api.py rename to thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/api/internet_insights_outages_api.py index 1a758060..177e1420 100644 --- a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/api/outages_api_public_api.py +++ b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/api/internet_insights_outages_api.py @@ -5,7 +5,6 @@ We are happy to announce the release of the Internet Insights API set. This limited release includes endpoints that: * Make our catalog provider and Internet outage data accessible to API users. * Provide access to advanced filtering, which is part of our next-generation API efforts to allow API users to fine-tune queries across all of our APIs in a consistent manner. Internet Insights provide visibility into core Internet infrastructure, including ISPs, DNS providers, IaaS, CDNs , and SaaS providers. It tracks the macro-level impact of Internet events on individual users and enterprise networks connecting at the edge of the Internet. These events include Outages, Routing hijacks and leaks, DDoS attacks, And political interference, among others. Future releases of the Internet Insights API set will further unlock access to core Internet Insights functionality, unlocking potential integrations to enrich customer process flows. For more information about Internet Insights, see the [Internet Insights](https://docs.thousandeyes.com/product-documentation/internet-insights). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -32,7 +31,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class OutagesAPIPublicApi: +class InternetInsightsOutagesApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -343,7 +342,7 @@ class OutagesAPIPublicApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/internet-insights/outages/filter', + resource_path='/internet-insights/outages/filter', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -643,7 +642,7 @@ class OutagesAPIPublicApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/internet-insights/outages/app/{outageId}', + resource_path='/internet-insights/outages/app/{outageId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -943,7 +942,7 @@ class OutagesAPIPublicApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/internet-insights/outages/net/{outageId}', + resource_path='/internet-insights/outages/net/{outageId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/__init__.py b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/__init__.py index e8dfc7f8..3f8e1e49 100644 --- a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/__init__.py +++ b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/__init__.py @@ -6,7 +6,6 @@ We are happy to announce the release of the Internet Insights API set. This limited release includes endpoints that: * Make our catalog provider and Internet outage data accessible to API users. * Provide access to advanced filtering, which is part of our next-generation API efforts to allow API users to fine-tune queries across all of our APIs in a consistent manner. Internet Insights provide visibility into core Internet infrastructure, including ISPs, DNS providers, IaaS, CDNs , and SaaS providers. It tracks the macro-level impact of Internet events on individual users and enterprise networks connecting at the edge of the Internet. These events include Outages, Routing hijacks and leaks, DDoS attacks, And political interference, among others. Future releases of the Internet Insights API set will further unlock access to core Internet Insights functionality, unlocking potential integrations to enrich customer process flows. For more information about Internet Insights, see the [Internet Insights](https://docs.thousandeyes.com/product-documentation/internet-insights). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -14,8 +13,6 @@ # import models into model package -from thousandeyes_sdk.internet_insights.models.api_affected_agent import ApiAffectedAgent -from thousandeyes_sdk.internet_insights.models.api_affected_test import ApiAffectedTest from thousandeyes_sdk.internet_insights.models.api_application_outage_affected_location import ApiApplicationOutageAffectedLocation from thousandeyes_sdk.internet_insights.models.api_application_outage_affected_server import ApiApplicationOutageAffectedServer from thousandeyes_sdk.internet_insights.models.api_application_outage_details import ApiApplicationOutageDetails @@ -30,6 +27,8 @@ from thousandeyes_sdk.internet_insights.models.api_outage import ApiOutage from thousandeyes_sdk.internet_insights.models.api_outage_filter import ApiOutageFilter from thousandeyes_sdk.internet_insights.models.api_outages_response import ApiOutagesResponse from thousandeyes_sdk.internet_insights.models.error import Error +from thousandeyes_sdk.internet_insights.models.internet_insights_api_affected_agent import InternetInsightsApiAffectedAgent +from thousandeyes_sdk.internet_insights.models.internet_insights_api_affected_test import InternetInsightsApiAffectedTest from thousandeyes_sdk.internet_insights.models.link import Link from thousandeyes_sdk.internet_insights.models.outage_scope import OutageScope from thousandeyes_sdk.internet_insights.models.provider_location import ProviderLocation diff --git a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_application_outage_affected_location.py b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_application_outage_affected_location.py index 1656b8a3..f07888f3 100644 --- a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_application_outage_affected_location.py +++ b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_application_outage_affected_location.py @@ -5,7 +5,6 @@ We are happy to announce the release of the Internet Insights API set. This limited release includes endpoints that: * Make our catalog provider and Internet outage data accessible to API users. * Provide access to advanced filtering, which is part of our next-generation API efforts to allow API users to fine-tune queries across all of our APIs in a consistent manner. Internet Insights provide visibility into core Internet infrastructure, including ISPs, DNS providers, IaaS, CDNs , and SaaS providers. It tracks the macro-level impact of Internet events on individual users and enterprise networks connecting at the edge of the Internet. These events include Outages, Routing hijacks and leaks, DDoS attacks, And political interference, among others. Future releases of the Internet Insights API set will further unlock access to core Internet Insights functionality, unlocking potential integrations to enrich customer process flows. For more information about Internet Insights, see the [Internet Insights](https://docs.thousandeyes.com/product-documentation/internet-insights). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_application_outage_affected_server.py b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_application_outage_affected_server.py index 832af27c..3645e71f 100644 --- a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_application_outage_affected_server.py +++ b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_application_outage_affected_server.py @@ -5,7 +5,6 @@ We are happy to announce the release of the Internet Insights API set. This limited release includes endpoints that: * Make our catalog provider and Internet outage data accessible to API users. * Provide access to advanced filtering, which is part of our next-generation API efforts to allow API users to fine-tune queries across all of our APIs in a consistent manner. Internet Insights provide visibility into core Internet infrastructure, including ISPs, DNS providers, IaaS, CDNs , and SaaS providers. It tracks the macro-level impact of Internet events on individual users and enterprise networks connecting at the edge of the Internet. These events include Outages, Routing hijacks and leaks, DDoS attacks, And political interference, among others. Future releases of the Internet Insights API set will further unlock access to core Internet Insights functionality, unlocking potential integrations to enrich customer process flows. For more information about Internet Insights, see the [Internet Insights](https://docs.thousandeyes.com/product-documentation/internet-insights). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_application_outage_details.py b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_application_outage_details.py index f402a7bd..2606f432 100644 --- a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_application_outage_details.py +++ b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_application_outage_details.py @@ -5,7 +5,6 @@ We are happy to announce the release of the Internet Insights API set. This limited release includes endpoints that: * Make our catalog provider and Internet outage data accessible to API users. * Provide access to advanced filtering, which is part of our next-generation API efforts to allow API users to fine-tune queries across all of our APIs in a consistent manner. Internet Insights provide visibility into core Internet infrastructure, including ISPs, DNS providers, IaaS, CDNs , and SaaS providers. It tracks the macro-level impact of Internet events on individual users and enterprise networks connecting at the edge of the Internet. These events include Outages, Routing hijacks and leaks, DDoS attacks, And political interference, among others. Future releases of the Internet Insights API set will further unlock access to core Internet Insights functionality, unlocking potential integrations to enrich customer process flows. For more information about Internet Insights, see the [Internet Insights](https://docs.thousandeyes.com/product-documentation/internet-insights). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -19,9 +18,9 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.internet_insights.models.api_affected_agent import ApiAffectedAgent -from thousandeyes_sdk.internet_insights.models.api_affected_test import ApiAffectedTest from thousandeyes_sdk.internet_insights.models.api_application_outage_affected_location import ApiApplicationOutageAffectedLocation +from thousandeyes_sdk.internet_insights.models.internet_insights_api_affected_agent import InternetInsightsApiAffectedAgent +from thousandeyes_sdk.internet_insights.models.internet_insights_api_affected_test import InternetInsightsApiAffectedTest from thousandeyes_sdk.internet_insights.models.self_links import SelfLinks from typing import Optional, Set from typing_extensions import Self @@ -39,9 +38,9 @@ class ApiApplicationOutageDetails(BaseModel): end_date: Optional[StrictStr] = Field(default=None, description="Date and time when the outage ended.", alias="endDate") end_round_id: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) when the outage ended.", alias="endRoundId") duration: Optional[StrictInt] = Field(default=None, description="Duration of the outage in seconds.") - affected_tests: Optional[List[ApiAffectedTest]] = Field(default=None, description="List of affected tests.", alias="affectedTests") + affected_tests: Optional[List[InternetInsightsApiAffectedTest]] = Field(default=None, description="List of affected tests.", alias="affectedTests") affected_domains: Optional[List[StrictStr]] = Field(default=None, description="List of affected domains.", alias="affectedDomains") - affected_agents: Optional[List[ApiAffectedAgent]] = Field(default=None, description="List of affected agents.", alias="affectedAgents") + affected_agents: Optional[List[InternetInsightsApiAffectedAgent]] = Field(default=None, description="List of affected agents.", alias="affectedAgents") errors: Optional[List[StrictStr]] = Field(default=None, description="List of errors.") affected_locations: Optional[List[ApiApplicationOutageAffectedLocation]] = Field(default=None, description="List of affected locations.", alias="affectedLocations") links: Optional[SelfLinks] = Field(default=None, alias="_links") @@ -132,9 +131,9 @@ class ApiApplicationOutageDetails(BaseModel): "endDate": obj.get("endDate"), "endRoundId": obj.get("endRoundId"), "duration": obj.get("duration"), - "affectedTests": [ApiAffectedTest.from_dict(_item) for _item in obj["affectedTests"]] if obj.get("affectedTests") is not None else None, + "affectedTests": [InternetInsightsApiAffectedTest.from_dict(_item) for _item in obj["affectedTests"]] if obj.get("affectedTests") is not None else None, "affectedDomains": obj.get("affectedDomains"), - "affectedAgents": [ApiAffectedAgent.from_dict(_item) for _item in obj["affectedAgents"]] if obj.get("affectedAgents") is not None else None, + "affectedAgents": [InternetInsightsApiAffectedAgent.from_dict(_item) for _item in obj["affectedAgents"]] if obj.get("affectedAgents") is not None else None, "errors": obj.get("errors"), "affectedLocations": [ApiApplicationOutageAffectedLocation.from_dict(_item) for _item in obj["affectedLocations"]] if obj.get("affectedLocations") is not None else None, "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None diff --git a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_asn.py b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_asn.py index b4ada5fd..4a309ef9 100644 --- a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_asn.py +++ b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_asn.py @@ -5,7 +5,6 @@ We are happy to announce the release of the Internet Insights API set. This limited release includes endpoints that: * Make our catalog provider and Internet outage data accessible to API users. * Provide access to advanced filtering, which is part of our next-generation API efforts to allow API users to fine-tune queries across all of our APIs in a consistent manner. Internet Insights provide visibility into core Internet infrastructure, including ISPs, DNS providers, IaaS, CDNs , and SaaS providers. It tracks the macro-level impact of Internet events on individual users and enterprise networks connecting at the edge of the Internet. These events include Outages, Routing hijacks and leaks, DDoS attacks, And political interference, among others. Future releases of the Internet Insights API set will further unlock access to core Internet Insights functionality, unlocking potential integrations to enrich customer process flows. For more information about Internet Insights, see the [Internet Insights](https://docs.thousandeyes.com/product-documentation/internet-insights). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_catalog_provider.py b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_catalog_provider.py index eed4cf54..110ba318 100644 --- a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_catalog_provider.py +++ b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_catalog_provider.py @@ -5,7 +5,6 @@ We are happy to announce the release of the Internet Insights API set. This limited release includes endpoints that: * Make our catalog provider and Internet outage data accessible to API users. * Provide access to advanced filtering, which is part of our next-generation API efforts to allow API users to fine-tune queries across all of our APIs in a consistent manner. Internet Insights provide visibility into core Internet infrastructure, including ISPs, DNS providers, IaaS, CDNs , and SaaS providers. It tracks the macro-level impact of Internet events on individual users and enterprise networks connecting at the edge of the Internet. These events include Outages, Routing hijacks and leaks, DDoS attacks, And political interference, among others. Future releases of the Internet Insights API set will further unlock access to core Internet Insights functionality, unlocking potential integrations to enrich customer process flows. For more information about Internet Insights, see the [Internet Insights](https://docs.thousandeyes.com/product-documentation/internet-insights). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_catalog_provider_details.py b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_catalog_provider_details.py index 0b1153d5..84271c67 100644 --- a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_catalog_provider_details.py +++ b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_catalog_provider_details.py @@ -5,7 +5,6 @@ We are happy to announce the release of the Internet Insights API set. This limited release includes endpoints that: * Make our catalog provider and Internet outage data accessible to API users. * Provide access to advanced filtering, which is part of our next-generation API efforts to allow API users to fine-tune queries across all of our APIs in a consistent manner. Internet Insights provide visibility into core Internet infrastructure, including ISPs, DNS providers, IaaS, CDNs , and SaaS providers. It tracks the macro-level impact of Internet events on individual users and enterprise networks connecting at the edge of the Internet. These events include Outages, Routing hijacks and leaks, DDoS attacks, And political interference, among others. Future releases of the Internet Insights API set will further unlock access to core Internet Insights functionality, unlocking potential integrations to enrich customer process flows. For more information about Internet Insights, see the [Internet Insights](https://docs.thousandeyes.com/product-documentation/internet-insights). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_catalog_provider_filter.py b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_catalog_provider_filter.py index 0f4e302b..4a4523e0 100644 --- a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_catalog_provider_filter.py +++ b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_catalog_provider_filter.py @@ -5,7 +5,6 @@ We are happy to announce the release of the Internet Insights API set. This limited release includes endpoints that: * Make our catalog provider and Internet outage data accessible to API users. * Provide access to advanced filtering, which is part of our next-generation API efforts to allow API users to fine-tune queries across all of our APIs in a consistent manner. Internet Insights provide visibility into core Internet infrastructure, including ISPs, DNS providers, IaaS, CDNs , and SaaS providers. It tracks the macro-level impact of Internet events on individual users and enterprise networks connecting at the edge of the Internet. These events include Outages, Routing hijacks and leaks, DDoS attacks, And political interference, among others. Future releases of the Internet Insights API set will further unlock access to core Internet Insights functionality, unlocking potential integrations to enrich customer process flows. For more information about Internet Insights, see the [Internet Insights](https://docs.thousandeyes.com/product-documentation/internet-insights). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_catalog_provider_response.py b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_catalog_provider_response.py index 104ad0bb..f73895cf 100644 --- a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_catalog_provider_response.py +++ b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_catalog_provider_response.py @@ -5,7 +5,6 @@ We are happy to announce the release of the Internet Insights API set. This limited release includes endpoints that: * Make our catalog provider and Internet outage data accessible to API users. * Provide access to advanced filtering, which is part of our next-generation API efforts to allow API users to fine-tune queries across all of our APIs in a consistent manner. Internet Insights provide visibility into core Internet infrastructure, including ISPs, DNS providers, IaaS, CDNs , and SaaS providers. It tracks the macro-level impact of Internet events on individual users and enterprise networks connecting at the edge of the Internet. These events include Outages, Routing hijacks and leaks, DDoS attacks, And political interference, among others. Future releases of the Internet Insights API set will further unlock access to core Internet Insights functionality, unlocking potential integrations to enrich customer process flows. For more information about Internet Insights, see the [Internet Insights](https://docs.thousandeyes.com/product-documentation/internet-insights). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_network_outage_affected_location.py b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_network_outage_affected_location.py index 16314410..83bdc930 100644 --- a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_network_outage_affected_location.py +++ b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_network_outage_affected_location.py @@ -5,7 +5,6 @@ We are happy to announce the release of the Internet Insights API set. This limited release includes endpoints that: * Make our catalog provider and Internet outage data accessible to API users. * Provide access to advanced filtering, which is part of our next-generation API efforts to allow API users to fine-tune queries across all of our APIs in a consistent manner. Internet Insights provide visibility into core Internet infrastructure, including ISPs, DNS providers, IaaS, CDNs , and SaaS providers. It tracks the macro-level impact of Internet events on individual users and enterprise networks connecting at the edge of the Internet. These events include Outages, Routing hijacks and leaks, DDoS attacks, And political interference, among others. Future releases of the Internet Insights API set will further unlock access to core Internet Insights functionality, unlocking potential integrations to enrich customer process flows. For more information about Internet Insights, see the [Internet Insights](https://docs.thousandeyes.com/product-documentation/internet-insights). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_network_outage_details.py b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_network_outage_details.py index 0c60f7e0..718a1706 100644 --- a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_network_outage_details.py +++ b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_network_outage_details.py @@ -5,7 +5,6 @@ We are happy to announce the release of the Internet Insights API set. This limited release includes endpoints that: * Make our catalog provider and Internet outage data accessible to API users. * Provide access to advanced filtering, which is part of our next-generation API efforts to allow API users to fine-tune queries across all of our APIs in a consistent manner. Internet Insights provide visibility into core Internet infrastructure, including ISPs, DNS providers, IaaS, CDNs , and SaaS providers. It tracks the macro-level impact of Internet events on individual users and enterprise networks connecting at the edge of the Internet. These events include Outages, Routing hijacks and leaks, DDoS attacks, And political interference, among others. Future releases of the Internet Insights API set will further unlock access to core Internet Insights functionality, unlocking potential integrations to enrich customer process flows. For more information about Internet Insights, see the [Internet Insights](https://docs.thousandeyes.com/product-documentation/internet-insights). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -19,9 +18,9 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.internet_insights.models.api_affected_agent import ApiAffectedAgent -from thousandeyes_sdk.internet_insights.models.api_affected_test import ApiAffectedTest from thousandeyes_sdk.internet_insights.models.api_network_outage_affected_location import ApiNetworkOutageAffectedLocation +from thousandeyes_sdk.internet_insights.models.internet_insights_api_affected_agent import InternetInsightsApiAffectedAgent +from thousandeyes_sdk.internet_insights.models.internet_insights_api_affected_test import InternetInsightsApiAffectedTest from thousandeyes_sdk.internet_insights.models.self_links import SelfLinks from typing import Optional, Set from typing_extensions import Self @@ -40,9 +39,9 @@ class ApiNetworkOutageDetails(BaseModel): end_date: Optional[StrictStr] = Field(default=None, description="Date and time when the outage ended.", alias="endDate") end_round_id: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) when the outage ended.", alias="endRoundId") duration: Optional[StrictInt] = Field(default=None, description="Duration of the outage in seconds.") - affected_tests: Optional[List[ApiAffectedTest]] = Field(default=None, description="List of affected tests.", alias="affectedTests") + affected_tests: Optional[List[InternetInsightsApiAffectedTest]] = Field(default=None, description="List of affected tests.", alias="affectedTests") affected_domains: Optional[List[StrictStr]] = Field(default=None, description="List of affected domains.", alias="affectedDomains") - affected_agents: Optional[List[ApiAffectedAgent]] = Field(default=None, description="List of affected agents.", alias="affectedAgents") + affected_agents: Optional[List[InternetInsightsApiAffectedAgent]] = Field(default=None, description="List of affected agents.", alias="affectedAgents") affected_locations: Optional[List[ApiNetworkOutageAffectedLocation]] = Field(default=None, description="List of affected locations.", alias="affectedLocations") links: Optional[SelfLinks] = Field(default=None, alias="_links") __properties: ClassVar[List[str]] = ["id", "providerName", "providerType", "networkName", "asn", "startDate", "startRoundId", "endDate", "endRoundId", "duration", "affectedTests", "affectedDomains", "affectedAgents", "affectedLocations", "_links"] @@ -133,9 +132,9 @@ class ApiNetworkOutageDetails(BaseModel): "endDate": obj.get("endDate"), "endRoundId": obj.get("endRoundId"), "duration": obj.get("duration"), - "affectedTests": [ApiAffectedTest.from_dict(_item) for _item in obj["affectedTests"]] if obj.get("affectedTests") is not None else None, + "affectedTests": [InternetInsightsApiAffectedTest.from_dict(_item) for _item in obj["affectedTests"]] if obj.get("affectedTests") is not None else None, "affectedDomains": obj.get("affectedDomains"), - "affectedAgents": [ApiAffectedAgent.from_dict(_item) for _item in obj["affectedAgents"]] if obj.get("affectedAgents") is not None else None, + "affectedAgents": [InternetInsightsApiAffectedAgent.from_dict(_item) for _item in obj["affectedAgents"]] if obj.get("affectedAgents") is not None else None, "affectedLocations": [ApiNetworkOutageAffectedLocation.from_dict(_item) for _item in obj["affectedLocations"]] if obj.get("affectedLocations") is not None else None, "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None }) diff --git a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_outage.py b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_outage.py index c63bcf30..853066d4 100644 --- a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_outage.py +++ b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_outage.py @@ -5,7 +5,6 @@ We are happy to announce the release of the Internet Insights API set. This limited release includes endpoints that: * Make our catalog provider and Internet outage data accessible to API users. * Provide access to advanced filtering, which is part of our next-generation API efforts to allow API users to fine-tune queries across all of our APIs in a consistent manner. Internet Insights provide visibility into core Internet infrastructure, including ISPs, DNS providers, IaaS, CDNs , and SaaS providers. It tracks the macro-level impact of Internet events on individual users and enterprise networks connecting at the edge of the Internet. These events include Outages, Routing hijacks and leaks, DDoS attacks, And political interference, among others. Future releases of the Internet Insights API set will further unlock access to core Internet Insights functionality, unlocking potential integrations to enrich customer process flows. For more information about Internet Insights, see the [Internet Insights](https://docs.thousandeyes.com/product-documentation/internet-insights). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_outage_filter.py b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_outage_filter.py index 19874d51..ac7a0321 100644 --- a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_outage_filter.py +++ b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_outage_filter.py @@ -5,7 +5,6 @@ We are happy to announce the release of the Internet Insights API set. This limited release includes endpoints that: * Make our catalog provider and Internet outage data accessible to API users. * Provide access to advanced filtering, which is part of our next-generation API efforts to allow API users to fine-tune queries across all of our APIs in a consistent manner. Internet Insights provide visibility into core Internet infrastructure, including ISPs, DNS providers, IaaS, CDNs , and SaaS providers. It tracks the macro-level impact of Internet events on individual users and enterprise networks connecting at the edge of the Internet. These events include Outages, Routing hijacks and leaks, DDoS attacks, And political interference, among others. Future releases of the Internet Insights API set will further unlock access to core Internet Insights functionality, unlocking potential integrations to enrich customer process flows. For more information about Internet Insights, see the [Internet Insights](https://docs.thousandeyes.com/product-documentation/internet-insights). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_outages_response.py b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_outages_response.py index ea01ecf9..130aa47d 100644 --- a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_outages_response.py +++ b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_outages_response.py @@ -5,7 +5,6 @@ We are happy to announce the release of the Internet Insights API set. This limited release includes endpoints that: * Make our catalog provider and Internet outage data accessible to API users. * Provide access to advanced filtering, which is part of our next-generation API efforts to allow API users to fine-tune queries across all of our APIs in a consistent manner. Internet Insights provide visibility into core Internet infrastructure, including ISPs, DNS providers, IaaS, CDNs , and SaaS providers. It tracks the macro-level impact of Internet events on individual users and enterprise networks connecting at the edge of the Internet. These events include Outages, Routing hijacks and leaks, DDoS attacks, And political interference, among others. Future releases of the Internet Insights API set will further unlock access to core Internet Insights functionality, unlocking potential integrations to enrich customer process flows. For more information about Internet Insights, see the [Internet Insights](https://docs.thousandeyes.com/product-documentation/internet-insights). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/error.py b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/error.py index e53844cd..179cc8a7 100644 --- a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/error.py +++ b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/error.py @@ -5,7 +5,6 @@ We are happy to announce the release of the Internet Insights API set. This limited release includes endpoints that: * Make our catalog provider and Internet outage data accessible to API users. * Provide access to advanced filtering, which is part of our next-generation API efforts to allow API users to fine-tune queries across all of our APIs in a consistent manner. Internet Insights provide visibility into core Internet infrastructure, including ISPs, DNS providers, IaaS, CDNs , and SaaS providers. It tracks the macro-level impact of Internet events on individual users and enterprise networks connecting at the edge of the Internet. These events include Outages, Routing hijacks and leaks, DDoS attacks, And political interference, among others. Future releases of the Internet Insights API set will further unlock access to core Internet Insights functionality, unlocking potential integrations to enrich customer process flows. For more information about Internet Insights, see the [Internet Insights](https://docs.thousandeyes.com/product-documentation/internet-insights). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_affected_test.py b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/internet_insights_api_affected_agent.py similarity index 93% rename from thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_affected_test.py rename to thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/internet_insights_api_affected_agent.py index 500f8031..338e9ee9 100644 --- a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_affected_test.py +++ b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/internet_insights_api_affected_agent.py @@ -5,7 +5,6 @@ We are happy to announce the release of the Internet Insights API set. This limited release includes endpoints that: * Make our catalog provider and Internet outage data accessible to API users. * Provide access to advanced filtering, which is part of our next-generation API efforts to allow API users to fine-tune queries across all of our APIs in a consistent manner. Internet Insights provide visibility into core Internet infrastructure, including ISPs, DNS providers, IaaS, CDNs , and SaaS providers. It tracks the macro-level impact of Internet events on individual users and enterprise networks connecting at the edge of the Internet. These events include Outages, Routing hijacks and leaks, DDoS attacks, And political interference, among others. Future releases of the Internet Insights API set will further unlock access to core Internet Insights functionality, unlocking potential integrations to enrich customer process flows. For more information about Internet Insights, see the [Internet Insights](https://docs.thousandeyes.com/product-documentation/internet-insights). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,9 +21,9 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self -class ApiAffectedTest(BaseModel): +class InternetInsightsApiAffectedAgent(BaseModel): """ - ApiAffectedTest + InternetInsightsApiAffectedAgent """ # noqa: E501 id: Optional[StrictInt] = None name: Optional[StrictStr] = None @@ -49,7 +48,7 @@ class ApiAffectedTest(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of ApiAffectedTest from a JSON string""" + """Create an instance of InternetInsightsApiAffectedAgent from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -74,7 +73,7 @@ class ApiAffectedTest(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of ApiAffectedTest from a dict""" + """Create an instance of InternetInsightsApiAffectedAgent from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_affected_agent.py b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/internet_insights_api_affected_test.py similarity index 93% rename from thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_affected_agent.py rename to thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/internet_insights_api_affected_test.py index 3f8626cd..ce4c7971 100644 --- a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/api_affected_agent.py +++ b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/internet_insights_api_affected_test.py @@ -5,7 +5,6 @@ We are happy to announce the release of the Internet Insights API set. This limited release includes endpoints that: * Make our catalog provider and Internet outage data accessible to API users. * Provide access to advanced filtering, which is part of our next-generation API efforts to allow API users to fine-tune queries across all of our APIs in a consistent manner. Internet Insights provide visibility into core Internet infrastructure, including ISPs, DNS providers, IaaS, CDNs , and SaaS providers. It tracks the macro-level impact of Internet events on individual users and enterprise networks connecting at the edge of the Internet. These events include Outages, Routing hijacks and leaks, DDoS attacks, And political interference, among others. Future releases of the Internet Insights API set will further unlock access to core Internet Insights functionality, unlocking potential integrations to enrich customer process flows. For more information about Internet Insights, see the [Internet Insights](https://docs.thousandeyes.com/product-documentation/internet-insights). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,9 +21,9 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self -class ApiAffectedAgent(BaseModel): +class InternetInsightsApiAffectedTest(BaseModel): """ - ApiAffectedAgent + InternetInsightsApiAffectedTest """ # noqa: E501 id: Optional[StrictInt] = None name: Optional[StrictStr] = None @@ -49,7 +48,7 @@ class ApiAffectedAgent(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of ApiAffectedAgent from a JSON string""" + """Create an instance of InternetInsightsApiAffectedTest from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -74,7 +73,7 @@ class ApiAffectedAgent(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of ApiAffectedAgent from a dict""" + """Create an instance of InternetInsightsApiAffectedTest from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/link.py b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/link.py index f6e72861..7ba62066 100644 --- a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/link.py +++ b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/link.py @@ -5,7 +5,6 @@ We are happy to announce the release of the Internet Insights API set. This limited release includes endpoints that: * Make our catalog provider and Internet outage data accessible to API users. * Provide access to advanced filtering, which is part of our next-generation API efforts to allow API users to fine-tune queries across all of our APIs in a consistent manner. Internet Insights provide visibility into core Internet infrastructure, including ISPs, DNS providers, IaaS, CDNs , and SaaS providers. It tracks the macro-level impact of Internet events on individual users and enterprise networks connecting at the edge of the Internet. These events include Outages, Routing hijacks and leaks, DDoS attacks, And political interference, among others. Future releases of the Internet Insights API set will further unlock access to core Internet Insights functionality, unlocking potential integrations to enrich customer process flows. For more information about Internet Insights, see the [Internet Insights](https://docs.thousandeyes.com/product-documentation/internet-insights). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/outage_scope.py b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/outage_scope.py index 157889aa..e1e38879 100644 --- a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/outage_scope.py +++ b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/outage_scope.py @@ -5,7 +5,6 @@ We are happy to announce the release of the Internet Insights API set. This limited release includes endpoints that: * Make our catalog provider and Internet outage data accessible to API users. * Provide access to advanced filtering, which is part of our next-generation API efforts to allow API users to fine-tune queries across all of our APIs in a consistent manner. Internet Insights provide visibility into core Internet infrastructure, including ISPs, DNS providers, IaaS, CDNs , and SaaS providers. It tracks the macro-level impact of Internet events on individual users and enterprise networks connecting at the edge of the Internet. These events include Outages, Routing hijacks and leaks, DDoS attacks, And political interference, among others. Future releases of the Internet Insights API set will further unlock access to core Internet Insights functionality, unlocking potential integrations to enrich customer process flows. For more information about Internet Insights, see the [Internet Insights](https://docs.thousandeyes.com/product-documentation/internet-insights). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class OutageScope(str, Enum): """ ALL = 'all' WITH_MINUS_AFFECTED_MINUS_TEST = 'with-affected-test' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of OutageScope from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/provider_location.py b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/provider_location.py index ccd1b3ca..9b928bdb 100644 --- a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/provider_location.py +++ b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/provider_location.py @@ -5,7 +5,6 @@ We are happy to announce the release of the Internet Insights API set. This limited release includes endpoints that: * Make our catalog provider and Internet outage data accessible to API users. * Provide access to advanced filtering, which is part of our next-generation API efforts to allow API users to fine-tune queries across all of our APIs in a consistent manner. Internet Insights provide visibility into core Internet infrastructure, including ISPs, DNS providers, IaaS, CDNs , and SaaS providers. It tracks the macro-level impact of Internet events on individual users and enterprise networks connecting at the edge of the Internet. These events include Outages, Routing hijacks and leaks, DDoS attacks, And political interference, among others. Future releases of the Internet Insights API set will further unlock access to core Internet Insights functionality, unlocking potential integrations to enrich customer process flows. For more information about Internet Insights, see the [Internet Insights](https://docs.thousandeyes.com/product-documentation/internet-insights). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/self_links.py b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/self_links.py index c811f128..f858ab37 100644 --- a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/self_links.py +++ b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/self_links.py @@ -5,7 +5,6 @@ We are happy to announce the release of the Internet Insights API set. This limited release includes endpoints that: * Make our catalog provider and Internet outage data accessible to API users. * Provide access to advanced filtering, which is part of our next-generation API efforts to allow API users to fine-tune queries across all of our APIs in a consistent manner. Internet Insights provide visibility into core Internet infrastructure, including ISPs, DNS providers, IaaS, CDNs , and SaaS providers. It tracks the macro-level impact of Internet events on individual users and enterprise networks connecting at the edge of the Internet. These events include Outages, Routing hijacks and leaks, DDoS attacks, And political interference, among others. Future releases of the Internet Insights API set will further unlock access to core Internet Insights functionality, unlocking potential integrations to enrich customer process flows. For more information about Internet Insights, see the [Internet Insights](https://docs.thousandeyes.com/product-documentation/internet-insights). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/unauthorized_error.py b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/unauthorized_error.py index de185750..850fb598 100644 --- a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/unauthorized_error.py +++ b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/unauthorized_error.py @@ -5,7 +5,6 @@ We are happy to announce the release of the Internet Insights API set. This limited release includes endpoints that: * Make our catalog provider and Internet outage data accessible to API users. * Provide access to advanced filtering, which is part of our next-generation API efforts to allow API users to fine-tune queries across all of our APIs in a consistent manner. Internet Insights provide visibility into core Internet infrastructure, including ISPs, DNS providers, IaaS, CDNs , and SaaS providers. It tracks the macro-level impact of Internet events on individual users and enterprise networks connecting at the edge of the Internet. These events include Outages, Routing hijacks and leaks, DDoS attacks, And political interference, among others. Future releases of the Internet Insights API set will further unlock access to core Internet Insights functionality, unlocking potential integrations to enrich customer process flows. For more information about Internet Insights, see the [Internet Insights](https://docs.thousandeyes.com/product-documentation/internet-insights). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/validation_error.py b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/validation_error.py index 1fa48a14..7457c6ae 100644 --- a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/validation_error.py +++ b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/validation_error.py @@ -5,7 +5,6 @@ We are happy to announce the release of the Internet Insights API set. This limited release includes endpoints that: * Make our catalog provider and Internet outage data accessible to API users. * Provide access to advanced filtering, which is part of our next-generation API efforts to allow API users to fine-tune queries across all of our APIs in a consistent manner. Internet Insights provide visibility into core Internet infrastructure, including ISPs, DNS providers, IaaS, CDNs , and SaaS providers. It tracks the macro-level impact of Internet events on individual users and enterprise networks connecting at the edge of the Internet. These events include Outages, Routing hijacks and leaks, DDoS attacks, And political interference, among others. Future releases of the Internet Insights API set will further unlock access to core Internet Insights functionality, unlocking potential integrations to enrich customer process flows. For more information about Internet Insights, see the [Internet Insights](https://docs.thousandeyes.com/product-documentation/internet-insights). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/validation_error_item.py b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/validation_error_item.py index 6c3e3194..9ee6a777 100644 --- a/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/validation_error_item.py +++ b/thousandeyes-sdk-internet-insights/src/thousandeyes_sdk/internet_insights/models/validation_error_item.py @@ -5,7 +5,6 @@ We are happy to announce the release of the Internet Insights API set. This limited release includes endpoints that: * Make our catalog provider and Internet outage data accessible to API users. * Provide access to advanced filtering, which is part of our next-generation API efforts to allow API users to fine-tune queries across all of our APIs in a consistent manner. Internet Insights provide visibility into core Internet infrastructure, including ISPs, DNS providers, IaaS, CDNs , and SaaS providers. It tracks the macro-level impact of Internet events on individual users and enterprise networks connecting at the edge of the Internet. These events include Outages, Routing hijacks and leaks, DDoS attacks, And political interference, among others. Future releases of the Internet Insights API set will further unlock access to core Internet Insights functionality, unlocking potential integrations to enrich customer process flows. For more information about Internet Insights, see the [Internet Insights](https://docs.thousandeyes.com/product-documentation/internet-insights). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-internet-insights/test/test_catalog_providers_api.py b/thousandeyes-sdk-internet-insights/test/test_internet_insights_catalog_providers_api.py similarity index 95% rename from thousandeyes-sdk-internet-insights/test/test_catalog_providers_api.py rename to thousandeyes-sdk-internet-insights/test/test_internet_insights_catalog_providers_api.py index 01573b60..d6438653 100644 --- a/thousandeyes-sdk-internet-insights/test/test_catalog_providers_api.py +++ b/thousandeyes-sdk-internet-insights/test/test_internet_insights_catalog_providers_api.py @@ -5,7 +5,6 @@ We are happy to announce the release of the Internet Insights API set. This limited release includes endpoints that: * Make our catalog provider and Internet outage data accessible to API users. * Provide access to advanced filtering, which is part of our next-generation API efforts to allow API users to fine-tune queries across all of our APIs in a consistent manner. Internet Insights provide visibility into core Internet infrastructure, including ISPs, DNS providers, IaaS, CDNs , and SaaS providers. It tracks the macro-level impact of Internet events on individual users and enterprise networks connecting at the edge of the Internet. These events include Outages, Routing hijacks and leaks, DDoS attacks, And political interference, among others. Future releases of the Internet Insights API set will further unlock access to core Internet Insights functionality, unlocking potential integrations to enrich customer process flows. For more information about Internet Insights, see the [Internet Insights](https://docs.thousandeyes.com/product-documentation/internet-insights). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.internet_insights.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.internet_insights.api.catalog_providers_api import CatalogProvidersApi +from thousandeyes_sdk.internet_insights.api.internet_insights_catalog_providers_api import InternetInsightsCatalogProvidersApi -class TestCatalogProvidersApi(unittest.TestCase): - """CatalogProvidersApi unit test stubs""" +class TestInternetInsightsCatalogProvidersApi(unittest.TestCase): + """InternetInsightsCatalogProvidersApi unit test stubs""" def setUp(self) -> None: - self.api = CatalogProvidersApi() + self.api = InternetInsightsCatalogProvidersApi() def tearDown(self) -> None: pass diff --git a/thousandeyes-sdk-internet-insights/test/test_outages_api_public_api.py b/thousandeyes-sdk-internet-insights/test/test_internet_insights_outages_api.py similarity index 97% rename from thousandeyes-sdk-internet-insights/test/test_outages_api_public_api.py rename to thousandeyes-sdk-internet-insights/test/test_internet_insights_outages_api.py index 389fd84d..d3479114 100644 --- a/thousandeyes-sdk-internet-insights/test/test_outages_api_public_api.py +++ b/thousandeyes-sdk-internet-insights/test/test_internet_insights_outages_api.py @@ -5,7 +5,6 @@ We are happy to announce the release of the Internet Insights API set. This limited release includes endpoints that: * Make our catalog provider and Internet outage data accessible to API users. * Provide access to advanced filtering, which is part of our next-generation API efforts to allow API users to fine-tune queries across all of our APIs in a consistent manner. Internet Insights provide visibility into core Internet infrastructure, including ISPs, DNS providers, IaaS, CDNs , and SaaS providers. It tracks the macro-level impact of Internet events on individual users and enterprise networks connecting at the edge of the Internet. These events include Outages, Routing hijacks and leaks, DDoS attacks, And political interference, among others. Future releases of the Internet Insights API set will further unlock access to core Internet Insights functionality, unlocking potential integrations to enrich customer process flows. For more information about Internet Insights, see the [Internet Insights](https://docs.thousandeyes.com/product-documentation/internet-insights). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.internet_insights.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.internet_insights.api.outages_api_public_api import OutagesAPIPublicApi +from thousandeyes_sdk.internet_insights.api.internet_insights_outages_api import InternetInsightsOutagesApi -class TestOutagesAPIPublicApi(unittest.TestCase): - """OutagesAPIPublicApi unit test stubs""" +class TestInternetInsightsOutagesApi(unittest.TestCase): + """InternetInsightsOutagesApi unit test stubs""" def setUp(self) -> None: - self.api = OutagesAPIPublicApi() + self.api = InternetInsightsOutagesApi() def tearDown(self) -> None: pass diff --git a/thousandeyes-sdk-labels/.openapi-generator/FILES b/thousandeyes-sdk-labels/.openapi-generator/FILES deleted file mode 100644 index ba5fd11d..00000000 --- a/thousandeyes-sdk-labels/.openapi-generator/FILES +++ /dev/null @@ -1,48 +0,0 @@ -.openapi-generator-ignore -MANIFEST.in -README.md -docs/AgentApi.md -docs/AllLabelsApi.md -docs/DashboardApi.md -docs/EndpointTestApi.md -docs/Error.md -docs/Label.md -docs/LabelDetail.md -docs/LabelRequest.md -docs/LabelType.md -docs/Labels.md -docs/Link.md -docs/SelfLinks.md -docs/TestApi.md -docs/UnauthorizedError.md -docs/ValidationError.md -docs/ValidationErrorItem.md -pyproject.toml -setup.cfg -src/thousandeyes_sdk/labels/__init__.py -src/thousandeyes_sdk/labels/api/__init__.py -src/thousandeyes_sdk/labels/api/agent_api.py -src/thousandeyes_sdk/labels/api/all_labels_api.py -src/thousandeyes_sdk/labels/api/dashboard_api.py -src/thousandeyes_sdk/labels/api/endpoint_test_api.py -src/thousandeyes_sdk/labels/api/test_api.py -src/thousandeyes_sdk/labels/models/__init__.py -src/thousandeyes_sdk/labels/models/error.py -src/thousandeyes_sdk/labels/models/label.py -src/thousandeyes_sdk/labels/models/label_detail.py -src/thousandeyes_sdk/labels/models/label_request.py -src/thousandeyes_sdk/labels/models/label_type.py -src/thousandeyes_sdk/labels/models/labels.py -src/thousandeyes_sdk/labels/models/link.py -src/thousandeyes_sdk/labels/models/self_links.py -src/thousandeyes_sdk/labels/models/unauthorized_error.py -src/thousandeyes_sdk/labels/models/validation_error.py -src/thousandeyes_sdk/labels/models/validation_error_item.py -src/thousandeyes_sdk/labels/py.typed -test/__init__.py -test/test_agent_api.py -test/test_all_labels_api.py -test/test_dashboard_api.py -test/test_endpoint_test_api.py -test/test_test_api.py -test/test_utils.py diff --git a/thousandeyes-sdk-labels/README.md b/thousandeyes-sdk-labels/README.md deleted file mode 100644 index d1ee37ee..00000000 --- a/thousandeyes-sdk-labels/README.md +++ /dev/null @@ -1,152 +0,0 @@ -# thousandeyes-sdk-labels -### Overview -This is API for the Labels API (formerly called groups). - -This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: - -- API version: 7.0.8 -- Generator version: 7.6.0 -- Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator - -## Requirements. - -Python 3.8+ - -## Installation & Usage -### pip install - -Install directly via PyPi: - -```sh -pip install thousandeyes-sdk-labels -``` -(you may need to run `pip` with root permission: `sudo pip install thousandeyes-sdk-labels`) - -Then import the package: -```python -import thousandeyes_sdk.labels -``` - -### Setuptools - -Install via [Setuptools](http://pypi.python.org/pypi/setuptools). - -```sh -python setup.py install --user -``` -(or `sudo python setup.py install` to install the package for all users) - -Then import the package: -```python -import thousandeyes_sdk.labels -``` - -### Tests - -Execute `pytest` to run the tests. - -## Getting Started - -Please follow the installation procedure and then run the following: - -```python - -import thousandeyes_sdk.core -import thousandeyes_sdk.labels -from thousandeyes_sdk.core.exceptions import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://api.thousandeyes.com -# See configuration.py for a list of all supported configuration parameters. -configuration = thousandeyes_sdk.core.Configuration( - host = "https://api.thousandeyes.com" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure Bearer authorization: BearerAuth -configuration = thousandeyes_sdk.core.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - - -# Enter a context with an instance of the API client -with thousandeyes_sdk.core.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = thousandeyes_sdk.labels.AgentApi(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) - label_request = thousandeyes_sdk.labels.LabelRequest() # LabelRequest | Label resource (optional) - - try: - # Create a Label of type `agent` - api_response = api_instance.create_agent_label(aid=aid, label_request=label_request) - print("The response of AgentApi->create_agent_label:\n") - pprint(api_response) - except ApiException as e: - print("Exception when calling AgentApi->create_agent_label: %s\n" % e) - -``` - -## Documentation for API Endpoints - -All URIs are relative to *https://api.thousandeyes.com* - -Class | Method | HTTP request | Description ------------- | ------------- | ------------- | ------------- -*AgentApi* | [**create_agent_label**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-labels/docs/AgentApi.md#create_agent_label) | **POST** /v7/labels/agent | Create a Label of type `agent` -*AgentApi* | [**delete_agent_label**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-labels/docs/AgentApi.md#delete_agent_label) | **DELETE** /v7/labels/agent/{labelId} | Delete a Label object of type `agent` -*AgentApi* | [**get_agent_label**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-labels/docs/AgentApi.md#get_agent_label) | **GET** /v7/labels/agent/{labelId} | Get a Label object of type `agent` -*AgentApi* | [**get_agent_labels**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-labels/docs/AgentApi.md#get_agent_labels) | **GET** /v7/labels/agent | Get list of Labels of type `agent` -*AgentApi* | [**update_agent_label**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-labels/docs/AgentApi.md#update_agent_label) | **PUT** /v7/labels/agent/{labelId} | Update a Label object of type `agent` -*AllLabelsApi* | [**get_labels**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-labels/docs/AllLabelsApi.md#get_labels) | **GET** /v7/labels | Get list of Labels -*DashboardApi* | [**create_dashboard_label**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-labels/docs/DashboardApi.md#create_dashboard_label) | **POST** /v7/labels/dashboard | Create a Label of type `dashboard` -*DashboardApi* | [**delete_dashboard_label**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-labels/docs/DashboardApi.md#delete_dashboard_label) | **DELETE** /v7/labels/dashboard/{labelId} | Delete a Label object of type `dashboard` -*DashboardApi* | [**get_dashboard_label**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-labels/docs/DashboardApi.md#get_dashboard_label) | **GET** /v7/labels/dashboard/{labelId} | Get a Label object of type `dashboard` -*DashboardApi* | [**get_dashboard_labels**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-labels/docs/DashboardApi.md#get_dashboard_labels) | **GET** /v7/labels/dashboard | Get list of Labels of type `dashboard` -*DashboardApi* | [**update_dashboard_label**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-labels/docs/DashboardApi.md#update_dashboard_label) | **PUT** /v7/labels/dashboard/{labelId} | Update a Label object of type `dashboard` -*EndpointTestApi* | [**create_endpoint_test_label**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-labels/docs/EndpointTestApi.md#create_endpoint_test_label) | **POST** /v7/labels/endpoint-test | Create a Label of type `endpoint-test` -*EndpointTestApi* | [**delete_endpoint_test_label**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-labels/docs/EndpointTestApi.md#delete_endpoint_test_label) | **DELETE** /v7/labels/endpoint-test/{labelId} | Delete a Label object of type `endpoint-test` -*EndpointTestApi* | [**get_endpoint_test_label**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-labels/docs/EndpointTestApi.md#get_endpoint_test_label) | **GET** /v7/labels/endpoint-test/{labelId} | Get a Label object of type `endpoint-test` -*EndpointTestApi* | [**get_endpoint_test_labels**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-labels/docs/EndpointTestApi.md#get_endpoint_test_labels) | **GET** /v7/labels/endpoint-test | Get list of Labels of type `endpoint-test` -*EndpointTestApi* | [**update_endpoint_test_label**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-labels/docs/EndpointTestApi.md#update_endpoint_test_label) | **PUT** /v7/labels/endpoint-test/{labelId} | Update a Label object of type `endpoint-test` -*TestApi* | [**create_test_label**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-labels/docs/TestApi.md#create_test_label) | **POST** /v7/labels/test | Create a Label of type `test` -*TestApi* | [**delete_test_label**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-labels/docs/TestApi.md#delete_test_label) | **DELETE** /v7/labels/test/{labelId} | Delete a Label object of type `test` -*TestApi* | [**get_test_label**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-labels/docs/TestApi.md#get_test_label) | **GET** /v7/labels/test/{labelId} | Get a Label object of type `test` -*TestApi* | [**get_test_labels**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-labels/docs/TestApi.md#get_test_labels) | **GET** /v7/labels/test | Get list of Labels of type `test` -*TestApi* | [**update_test_label**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-labels/docs/TestApi.md#update_test_label) | **PUT** /v7/labels/test/{labelId} | Update a Label object of type `test` - - -## Documentation For Models - - - [Error](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-labels/docs/Error.md) - - [Label](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-labels/docs/Label.md) - - [LabelDetail](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-labels/docs/LabelDetail.md) - - [LabelRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-labels/docs/LabelRequest.md) - - [LabelType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-labels/docs/LabelType.md) - - [Labels](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-labels/docs/Labels.md) - - [Link](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-labels/docs/Link.md) - - [SelfLinks](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-labels/docs/SelfLinks.md) - - [UnauthorizedError](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-labels/docs/UnauthorizedError.md) - - [ValidationError](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-labels/docs/ValidationError.md) - - [ValidationErrorItem](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-labels/docs/ValidationErrorItem.md) - - - -## Documentation For Authorization - - -Authentication schemes defined for the API: - -### BearerAuth - -- **Type**: Bearer authentication - - -## Author - -ThousandEyes API Team - - diff --git a/thousandeyes-sdk-labels/docs/AgentApi.md b/thousandeyes-sdk-labels/docs/AgentApi.md deleted file mode 100644 index f8fee798..00000000 --- a/thousandeyes-sdk-labels/docs/AgentApi.md +++ /dev/null @@ -1,436 +0,0 @@ -# thousandeyes_sdk.labels.AgentApi - -All URIs are relative to *https://api.thousandeyes.com* - -Method | HTTP request | Description -------------- | ------------- | ------------- -[**create_agent_label**](AgentApi.md#create_agent_label) | **POST** /v7/labels/agent | Create a Label of type `agent` -[**delete_agent_label**](AgentApi.md#delete_agent_label) | **DELETE** /v7/labels/agent/{labelId} | Delete a Label object of type `agent` -[**get_agent_label**](AgentApi.md#get_agent_label) | **GET** /v7/labels/agent/{labelId} | Get a Label object of type `agent` -[**get_agent_labels**](AgentApi.md#get_agent_labels) | **GET** /v7/labels/agent | Get list of Labels of type `agent` -[**update_agent_label**](AgentApi.md#update_agent_label) | **PUT** /v7/labels/agent/{labelId} | Update a Label object of type `agent` - - -# **create_agent_label** -> LabelDetail create_agent_label(aid=aid, label_request=label_request) - -Create a Label of type `agent` - -Creates a new label (formerly called group) in ThousandEyes, based on properties provided in the POST data. You must have sufficient permissions to create a new label. Regular users are blocked from using any of the POST-based methods. Note: When creating or updating a label and assigning `agent` or `test`, the user needs permission to modify the objects being added. - -### Example - -* Bearer Authentication (BearerAuth): - -```python -import thousandeyes_sdk.labels -from thousandeyes_sdk.labels.models.label_detail import LabelDetail -from thousandeyes_sdk.labels.models.label_request import LabelRequest -from thousandeyes_sdk.labels.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://api.thousandeyes.com -# See configuration.py for a list of all supported configuration parameters. -configuration = thousandeyes_sdk.core.Configuration( - host = "https://api.thousandeyes.com" -) - -# 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.labels.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = thousandeyes_sdk.labels.AgentApi(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) - label_request = thousandeyes_sdk.labels.LabelRequest() # LabelRequest | Label resource (optional) - - try: - # Create a Label of type `agent` - api_response = api_instance.create_agent_label(aid=aid, label_request=label_request) - print("The response of AgentApi->create_agent_label:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling AgentApi->create_agent_label: %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] - **label_request** | [**LabelRequest**](LabelRequest.md)| Label resource | [optional] - -### Return type - -[**LabelDetail**](LabelDetail.md) - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/hal+json, application/json, application/problem+json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**201** | Created | * Location -
| -**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) - -# **delete_agent_label** -> delete_agent_label(label_id, aid=aid) - -Delete a Label object of type `agent` - -### Example - -* Bearer Authentication (BearerAuth): - -```python -import thousandeyes_sdk.labels -from thousandeyes_sdk.labels.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://api.thousandeyes.com -# See configuration.py for a list of all supported configuration parameters. -configuration = thousandeyes_sdk.core.Configuration( - host = "https://api.thousandeyes.com" -) - -# 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.labels.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = thousandeyes_sdk.labels.AgentApi(api_client) - label_id = '961' # str | ID of the label to get - aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) - - try: - # Delete a Label object of type `agent` - api_instance.delete_agent_label(label_id, aid=aid) - except Exception as e: - print("Exception when calling AgentApi->delete_agent_label: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **label_id** | **str**| ID of the label to get | - **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] - -### Return type - -void (empty response body) - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json, application/problem+json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**204** | No content | - | -**400** | Bad Request | - | -**401** | Unauthorized | - | -**403** | Insufficient permissions to query endpoint | - | -**404** | Not found | - | -**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_agent_label** -> LabelDetail get_agent_label(label_id, aid=aid) - -Get a Label object of type `agent` - -### Example - -* Bearer Authentication (BearerAuth): - -```python -import thousandeyes_sdk.labels -from thousandeyes_sdk.labels.models.label_detail import LabelDetail -from thousandeyes_sdk.labels.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://api.thousandeyes.com -# See configuration.py for a list of all supported configuration parameters. -configuration = thousandeyes_sdk.core.Configuration( - host = "https://api.thousandeyes.com" -) - -# 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.labels.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = thousandeyes_sdk.labels.AgentApi(api_client) - label_id = '961' # str | ID of the label to get - 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 a Label object of type `agent` - api_response = api_instance.get_agent_label(label_id, aid=aid) - print("The response of AgentApi->get_agent_label:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling AgentApi->get_agent_label: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **label_id** | **str**| ID of the label to get | - **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 - -[**LabelDetail**](LabelDetail.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_agent_labels** -> Labels get_agent_labels(aid=aid) - -Get list of Labels of type `agent` - -Returns a list of all Agent labels (formerly called groups) configured in ThousandEyes. - -### Example - -* Bearer Authentication (BearerAuth): - -```python -import thousandeyes_sdk.labels -from thousandeyes_sdk.labels.models.labels import Labels -from thousandeyes_sdk.labels.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://api.thousandeyes.com -# See configuration.py for a list of all supported configuration parameters. -configuration = thousandeyes_sdk.core.Configuration( - host = "https://api.thousandeyes.com" -) - -# 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.labels.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = thousandeyes_sdk.labels.AgentApi(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 list of Labels of type `agent` - api_response = api_instance.get_agent_labels(aid=aid) - print("The response of AgentApi->get_agent_labels:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling AgentApi->get_agent_labels: %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 - -[**Labels**](Labels.md) - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/hal+json, application/json, application/problem+json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | OK | - | -**400** | Bad Request | - | -**401** | Unauthorized | - | -**403** | Insufficient permissions to query endpoint | - | -**404** | Not found | - | -**429** | Exhausted rate limit for the organization | - | -**500** | Internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **update_agent_label** -> LabelDetail update_agent_label(label_id, aid=aid, label_request=label_request) - -Update a Label object of type `agent` - -### Example - -* Bearer Authentication (BearerAuth): - -```python -import thousandeyes_sdk.labels -from thousandeyes_sdk.labels.models.label_detail import LabelDetail -from thousandeyes_sdk.labels.models.label_request import LabelRequest -from thousandeyes_sdk.labels.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://api.thousandeyes.com -# See configuration.py for a list of all supported configuration parameters. -configuration = thousandeyes_sdk.core.Configuration( - host = "https://api.thousandeyes.com" -) - -# 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.labels.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = thousandeyes_sdk.labels.AgentApi(api_client) - label_id = '961' # str | ID of the label to get - 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) - label_request = thousandeyes_sdk.labels.LabelRequest() # LabelRequest | (optional) - - try: - # Update a Label object of type `agent` - api_response = api_instance.update_agent_label(label_id, aid=aid, label_request=label_request) - print("The response of AgentApi->update_agent_label:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling AgentApi->update_agent_label: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **label_id** | **str**| ID of the label to get | - **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] - **label_request** | [**LabelRequest**](LabelRequest.md)| | [optional] - -### Return type - -[**LabelDetail**](LabelDetail.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 | - | -**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) - diff --git a/thousandeyes-sdk-labels/docs/AllLabelsApi.md b/thousandeyes-sdk-labels/docs/AllLabelsApi.md deleted file mode 100644 index b12ece9b..00000000 --- a/thousandeyes-sdk-labels/docs/AllLabelsApi.md +++ /dev/null @@ -1,93 +0,0 @@ -# thousandeyes_sdk.labels.AllLabelsApi - -All URIs are relative to *https://api.thousandeyes.com* - -Method | HTTP request | Description -------------- | ------------- | ------------- -[**get_labels**](AllLabelsApi.md#get_labels) | **GET** /v7/labels | Get list of Labels - - -# **get_labels** -> Labels get_labels(aid=aid) - -Get list of Labels - -Returns a list of all labels (formerly called groups) configured in ThousandEyes. - -### Example - -* Bearer Authentication (BearerAuth): - -```python -import thousandeyes_sdk.labels -from thousandeyes_sdk.labels.models.labels import Labels -from thousandeyes_sdk.labels.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://api.thousandeyes.com -# See configuration.py for a list of all supported configuration parameters. -configuration = thousandeyes_sdk.core.Configuration( - host = "https://api.thousandeyes.com" -) - -# 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.labels.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = thousandeyes_sdk.labels.AllLabelsApi(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 list of Labels - api_response = api_instance.get_labels(aid=aid) - print("The response of AllLabelsApi->get_labels:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling AllLabelsApi->get_labels: %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 - -[**Labels**](Labels.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) - diff --git a/thousandeyes-sdk-labels/docs/DashboardApi.md b/thousandeyes-sdk-labels/docs/DashboardApi.md deleted file mode 100644 index 0e7b88fc..00000000 --- a/thousandeyes-sdk-labels/docs/DashboardApi.md +++ /dev/null @@ -1,436 +0,0 @@ -# thousandeyes_sdk.labels.DashboardApi - -All URIs are relative to *https://api.thousandeyes.com* - -Method | HTTP request | Description -------------- | ------------- | ------------- -[**create_dashboard_label**](DashboardApi.md#create_dashboard_label) | **POST** /v7/labels/dashboard | Create a Label of type `dashboard` -[**delete_dashboard_label**](DashboardApi.md#delete_dashboard_label) | **DELETE** /v7/labels/dashboard/{labelId} | Delete a Label object of type `dashboard` -[**get_dashboard_label**](DashboardApi.md#get_dashboard_label) | **GET** /v7/labels/dashboard/{labelId} | Get a Label object of type `dashboard` -[**get_dashboard_labels**](DashboardApi.md#get_dashboard_labels) | **GET** /v7/labels/dashboard | Get list of Labels of type `dashboard` -[**update_dashboard_label**](DashboardApi.md#update_dashboard_label) | **PUT** /v7/labels/dashboard/{labelId} | Update a Label object of type `dashboard` - - -# **create_dashboard_label** -> LabelDetail create_dashboard_label(aid=aid, label_request=label_request) - -Create a Label of type `dashboard` - -Creates a new label (formerly called group) in ThousandEyes, based on properties provided in the POST data. In order to create a new label, the user attempting the creation must have sufficient privileges to create labels. Regular users are blocked from using any of the POST-based methods. Note: When creating or updating a label and assigning agents or tests, the user needs permission to modify the objects being added. - -### Example - -* Bearer Authentication (BearerAuth): - -```python -import thousandeyes_sdk.labels -from thousandeyes_sdk.labels.models.label_detail import LabelDetail -from thousandeyes_sdk.labels.models.label_request import LabelRequest -from thousandeyes_sdk.labels.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://api.thousandeyes.com -# See configuration.py for a list of all supported configuration parameters. -configuration = thousandeyes_sdk.core.Configuration( - host = "https://api.thousandeyes.com" -) - -# 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.labels.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = thousandeyes_sdk.labels.DashboardApi(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) - label_request = thousandeyes_sdk.labels.LabelRequest() # LabelRequest | Label resource (optional) - - try: - # Create a Label of type `dashboard` - api_response = api_instance.create_dashboard_label(aid=aid, label_request=label_request) - print("The response of DashboardApi->create_dashboard_label:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling DashboardApi->create_dashboard_label: %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] - **label_request** | [**LabelRequest**](LabelRequest.md)| Label resource | [optional] - -### Return type - -[**LabelDetail**](LabelDetail.md) - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/hal+json, application/json, application/problem+json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**201** | Created | * Location -
| -**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) - -# **delete_dashboard_label** -> delete_dashboard_label(label_id, aid=aid) - -Delete a Label object of type `dashboard` - -### Example - -* Bearer Authentication (BearerAuth): - -```python -import thousandeyes_sdk.labels -from thousandeyes_sdk.labels.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://api.thousandeyes.com -# See configuration.py for a list of all supported configuration parameters. -configuration = thousandeyes_sdk.core.Configuration( - host = "https://api.thousandeyes.com" -) - -# 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.labels.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = thousandeyes_sdk.labels.DashboardApi(api_client) - label_id = '961' # str | ID of the label to get - aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) - - try: - # Delete a Label object of type `dashboard` - api_instance.delete_dashboard_label(label_id, aid=aid) - except Exception as e: - print("Exception when calling DashboardApi->delete_dashboard_label: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **label_id** | **str**| ID of the label to get | - **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] - -### Return type - -void (empty response body) - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json, application/problem+json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**204** | No content | - | -**400** | Bad Request | - | -**401** | Unauthorized | - | -**403** | Insufficient permissions to query endpoint | - | -**404** | Not found | - | -**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_dashboard_label** -> LabelDetail get_dashboard_label(label_id, aid=aid) - -Get a Label object of type `dashboard` - -### Example - -* Bearer Authentication (BearerAuth): - -```python -import thousandeyes_sdk.labels -from thousandeyes_sdk.labels.models.label_detail import LabelDetail -from thousandeyes_sdk.labels.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://api.thousandeyes.com -# See configuration.py for a list of all supported configuration parameters. -configuration = thousandeyes_sdk.core.Configuration( - host = "https://api.thousandeyes.com" -) - -# 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.labels.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = thousandeyes_sdk.labels.DashboardApi(api_client) - label_id = '961' # str | ID of the label to get - 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 a Label object of type `dashboard` - api_response = api_instance.get_dashboard_label(label_id, aid=aid) - print("The response of DashboardApi->get_dashboard_label:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling DashboardApi->get_dashboard_label: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **label_id** | **str**| ID of the label to get | - **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 - -[**LabelDetail**](LabelDetail.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_dashboard_labels** -> Labels get_dashboard_labels(aid=aid) - -Get list of Labels of type `dashboard` - -Returns a list of all Dashboard labels (formerly called groups) configured in ThousandEyes. - -### Example - -* Bearer Authentication (BearerAuth): - -```python -import thousandeyes_sdk.labels -from thousandeyes_sdk.labels.models.labels import Labels -from thousandeyes_sdk.labels.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://api.thousandeyes.com -# See configuration.py for a list of all supported configuration parameters. -configuration = thousandeyes_sdk.core.Configuration( - host = "https://api.thousandeyes.com" -) - -# 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.labels.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = thousandeyes_sdk.labels.DashboardApi(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 list of Labels of type `dashboard` - api_response = api_instance.get_dashboard_labels(aid=aid) - print("The response of DashboardApi->get_dashboard_labels:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling DashboardApi->get_dashboard_labels: %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 - -[**Labels**](Labels.md) - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/hal+json, application/json, application/problem+json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | OK | - | -**400** | Bad Request | - | -**401** | Unauthorized | - | -**403** | Insufficient permissions to query endpoint | - | -**404** | Not found | - | -**429** | Exhausted rate limit for the organization | - | -**500** | Internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **update_dashboard_label** -> LabelDetail update_dashboard_label(label_id, aid=aid, label_request=label_request) - -Update a Label object of type `dashboard` - -### Example - -* Bearer Authentication (BearerAuth): - -```python -import thousandeyes_sdk.labels -from thousandeyes_sdk.labels.models.label_detail import LabelDetail -from thousandeyes_sdk.labels.models.label_request import LabelRequest -from thousandeyes_sdk.labels.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://api.thousandeyes.com -# See configuration.py for a list of all supported configuration parameters. -configuration = thousandeyes_sdk.core.Configuration( - host = "https://api.thousandeyes.com" -) - -# 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.labels.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = thousandeyes_sdk.labels.DashboardApi(api_client) - label_id = '961' # str | ID of the label to get - 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) - label_request = thousandeyes_sdk.labels.LabelRequest() # LabelRequest | (optional) - - try: - # Update a Label object of type `dashboard` - api_response = api_instance.update_dashboard_label(label_id, aid=aid, label_request=label_request) - print("The response of DashboardApi->update_dashboard_label:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling DashboardApi->update_dashboard_label: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **label_id** | **str**| ID of the label to get | - **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] - **label_request** | [**LabelRequest**](LabelRequest.md)| | [optional] - -### Return type - -[**LabelDetail**](LabelDetail.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 | - | -**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) - diff --git a/thousandeyes-sdk-labels/docs/EndpointTestApi.md b/thousandeyes-sdk-labels/docs/EndpointTestApi.md deleted file mode 100644 index bf162e5c..00000000 --- a/thousandeyes-sdk-labels/docs/EndpointTestApi.md +++ /dev/null @@ -1,436 +0,0 @@ -# thousandeyes_sdk.labels.EndpointTestApi - -All URIs are relative to *https://api.thousandeyes.com* - -Method | HTTP request | Description -------------- | ------------- | ------------- -[**create_endpoint_test_label**](EndpointTestApi.md#create_endpoint_test_label) | **POST** /v7/labels/endpoint-test | Create a Label of type `endpoint-test` -[**delete_endpoint_test_label**](EndpointTestApi.md#delete_endpoint_test_label) | **DELETE** /v7/labels/endpoint-test/{labelId} | Delete a Label object of type `endpoint-test` -[**get_endpoint_test_label**](EndpointTestApi.md#get_endpoint_test_label) | **GET** /v7/labels/endpoint-test/{labelId} | Get a Label object of type `endpoint-test` -[**get_endpoint_test_labels**](EndpointTestApi.md#get_endpoint_test_labels) | **GET** /v7/labels/endpoint-test | Get list of Labels of type `endpoint-test` -[**update_endpoint_test_label**](EndpointTestApi.md#update_endpoint_test_label) | **PUT** /v7/labels/endpoint-test/{labelId} | Update a Label object of type `endpoint-test` - - -# **create_endpoint_test_label** -> LabelDetail create_endpoint_test_label(aid=aid, label_request=label_request) - -Create a Label of type `endpoint-test` - -Creates a new label (formerly called group) in ThousandEyes, based on properties provided in the POST data. In order to create a new label, the user attempting the creation must have sufficient privileges to create labels. Regular users are blocked from using any of the POST-based methods. Note: When creating or updating a label and assigning agents or tests, the user needs permission to modify the objects being added. - -### Example - -* Bearer Authentication (BearerAuth): - -```python -import thousandeyes_sdk.labels -from thousandeyes_sdk.labels.models.label_detail import LabelDetail -from thousandeyes_sdk.labels.models.label_request import LabelRequest -from thousandeyes_sdk.labels.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://api.thousandeyes.com -# See configuration.py for a list of all supported configuration parameters. -configuration = thousandeyes_sdk.core.Configuration( - host = "https://api.thousandeyes.com" -) - -# 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.labels.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = thousandeyes_sdk.labels.EndpointTestApi(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) - label_request = thousandeyes_sdk.labels.LabelRequest() # LabelRequest | Label resource (optional) - - try: - # Create a Label of type `endpoint-test` - api_response = api_instance.create_endpoint_test_label(aid=aid, label_request=label_request) - print("The response of EndpointTestApi->create_endpoint_test_label:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling EndpointTestApi->create_endpoint_test_label: %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] - **label_request** | [**LabelRequest**](LabelRequest.md)| Label resource | [optional] - -### Return type - -[**LabelDetail**](LabelDetail.md) - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/hal+json, application/json, application/problem+json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**201** | Created | * Location -
| -**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) - -# **delete_endpoint_test_label** -> delete_endpoint_test_label(label_id, aid=aid) - -Delete a Label object of type `endpoint-test` - -### Example - -* Bearer Authentication (BearerAuth): - -```python -import thousandeyes_sdk.labels -from thousandeyes_sdk.labels.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://api.thousandeyes.com -# See configuration.py for a list of all supported configuration parameters. -configuration = thousandeyes_sdk.core.Configuration( - host = "https://api.thousandeyes.com" -) - -# 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.labels.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = thousandeyes_sdk.labels.EndpointTestApi(api_client) - label_id = '961' # str | ID of the label to get - aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) - - try: - # Delete a Label object of type `endpoint-test` - api_instance.delete_endpoint_test_label(label_id, aid=aid) - except Exception as e: - print("Exception when calling EndpointTestApi->delete_endpoint_test_label: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **label_id** | **str**| ID of the label to get | - **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] - -### Return type - -void (empty response body) - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json, application/problem+json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**204** | No content | - | -**400** | Bad Request | - | -**401** | Unauthorized | - | -**403** | Insufficient permissions to query endpoint | - | -**404** | Not found | - | -**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_endpoint_test_label** -> LabelDetail get_endpoint_test_label(label_id, aid=aid) - -Get a Label object of type `endpoint-test` - -### Example - -* Bearer Authentication (BearerAuth): - -```python -import thousandeyes_sdk.labels -from thousandeyes_sdk.labels.models.label_detail import LabelDetail -from thousandeyes_sdk.labels.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://api.thousandeyes.com -# See configuration.py for a list of all supported configuration parameters. -configuration = thousandeyes_sdk.core.Configuration( - host = "https://api.thousandeyes.com" -) - -# 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.labels.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = thousandeyes_sdk.labels.EndpointTestApi(api_client) - label_id = '961' # str | ID of the label to get - 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 a Label object of type `endpoint-test` - api_response = api_instance.get_endpoint_test_label(label_id, aid=aid) - print("The response of EndpointTestApi->get_endpoint_test_label:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling EndpointTestApi->get_endpoint_test_label: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **label_id** | **str**| ID of the label to get | - **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 - -[**LabelDetail**](LabelDetail.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_endpoint_test_labels** -> Labels get_endpoint_test_labels(aid=aid) - -Get list of Labels of type `endpoint-test` - -Returns a list of all Endpoint Test labels (formerly called groups) configured in ThousandEyes. - -### Example - -* Bearer Authentication (BearerAuth): - -```python -import thousandeyes_sdk.labels -from thousandeyes_sdk.labels.models.labels import Labels -from thousandeyes_sdk.labels.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://api.thousandeyes.com -# See configuration.py for a list of all supported configuration parameters. -configuration = thousandeyes_sdk.core.Configuration( - host = "https://api.thousandeyes.com" -) - -# 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.labels.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = thousandeyes_sdk.labels.EndpointTestApi(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 list of Labels of type `endpoint-test` - api_response = api_instance.get_endpoint_test_labels(aid=aid) - print("The response of EndpointTestApi->get_endpoint_test_labels:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling EndpointTestApi->get_endpoint_test_labels: %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 - -[**Labels**](Labels.md) - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/hal+json, application/json, application/problem+json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | OK | - | -**400** | Bad Request | - | -**401** | Unauthorized | - | -**403** | Insufficient permissions to query endpoint | - | -**404** | Not found | - | -**429** | Exhausted rate limit for the organization | - | -**500** | Internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **update_endpoint_test_label** -> LabelDetail update_endpoint_test_label(label_id, aid=aid, label_request=label_request) - -Update a Label object of type `endpoint-test` - -### Example - -* Bearer Authentication (BearerAuth): - -```python -import thousandeyes_sdk.labels -from thousandeyes_sdk.labels.models.label_detail import LabelDetail -from thousandeyes_sdk.labels.models.label_request import LabelRequest -from thousandeyes_sdk.labels.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://api.thousandeyes.com -# See configuration.py for a list of all supported configuration parameters. -configuration = thousandeyes_sdk.core.Configuration( - host = "https://api.thousandeyes.com" -) - -# 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.labels.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = thousandeyes_sdk.labels.EndpointTestApi(api_client) - label_id = '961' # str | ID of the label to get - 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) - label_request = thousandeyes_sdk.labels.LabelRequest() # LabelRequest | (optional) - - try: - # Update a Label object of type `endpoint-test` - api_response = api_instance.update_endpoint_test_label(label_id, aid=aid, label_request=label_request) - print("The response of EndpointTestApi->update_endpoint_test_label:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling EndpointTestApi->update_endpoint_test_label: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **label_id** | **str**| ID of the label to get | - **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] - **label_request** | [**LabelRequest**](LabelRequest.md)| | [optional] - -### Return type - -[**LabelDetail**](LabelDetail.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 | - | -**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) - diff --git a/thousandeyes-sdk-labels/docs/Label.md b/thousandeyes-sdk-labels/docs/Label.md deleted file mode 100644 index 6a7af565..00000000 --- a/thousandeyes-sdk-labels/docs/Label.md +++ /dev/null @@ -1,32 +0,0 @@ -# Label - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**label_id** | **str** | Unique ID of the label; this number is negative for built-in labels. Query `/v7/labels/{type}/{id}` endpoint to see the list of agent/test/dashboard ids with this label. | [optional] -**is_built_in** | **bool** | `true` for built-in labels, and `false` for user-created labels. Note that built-in labels are read-only. | [optional] -**name** | **str** | The name of the new label - this must be unique. | [optional] -**type** | [**LabelType**](LabelType.md) | | [optional] - -## Example - -```python -from thousandeyes_sdk.labels.models.label import Label - -# TODO update the JSON string below -json = "{}" -# create an instance of Label from a JSON string -label_instance = Label.from_json(json) -# print the JSON string representation of the object -print(Label.to_json()) - -# convert the object into a dict -label_dict = label_instance.to_dict() -# create an instance of Label from a dict -label_from_dict = Label.from_dict(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) - - diff --git a/thousandeyes-sdk-labels/docs/LabelDetail.md b/thousandeyes-sdk-labels/docs/LabelDetail.md deleted file mode 100644 index f0f7197a..00000000 --- a/thousandeyes-sdk-labels/docs/LabelDetail.md +++ /dev/null @@ -1,34 +0,0 @@ -# LabelDetail - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**label_id** | **str** | Unique ID of the label; this number is negative for built-in labels. Query `/v7/labels/{type}/{id}` endpoint to see the list of agent/test/dashboard ids with this label. | [optional] -**is_built_in** | **bool** | `true` for built-in labels, and `false` for user-created labels. Note that built-in labels are read-only. | [optional] -**name** | **str** | The name of the new label - this must be unique. | [optional] -**type** | [**LabelType**](LabelType.md) | | [optional] -**ids** | **List[str]** | Array of agent/test/dashboard IDs the label is assigned to, depending on the type of label. | [optional] -**links** | [**SelfLinks**](SelfLinks.md) | | [optional] - -## Example - -```python -from thousandeyes_sdk.labels.models.label_detail import LabelDetail - -# TODO update the JSON string below -json = "{}" -# create an instance of LabelDetail from a JSON string -label_detail_instance = LabelDetail.from_json(json) -# print the JSON string representation of the object -print(LabelDetail.to_json()) - -# convert the object into a dict -label_detail_dict = label_detail_instance.to_dict() -# create an instance of LabelDetail from a dict -label_detail_from_dict = LabelDetail.from_dict(label_detail_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) - - diff --git a/thousandeyes-sdk-labels/docs/LabelRequest.md b/thousandeyes-sdk-labels/docs/LabelRequest.md deleted file mode 100644 index 0586b56a..00000000 --- a/thousandeyes-sdk-labels/docs/LabelRequest.md +++ /dev/null @@ -1,30 +0,0 @@ -# LabelRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**name** | **str** | The name of the new label - this must be unique. | [optional] -**ids** | **List[str]** | Array of agent/test/dashboard ids the label should be assigned to, depending on the type of label | [optional] - -## Example - -```python -from thousandeyes_sdk.labels.models.label_request import LabelRequest - -# TODO update the JSON string below -json = "{}" -# create an instance of LabelRequest from a JSON string -label_request_instance = LabelRequest.from_json(json) -# print the JSON string representation of the object -print(LabelRequest.to_json()) - -# convert the object into a dict -label_request_dict = label_request_instance.to_dict() -# create an instance of LabelRequest from a dict -label_request_from_dict = LabelRequest.from_dict(label_request_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) - - diff --git a/thousandeyes-sdk-labels/docs/LabelType.md b/thousandeyes-sdk-labels/docs/LabelType.md deleted file mode 100644 index c6a16c07..00000000 --- a/thousandeyes-sdk-labels/docs/LabelType.md +++ /dev/null @@ -1,12 +0,0 @@ -# LabelType - -Either `test`, `agent`, `endpoint-test`, `endpoint-agent` or `dashboard`, indicates the type of label. - -## 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) - - diff --git a/thousandeyes-sdk-labels/docs/TestApi.md b/thousandeyes-sdk-labels/docs/TestApi.md deleted file mode 100644 index 5be37443..00000000 --- a/thousandeyes-sdk-labels/docs/TestApi.md +++ /dev/null @@ -1,436 +0,0 @@ -# thousandeyes_sdk.labels.TestApi - -All URIs are relative to *https://api.thousandeyes.com* - -Method | HTTP request | Description -------------- | ------------- | ------------- -[**create_test_label**](TestApi.md#create_test_label) | **POST** /v7/labels/test | Create a Label of type `test` -[**delete_test_label**](TestApi.md#delete_test_label) | **DELETE** /v7/labels/test/{labelId} | Delete a Label object of type `test` -[**get_test_label**](TestApi.md#get_test_label) | **GET** /v7/labels/test/{labelId} | Get a Label object of type `test` -[**get_test_labels**](TestApi.md#get_test_labels) | **GET** /v7/labels/test | Get list of Labels of type `test` -[**update_test_label**](TestApi.md#update_test_label) | **PUT** /v7/labels/test/{labelId} | Update a Label object of type `test` - - -# **create_test_label** -> LabelDetail create_test_label(aid=aid, label_request=label_request) - -Create a Label of type `test` - -Creates a new label (formerly called group) in ThousandEyes, based on properties provided in the POST data. In order to create a new label, the user attempting the creation must have sufficient privileges to create labels. Regular users are blocked from using any of the POST-based methods. Note: When creating or updating a label and assigning `agent` or `test`, the user needs permission to modify the objects being added. - -### Example - -* Bearer Authentication (BearerAuth): - -```python -import thousandeyes_sdk.labels -from thousandeyes_sdk.labels.models.label_detail import LabelDetail -from thousandeyes_sdk.labels.models.label_request import LabelRequest -from thousandeyes_sdk.labels.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://api.thousandeyes.com -# See configuration.py for a list of all supported configuration parameters. -configuration = thousandeyes_sdk.core.Configuration( - host = "https://api.thousandeyes.com" -) - -# 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.labels.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = thousandeyes_sdk.labels.TestApi(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) - label_request = thousandeyes_sdk.labels.LabelRequest() # LabelRequest | Label resource (optional) - - try: - # Create a Label of type `test` - api_response = api_instance.create_test_label(aid=aid, label_request=label_request) - print("The response of TestApi->create_test_label:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling TestApi->create_test_label: %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] - **label_request** | [**LabelRequest**](LabelRequest.md)| Label resource | [optional] - -### Return type - -[**LabelDetail**](LabelDetail.md) - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/hal+json, application/json, application/problem+json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**201** | Created | * Location -
| -**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) - -# **delete_test_label** -> delete_test_label(label_id, aid=aid) - -Delete a Label object of type `test` - -### Example - -* Bearer Authentication (BearerAuth): - -```python -import thousandeyes_sdk.labels -from thousandeyes_sdk.labels.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://api.thousandeyes.com -# See configuration.py for a list of all supported configuration parameters. -configuration = thousandeyes_sdk.core.Configuration( - host = "https://api.thousandeyes.com" -) - -# 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.labels.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = thousandeyes_sdk.labels.TestApi(api_client) - label_id = '961' # str | ID of the label to get - aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) - - try: - # Delete a Label object of type `test` - api_instance.delete_test_label(label_id, aid=aid) - except Exception as e: - print("Exception when calling TestApi->delete_test_label: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **label_id** | **str**| ID of the label to get | - **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] - -### Return type - -void (empty response body) - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json, application/problem+json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**204** | No content | - | -**400** | Bad Request | - | -**401** | Unauthorized | - | -**403** | Insufficient permissions to query endpoint | - | -**404** | Not found | - | -**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_test_label** -> LabelDetail get_test_label(label_id, aid=aid) - -Get a Label object of type `test` - -### Example - -* Bearer Authentication (BearerAuth): - -```python -import thousandeyes_sdk.labels -from thousandeyes_sdk.labels.models.label_detail import LabelDetail -from thousandeyes_sdk.labels.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://api.thousandeyes.com -# See configuration.py for a list of all supported configuration parameters. -configuration = thousandeyes_sdk.core.Configuration( - host = "https://api.thousandeyes.com" -) - -# 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.labels.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = thousandeyes_sdk.labels.TestApi(api_client) - label_id = '961' # str | ID of the label to get - 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 a Label object of type `test` - api_response = api_instance.get_test_label(label_id, aid=aid) - print("The response of TestApi->get_test_label:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling TestApi->get_test_label: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **label_id** | **str**| ID of the label to get | - **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 - -[**LabelDetail**](LabelDetail.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_test_labels** -> Labels get_test_labels(aid=aid) - -Get list of Labels of type `test` - -Returns a list of all Test labels (formerly called groups) configured in ThousandEyes. - -### Example - -* Bearer Authentication (BearerAuth): - -```python -import thousandeyes_sdk.labels -from thousandeyes_sdk.labels.models.labels import Labels -from thousandeyes_sdk.labels.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://api.thousandeyes.com -# See configuration.py for a list of all supported configuration parameters. -configuration = thousandeyes_sdk.core.Configuration( - host = "https://api.thousandeyes.com" -) - -# 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.labels.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = thousandeyes_sdk.labels.TestApi(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 list of Labels of type `test` - api_response = api_instance.get_test_labels(aid=aid) - print("The response of TestApi->get_test_labels:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling TestApi->get_test_labels: %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 - -[**Labels**](Labels.md) - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/hal+json, application/json, application/problem+json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | OK | - | -**400** | Bad Request | - | -**401** | Unauthorized | - | -**403** | Insufficient permissions to query endpoint | - | -**404** | Not found | - | -**429** | Exhausted rate limit for the organization | - | -**500** | Internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **update_test_label** -> LabelDetail update_test_label(label_id, aid=aid, label_request=label_request) - -Update a Label object of type `test` - -### Example - -* Bearer Authentication (BearerAuth): - -```python -import thousandeyes_sdk.labels -from thousandeyes_sdk.labels.models.label_detail import LabelDetail -from thousandeyes_sdk.labels.models.label_request import LabelRequest -from thousandeyes_sdk.labels.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://api.thousandeyes.com -# See configuration.py for a list of all supported configuration parameters. -configuration = thousandeyes_sdk.core.Configuration( - host = "https://api.thousandeyes.com" -) - -# 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.labels.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = thousandeyes_sdk.labels.TestApi(api_client) - label_id = '961' # str | ID of the label to get - 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) - label_request = thousandeyes_sdk.labels.LabelRequest() # LabelRequest | (optional) - - try: - # Update a Label object of type `test` - api_response = api_instance.update_test_label(label_id, aid=aid, label_request=label_request) - print("The response of TestApi->update_test_label:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling TestApi->update_test_label: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **label_id** | **str**| ID of the label to get | - **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] - **label_request** | [**LabelRequest**](LabelRequest.md)| | [optional] - -### Return type - -[**LabelDetail**](LabelDetail.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 | - | -**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) - diff --git a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/__init__.py b/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/__init__.py deleted file mode 100644 index c599f2a0..00000000 --- a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/__init__.py +++ /dev/null @@ -1,36 +0,0 @@ -# coding: utf-8 - -# flake8: noqa - -""" - Labels API - - ### Overview This is API for the Labels API (formerly called groups). - - The version of the OpenAPI document: 7.0.8 - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -# import apis into sdk package -from thousandeyes_sdk.labels.api.agent_api import AgentApi -from thousandeyes_sdk.labels.api.all_labels_api import AllLabelsApi -from thousandeyes_sdk.labels.api.dashboard_api import DashboardApi -from thousandeyes_sdk.labels.api.endpoint_test_api import EndpointTestApi -from thousandeyes_sdk.labels.api.test_api import TestApi - - -# import models into sdk package -from thousandeyes_sdk.labels.models.error import Error -from thousandeyes_sdk.labels.models.label import Label -from thousandeyes_sdk.labels.models.label_detail import LabelDetail -from thousandeyes_sdk.labels.models.label_request import LabelRequest -from thousandeyes_sdk.labels.models.label_type import LabelType -from thousandeyes_sdk.labels.models.labels import Labels -from thousandeyes_sdk.labels.models.link import Link -from thousandeyes_sdk.labels.models.self_links import SelfLinks -from thousandeyes_sdk.labels.models.unauthorized_error import UnauthorizedError -from thousandeyes_sdk.labels.models.validation_error import ValidationError -from thousandeyes_sdk.labels.models.validation_error_item import ValidationErrorItem diff --git a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/api/__init__.py b/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/api/__init__.py deleted file mode 100644 index 55ff030e..00000000 --- a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/api/__init__.py +++ /dev/null @@ -1,9 +0,0 @@ -# flake8: noqa - -# import apis into api package -from thousandeyes_sdk.labels.api.agent_api import AgentApi -from thousandeyes_sdk.labels.api.all_labels_api import AllLabelsApi -from thousandeyes_sdk.labels.api.dashboard_api import DashboardApi -from thousandeyes_sdk.labels.api.endpoint_test_api import EndpointTestApi -from thousandeyes_sdk.labels.api.test_api import TestApi - diff --git a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/api/agent_api.py b/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/api/agent_api.py deleted file mode 100644 index 86a9e07e..00000000 --- a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/api/agent_api.py +++ /dev/null @@ -1,1546 +0,0 @@ -# coding: utf-8 - -""" - Labels API - - ### Overview This is API for the Labels API (formerly called groups). - - The version of the OpenAPI document: 7.0.8 - 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.labels.models - -from pydantic import Field, StrictStr -from typing import Optional -from typing_extensions import Annotated -from thousandeyes_sdk.labels.models.label_detail import LabelDetail -from thousandeyes_sdk.labels.models.label_request import LabelRequest -from thousandeyes_sdk.labels.models.labels import Labels - -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 AgentApi: - """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-labels")) - self.api_client = api_client - - - @validate_call - def create_agent_label( - 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, - label_request: Annotated[Optional[LabelRequest], Field(description="Label resource")] = 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, - ) -> LabelDetail: - """Create a Label of type `agent` - - Creates a new label (formerly called group) in ThousandEyes, based on properties provided in the POST data. You must have sufficient permissions to create a new label. Regular users are blocked from using any of the POST-based methods. Note: When creating or updating a label and assigning `agent` or `test`, the user needs permission to modify the objects being added. - - :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 label_request: Label resource - :type label_request: LabelRequest - :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._create_agent_label_serialize( - aid=aid, - label_request=label_request, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '201': "LabelDetail", - '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.labels.models, - ).data - - - @validate_call - def create_agent_label_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, - label_request: Annotated[Optional[LabelRequest], Field(description="Label resource")] = 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[LabelDetail]: - """Create a Label of type `agent` - - Creates a new label (formerly called group) in ThousandEyes, based on properties provided in the POST data. You must have sufficient permissions to create a new label. Regular users are blocked from using any of the POST-based methods. Note: When creating or updating a label and assigning `agent` or `test`, the user needs permission to modify the objects being added. - - :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 label_request: Label resource - :type label_request: LabelRequest - :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._create_agent_label_serialize( - aid=aid, - label_request=label_request, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '201': "LabelDetail", - '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.labels.models, - ) - - - @validate_call - def create_agent_label_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, - label_request: Annotated[Optional[LabelRequest], Field(description="Label resource")] = 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: - """Create a Label of type `agent` - - Creates a new label (formerly called group) in ThousandEyes, based on properties provided in the POST data. You must have sufficient permissions to create a new label. Regular users are blocked from using any of the POST-based methods. Note: When creating or updating a label and assigning `agent` or `test`, the user needs permission to modify the objects being added. - - :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 label_request: Label resource - :type label_request: LabelRequest - :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._create_agent_label_serialize( - aid=aid, - label_request=label_request, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '201': "LabelDetail", - '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 _create_agent_label_serialize( - self, - aid, - label_request, - _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 - if label_request is not None: - _body_params = label_request - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/hal+json', - 'application/json', - 'application/problem+json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - 'BearerAuth' - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/v7/labels/agent', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def delete_agent_label( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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, - ) -> None: - """Delete a Label object of type `agent` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param _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._delete_agent_label_serialize( - label_id=label_id, - aid=aid, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '204': None, - '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.labels.models, - ).data - - - @validate_call - def delete_agent_label_with_http_info( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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[None]: - """Delete a Label object of type `agent` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param _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._delete_agent_label_serialize( - label_id=label_id, - aid=aid, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '204': None, - '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.labels.models, - ) - - - @validate_call - def delete_agent_label_without_preload_content( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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: - """Delete a Label object of type `agent` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param _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._delete_agent_label_serialize( - label_id=label_id, - aid=aid, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '204': None, - '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 _delete_agent_label_serialize( - self, - label_id, - 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 - if label_id is not None: - _path_params['labelId'] = label_id - # 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/json', - 'application/problem+json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - 'BearerAuth' - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/v7/labels/agent/{labelId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def get_agent_label( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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, - ) -> LabelDetail: - """Get a Label object of type `agent` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param _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_agent_label_serialize( - label_id=label_id, - aid=aid, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "LabelDetail", - '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.labels.models, - ).data - - - @validate_call - def get_agent_label_with_http_info( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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[LabelDetail]: - """Get a Label object of type `agent` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param _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_agent_label_serialize( - label_id=label_id, - aid=aid, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "LabelDetail", - '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.labels.models, - ) - - - @validate_call - def get_agent_label_without_preload_content( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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: - """Get a Label object of type `agent` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param _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_agent_label_serialize( - label_id=label_id, - aid=aid, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "LabelDetail", - '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_agent_label_serialize( - self, - label_id, - 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 - if label_id is not None: - _path_params['labelId'] = label_id - # 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='/v7/labels/agent/{labelId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def get_agent_labels( - 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, - ) -> Labels: - """Get list of Labels of type `agent` - - Returns a list of all Agent labels (formerly called groups) configured in ThousandEyes. - - :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_agent_labels_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': "Labels", - '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.labels.models, - ).data - - - @validate_call - def get_agent_labels_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[Labels]: - """Get list of Labels of type `agent` - - Returns a list of all Agent labels (formerly called groups) configured in ThousandEyes. - - :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_agent_labels_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': "Labels", - '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.labels.models, - ) - - - @validate_call - def get_agent_labels_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: - """Get list of Labels of type `agent` - - Returns a list of all Agent labels (formerly called groups) configured in ThousandEyes. - - :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_agent_labels_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': "Labels", - '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_agent_labels_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='/v7/labels/agent', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def update_agent_label( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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, - label_request: Optional[LabelRequest] = 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, - ) -> LabelDetail: - """Update a Label object of type `agent` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param label_request: - :type label_request: LabelRequest - :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._update_agent_label_serialize( - label_id=label_id, - aid=aid, - label_request=label_request, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "LabelDetail", - '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.labels.models, - ).data - - - @validate_call - def update_agent_label_with_http_info( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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, - label_request: Optional[LabelRequest] = 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[LabelDetail]: - """Update a Label object of type `agent` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param label_request: - :type label_request: LabelRequest - :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._update_agent_label_serialize( - label_id=label_id, - aid=aid, - label_request=label_request, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "LabelDetail", - '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.labels.models, - ) - - - @validate_call - def update_agent_label_without_preload_content( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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, - label_request: Optional[LabelRequest] = 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: - """Update a Label object of type `agent` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param label_request: - :type label_request: LabelRequest - :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._update_agent_label_serialize( - label_id=label_id, - aid=aid, - label_request=label_request, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "LabelDetail", - '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 _update_agent_label_serialize( - self, - label_id, - aid, - label_request, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, Union[str, bytes]] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if label_id is not None: - _path_params['labelId'] = label_id - # 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 - if label_request is not None: - _body_params = label_request - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/hal+json', - 'application/json', - 'application/problem+json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - 'BearerAuth' - ] - - return self.api_client.param_serialize( - method='PUT', - resource_path='/v7/labels/agent/{labelId}', - 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 - ) - - diff --git a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/api/all_labels_api.py b/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/api/all_labels_api.py deleted file mode 100644 index b8659e29..00000000 --- a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/api/all_labels_api.py +++ /dev/null @@ -1,325 +0,0 @@ -# coding: utf-8 - -""" - Labels API - - ### Overview This is API for the Labels API (formerly called groups). - - The version of the OpenAPI document: 7.0.8 - 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.labels.models - -from pydantic import Field, StrictStr -from typing import Optional -from typing_extensions import Annotated -from thousandeyes_sdk.labels.models.labels import Labels - -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 AllLabelsApi: - """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-labels")) - self.api_client = api_client - - - @validate_call - def get_labels( - 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, - ) -> Labels: - """Get list of Labels - - Returns a list of all labels (formerly called groups) configured in ThousandEyes. - - :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_labels_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': "Labels", - '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.labels.models, - ).data - - - @validate_call - def get_labels_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[Labels]: - """Get list of Labels - - Returns a list of all labels (formerly called groups) configured in ThousandEyes. - - :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_labels_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': "Labels", - '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.labels.models, - ) - - - @validate_call - def get_labels_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: - """Get list of Labels - - Returns a list of all labels (formerly called groups) configured in ThousandEyes. - - :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_labels_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': "Labels", - '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_labels_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='/v7/labels', - 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 - ) - - diff --git a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/api/dashboard_api.py b/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/api/dashboard_api.py deleted file mode 100644 index 9e6061b9..00000000 --- a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/api/dashboard_api.py +++ /dev/null @@ -1,1546 +0,0 @@ -# coding: utf-8 - -""" - Labels API - - ### Overview This is API for the Labels API (formerly called groups). - - The version of the OpenAPI document: 7.0.8 - 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.labels.models - -from pydantic import Field, StrictStr -from typing import Optional -from typing_extensions import Annotated -from thousandeyes_sdk.labels.models.label_detail import LabelDetail -from thousandeyes_sdk.labels.models.label_request import LabelRequest -from thousandeyes_sdk.labels.models.labels import Labels - -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 DashboardApi: - """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-labels")) - self.api_client = api_client - - - @validate_call - def create_dashboard_label( - 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, - label_request: Annotated[Optional[LabelRequest], Field(description="Label resource")] = 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, - ) -> LabelDetail: - """Create a Label of type `dashboard` - - Creates a new label (formerly called group) in ThousandEyes, based on properties provided in the POST data. In order to create a new label, the user attempting the creation must have sufficient privileges to create labels. Regular users are blocked from using any of the POST-based methods. Note: When creating or updating a label and assigning agents or tests, the user needs permission to modify the objects being added. - - :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 label_request: Label resource - :type label_request: LabelRequest - :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._create_dashboard_label_serialize( - aid=aid, - label_request=label_request, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '201': "LabelDetail", - '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.labels.models, - ).data - - - @validate_call - def create_dashboard_label_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, - label_request: Annotated[Optional[LabelRequest], Field(description="Label resource")] = 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[LabelDetail]: - """Create a Label of type `dashboard` - - Creates a new label (formerly called group) in ThousandEyes, based on properties provided in the POST data. In order to create a new label, the user attempting the creation must have sufficient privileges to create labels. Regular users are blocked from using any of the POST-based methods. Note: When creating or updating a label and assigning agents or tests, the user needs permission to modify the objects being added. - - :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 label_request: Label resource - :type label_request: LabelRequest - :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._create_dashboard_label_serialize( - aid=aid, - label_request=label_request, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '201': "LabelDetail", - '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.labels.models, - ) - - - @validate_call - def create_dashboard_label_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, - label_request: Annotated[Optional[LabelRequest], Field(description="Label resource")] = 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: - """Create a Label of type `dashboard` - - Creates a new label (formerly called group) in ThousandEyes, based on properties provided in the POST data. In order to create a new label, the user attempting the creation must have sufficient privileges to create labels. Regular users are blocked from using any of the POST-based methods. Note: When creating or updating a label and assigning agents or tests, the user needs permission to modify the objects being added. - - :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 label_request: Label resource - :type label_request: LabelRequest - :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._create_dashboard_label_serialize( - aid=aid, - label_request=label_request, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '201': "LabelDetail", - '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 _create_dashboard_label_serialize( - self, - aid, - label_request, - _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 - if label_request is not None: - _body_params = label_request - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/hal+json', - 'application/json', - 'application/problem+json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - 'BearerAuth' - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/v7/labels/dashboard', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def delete_dashboard_label( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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, - ) -> None: - """Delete a Label object of type `dashboard` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param _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._delete_dashboard_label_serialize( - label_id=label_id, - aid=aid, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '204': None, - '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.labels.models, - ).data - - - @validate_call - def delete_dashboard_label_with_http_info( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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[None]: - """Delete a Label object of type `dashboard` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param _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._delete_dashboard_label_serialize( - label_id=label_id, - aid=aid, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '204': None, - '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.labels.models, - ) - - - @validate_call - def delete_dashboard_label_without_preload_content( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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: - """Delete a Label object of type `dashboard` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param _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._delete_dashboard_label_serialize( - label_id=label_id, - aid=aid, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '204': None, - '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 _delete_dashboard_label_serialize( - self, - label_id, - 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 - if label_id is not None: - _path_params['labelId'] = label_id - # 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/json', - 'application/problem+json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - 'BearerAuth' - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/v7/labels/dashboard/{labelId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def get_dashboard_label( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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, - ) -> LabelDetail: - """Get a Label object of type `dashboard` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param _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_dashboard_label_serialize( - label_id=label_id, - aid=aid, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "LabelDetail", - '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.labels.models, - ).data - - - @validate_call - def get_dashboard_label_with_http_info( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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[LabelDetail]: - """Get a Label object of type `dashboard` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param _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_dashboard_label_serialize( - label_id=label_id, - aid=aid, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "LabelDetail", - '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.labels.models, - ) - - - @validate_call - def get_dashboard_label_without_preload_content( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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: - """Get a Label object of type `dashboard` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param _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_dashboard_label_serialize( - label_id=label_id, - aid=aid, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "LabelDetail", - '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_dashboard_label_serialize( - self, - label_id, - 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 - if label_id is not None: - _path_params['labelId'] = label_id - # 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='/v7/labels/dashboard/{labelId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def get_dashboard_labels( - 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, - ) -> Labels: - """Get list of Labels of type `dashboard` - - Returns a list of all Dashboard labels (formerly called groups) configured in ThousandEyes. - - :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_dashboard_labels_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': "Labels", - '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.labels.models, - ).data - - - @validate_call - def get_dashboard_labels_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[Labels]: - """Get list of Labels of type `dashboard` - - Returns a list of all Dashboard labels (formerly called groups) configured in ThousandEyes. - - :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_dashboard_labels_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': "Labels", - '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.labels.models, - ) - - - @validate_call - def get_dashboard_labels_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: - """Get list of Labels of type `dashboard` - - Returns a list of all Dashboard labels (formerly called groups) configured in ThousandEyes. - - :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_dashboard_labels_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': "Labels", - '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_dashboard_labels_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='/v7/labels/dashboard', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def update_dashboard_label( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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, - label_request: Optional[LabelRequest] = 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, - ) -> LabelDetail: - """Update a Label object of type `dashboard` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param label_request: - :type label_request: LabelRequest - :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._update_dashboard_label_serialize( - label_id=label_id, - aid=aid, - label_request=label_request, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "LabelDetail", - '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.labels.models, - ).data - - - @validate_call - def update_dashboard_label_with_http_info( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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, - label_request: Optional[LabelRequest] = 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[LabelDetail]: - """Update a Label object of type `dashboard` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param label_request: - :type label_request: LabelRequest - :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._update_dashboard_label_serialize( - label_id=label_id, - aid=aid, - label_request=label_request, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "LabelDetail", - '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.labels.models, - ) - - - @validate_call - def update_dashboard_label_without_preload_content( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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, - label_request: Optional[LabelRequest] = 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: - """Update a Label object of type `dashboard` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param label_request: - :type label_request: LabelRequest - :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._update_dashboard_label_serialize( - label_id=label_id, - aid=aid, - label_request=label_request, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "LabelDetail", - '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 _update_dashboard_label_serialize( - self, - label_id, - aid, - label_request, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, Union[str, bytes]] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if label_id is not None: - _path_params['labelId'] = label_id - # 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 - if label_request is not None: - _body_params = label_request - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/hal+json', - 'application/json', - 'application/problem+json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - 'BearerAuth' - ] - - return self.api_client.param_serialize( - method='PUT', - resource_path='/v7/labels/dashboard/{labelId}', - 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 - ) - - diff --git a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/api/endpoint_test_api.py b/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/api/endpoint_test_api.py deleted file mode 100644 index c87f5ba6..00000000 --- a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/api/endpoint_test_api.py +++ /dev/null @@ -1,1546 +0,0 @@ -# coding: utf-8 - -""" - Labels API - - ### Overview This is API for the Labels API (formerly called groups). - - The version of the OpenAPI document: 7.0.8 - 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.labels.models - -from pydantic import Field, StrictStr -from typing import Optional -from typing_extensions import Annotated -from thousandeyes_sdk.labels.models.label_detail import LabelDetail -from thousandeyes_sdk.labels.models.label_request import LabelRequest -from thousandeyes_sdk.labels.models.labels import Labels - -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 EndpointTestApi: - """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-labels")) - self.api_client = api_client - - - @validate_call - def create_endpoint_test_label( - 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, - label_request: Annotated[Optional[LabelRequest], Field(description="Label resource")] = 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, - ) -> LabelDetail: - """Create a Label of type `endpoint-test` - - Creates a new label (formerly called group) in ThousandEyes, based on properties provided in the POST data. In order to create a new label, the user attempting the creation must have sufficient privileges to create labels. Regular users are blocked from using any of the POST-based methods. Note: When creating or updating a label and assigning agents or tests, the user needs permission to modify the objects being added. - - :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 label_request: Label resource - :type label_request: LabelRequest - :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._create_endpoint_test_label_serialize( - aid=aid, - label_request=label_request, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '201': "LabelDetail", - '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.labels.models, - ).data - - - @validate_call - def create_endpoint_test_label_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, - label_request: Annotated[Optional[LabelRequest], Field(description="Label resource")] = 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[LabelDetail]: - """Create a Label of type `endpoint-test` - - Creates a new label (formerly called group) in ThousandEyes, based on properties provided in the POST data. In order to create a new label, the user attempting the creation must have sufficient privileges to create labels. Regular users are blocked from using any of the POST-based methods. Note: When creating or updating a label and assigning agents or tests, the user needs permission to modify the objects being added. - - :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 label_request: Label resource - :type label_request: LabelRequest - :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._create_endpoint_test_label_serialize( - aid=aid, - label_request=label_request, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '201': "LabelDetail", - '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.labels.models, - ) - - - @validate_call - def create_endpoint_test_label_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, - label_request: Annotated[Optional[LabelRequest], Field(description="Label resource")] = 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: - """Create a Label of type `endpoint-test` - - Creates a new label (formerly called group) in ThousandEyes, based on properties provided in the POST data. In order to create a new label, the user attempting the creation must have sufficient privileges to create labels. Regular users are blocked from using any of the POST-based methods. Note: When creating or updating a label and assigning agents or tests, the user needs permission to modify the objects being added. - - :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 label_request: Label resource - :type label_request: LabelRequest - :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._create_endpoint_test_label_serialize( - aid=aid, - label_request=label_request, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '201': "LabelDetail", - '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 _create_endpoint_test_label_serialize( - self, - aid, - label_request, - _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 - if label_request is not None: - _body_params = label_request - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/hal+json', - 'application/json', - 'application/problem+json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - 'BearerAuth' - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/v7/labels/endpoint-test', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def delete_endpoint_test_label( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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, - ) -> None: - """Delete a Label object of type `endpoint-test` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param _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._delete_endpoint_test_label_serialize( - label_id=label_id, - aid=aid, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '204': None, - '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.labels.models, - ).data - - - @validate_call - def delete_endpoint_test_label_with_http_info( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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[None]: - """Delete a Label object of type `endpoint-test` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param _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._delete_endpoint_test_label_serialize( - label_id=label_id, - aid=aid, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '204': None, - '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.labels.models, - ) - - - @validate_call - def delete_endpoint_test_label_without_preload_content( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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: - """Delete a Label object of type `endpoint-test` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param _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._delete_endpoint_test_label_serialize( - label_id=label_id, - aid=aid, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '204': None, - '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 _delete_endpoint_test_label_serialize( - self, - label_id, - 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 - if label_id is not None: - _path_params['labelId'] = label_id - # 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/json', - 'application/problem+json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - 'BearerAuth' - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/v7/labels/endpoint-test/{labelId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def get_endpoint_test_label( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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, - ) -> LabelDetail: - """Get a Label object of type `endpoint-test` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param _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_endpoint_test_label_serialize( - label_id=label_id, - aid=aid, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "LabelDetail", - '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.labels.models, - ).data - - - @validate_call - def get_endpoint_test_label_with_http_info( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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[LabelDetail]: - """Get a Label object of type `endpoint-test` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param _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_endpoint_test_label_serialize( - label_id=label_id, - aid=aid, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "LabelDetail", - '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.labels.models, - ) - - - @validate_call - def get_endpoint_test_label_without_preload_content( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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: - """Get a Label object of type `endpoint-test` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param _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_endpoint_test_label_serialize( - label_id=label_id, - aid=aid, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "LabelDetail", - '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_endpoint_test_label_serialize( - self, - label_id, - 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 - if label_id is not None: - _path_params['labelId'] = label_id - # 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='/v7/labels/endpoint-test/{labelId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def get_endpoint_test_labels( - 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, - ) -> Labels: - """Get list of Labels of type `endpoint-test` - - Returns a list of all Endpoint Test labels (formerly called groups) configured in ThousandEyes. - - :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_endpoint_test_labels_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': "Labels", - '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.labels.models, - ).data - - - @validate_call - def get_endpoint_test_labels_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[Labels]: - """Get list of Labels of type `endpoint-test` - - Returns a list of all Endpoint Test labels (formerly called groups) configured in ThousandEyes. - - :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_endpoint_test_labels_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': "Labels", - '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.labels.models, - ) - - - @validate_call - def get_endpoint_test_labels_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: - """Get list of Labels of type `endpoint-test` - - Returns a list of all Endpoint Test labels (formerly called groups) configured in ThousandEyes. - - :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_endpoint_test_labels_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': "Labels", - '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_endpoint_test_labels_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='/v7/labels/endpoint-test', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def update_endpoint_test_label( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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, - label_request: Optional[LabelRequest] = 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, - ) -> LabelDetail: - """Update a Label object of type `endpoint-test` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param label_request: - :type label_request: LabelRequest - :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._update_endpoint_test_label_serialize( - label_id=label_id, - aid=aid, - label_request=label_request, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "LabelDetail", - '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.labels.models, - ).data - - - @validate_call - def update_endpoint_test_label_with_http_info( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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, - label_request: Optional[LabelRequest] = 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[LabelDetail]: - """Update a Label object of type `endpoint-test` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param label_request: - :type label_request: LabelRequest - :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._update_endpoint_test_label_serialize( - label_id=label_id, - aid=aid, - label_request=label_request, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "LabelDetail", - '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.labels.models, - ) - - - @validate_call - def update_endpoint_test_label_without_preload_content( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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, - label_request: Optional[LabelRequest] = 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: - """Update a Label object of type `endpoint-test` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param label_request: - :type label_request: LabelRequest - :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._update_endpoint_test_label_serialize( - label_id=label_id, - aid=aid, - label_request=label_request, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "LabelDetail", - '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 _update_endpoint_test_label_serialize( - self, - label_id, - aid, - label_request, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, Union[str, bytes]] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if label_id is not None: - _path_params['labelId'] = label_id - # 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 - if label_request is not None: - _body_params = label_request - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/hal+json', - 'application/json', - 'application/problem+json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - 'BearerAuth' - ] - - return self.api_client.param_serialize( - method='PUT', - resource_path='/v7/labels/endpoint-test/{labelId}', - 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 - ) - - diff --git a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/api/test_api.py b/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/api/test_api.py deleted file mode 100644 index 7ad98ef2..00000000 --- a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/api/test_api.py +++ /dev/null @@ -1,1546 +0,0 @@ -# coding: utf-8 - -""" - Labels API - - ### Overview This is API for the Labels API (formerly called groups). - - The version of the OpenAPI document: 7.0.8 - 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.labels.models - -from pydantic import Field, StrictStr -from typing import Optional -from typing_extensions import Annotated -from thousandeyes_sdk.labels.models.label_detail import LabelDetail -from thousandeyes_sdk.labels.models.label_request import LabelRequest -from thousandeyes_sdk.labels.models.labels import Labels - -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 TestApi: - """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-labels")) - self.api_client = api_client - - - @validate_call - def create_test_label( - 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, - label_request: Annotated[Optional[LabelRequest], Field(description="Label resource")] = 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, - ) -> LabelDetail: - """Create a Label of type `test` - - Creates a new label (formerly called group) in ThousandEyes, based on properties provided in the POST data. In order to create a new label, the user attempting the creation must have sufficient privileges to create labels. Regular users are blocked from using any of the POST-based methods. Note: When creating or updating a label and assigning `agent` or `test`, the user needs permission to modify the objects being added. - - :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 label_request: Label resource - :type label_request: LabelRequest - :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._create_test_label_serialize( - aid=aid, - label_request=label_request, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '201': "LabelDetail", - '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.labels.models, - ).data - - - @validate_call - def create_test_label_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, - label_request: Annotated[Optional[LabelRequest], Field(description="Label resource")] = 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[LabelDetail]: - """Create a Label of type `test` - - Creates a new label (formerly called group) in ThousandEyes, based on properties provided in the POST data. In order to create a new label, the user attempting the creation must have sufficient privileges to create labels. Regular users are blocked from using any of the POST-based methods. Note: When creating or updating a label and assigning `agent` or `test`, the user needs permission to modify the objects being added. - - :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 label_request: Label resource - :type label_request: LabelRequest - :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._create_test_label_serialize( - aid=aid, - label_request=label_request, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '201': "LabelDetail", - '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.labels.models, - ) - - - @validate_call - def create_test_label_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, - label_request: Annotated[Optional[LabelRequest], Field(description="Label resource")] = 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: - """Create a Label of type `test` - - Creates a new label (formerly called group) in ThousandEyes, based on properties provided in the POST data. In order to create a new label, the user attempting the creation must have sufficient privileges to create labels. Regular users are blocked from using any of the POST-based methods. Note: When creating or updating a label and assigning `agent` or `test`, the user needs permission to modify the objects being added. - - :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 label_request: Label resource - :type label_request: LabelRequest - :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._create_test_label_serialize( - aid=aid, - label_request=label_request, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '201': "LabelDetail", - '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 _create_test_label_serialize( - self, - aid, - label_request, - _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 - if label_request is not None: - _body_params = label_request - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/hal+json', - 'application/json', - 'application/problem+json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - 'BearerAuth' - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/v7/labels/test', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def delete_test_label( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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, - ) -> None: - """Delete a Label object of type `test` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param _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._delete_test_label_serialize( - label_id=label_id, - aid=aid, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '204': None, - '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.labels.models, - ).data - - - @validate_call - def delete_test_label_with_http_info( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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[None]: - """Delete a Label object of type `test` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param _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._delete_test_label_serialize( - label_id=label_id, - aid=aid, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '204': None, - '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.labels.models, - ) - - - @validate_call - def delete_test_label_without_preload_content( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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: - """Delete a Label object of type `test` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param _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._delete_test_label_serialize( - label_id=label_id, - aid=aid, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '204': None, - '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 _delete_test_label_serialize( - self, - label_id, - 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 - if label_id is not None: - _path_params['labelId'] = label_id - # 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/json', - 'application/problem+json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - 'BearerAuth' - ] - - return self.api_client.param_serialize( - method='DELETE', - resource_path='/v7/labels/test/{labelId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def get_test_label( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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, - ) -> LabelDetail: - """Get a Label object of type `test` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param _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_test_label_serialize( - label_id=label_id, - aid=aid, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "LabelDetail", - '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.labels.models, - ).data - - - @validate_call - def get_test_label_with_http_info( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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[LabelDetail]: - """Get a Label object of type `test` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param _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_test_label_serialize( - label_id=label_id, - aid=aid, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "LabelDetail", - '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.labels.models, - ) - - - @validate_call - def get_test_label_without_preload_content( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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: - """Get a Label object of type `test` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param _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_test_label_serialize( - label_id=label_id, - aid=aid, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "LabelDetail", - '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_test_label_serialize( - self, - label_id, - 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 - if label_id is not None: - _path_params['labelId'] = label_id - # 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='/v7/labels/test/{labelId}', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def get_test_labels( - 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, - ) -> Labels: - """Get list of Labels of type `test` - - Returns a list of all Test labels (formerly called groups) configured in ThousandEyes. - - :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_test_labels_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': "Labels", - '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.labels.models, - ).data - - - @validate_call - def get_test_labels_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[Labels]: - """Get list of Labels of type `test` - - Returns a list of all Test labels (formerly called groups) configured in ThousandEyes. - - :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_test_labels_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': "Labels", - '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.labels.models, - ) - - - @validate_call - def get_test_labels_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: - """Get list of Labels of type `test` - - Returns a list of all Test labels (formerly called groups) configured in ThousandEyes. - - :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_test_labels_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': "Labels", - '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_test_labels_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='/v7/labels/test', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def update_test_label( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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, - label_request: Optional[LabelRequest] = 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, - ) -> LabelDetail: - """Update a Label object of type `test` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param label_request: - :type label_request: LabelRequest - :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._update_test_label_serialize( - label_id=label_id, - aid=aid, - label_request=label_request, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "LabelDetail", - '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.labels.models, - ).data - - - @validate_call - def update_test_label_with_http_info( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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, - label_request: Optional[LabelRequest] = 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[LabelDetail]: - """Update a Label object of type `test` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param label_request: - :type label_request: LabelRequest - :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._update_test_label_serialize( - label_id=label_id, - aid=aid, - label_request=label_request, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "LabelDetail", - '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.labels.models, - ) - - - @validate_call - def update_test_label_without_preload_content( - self, - label_id: Annotated[StrictStr, Field(description="ID of the label to get")], - 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, - label_request: Optional[LabelRequest] = 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: - """Update a Label object of type `test` - - - :param label_id: ID of the label to get (required) - :type label_id: str - :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. - :type aid: str - :param label_request: - :type label_request: LabelRequest - :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._update_test_label_serialize( - label_id=label_id, - aid=aid, - label_request=label_request, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "LabelDetail", - '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 _update_test_label_serialize( - self, - label_id, - aid, - label_request, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[str, Union[str, bytes]] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - if label_id is not None: - _path_params['labelId'] = label_id - # 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 - if label_request is not None: - _body_params = label_request - - - # set the HTTP header `Accept` - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/hal+json', - 'application/json', - 'application/problem+json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - 'BearerAuth' - ] - - return self.api_client.param_serialize( - method='PUT', - resource_path='/v7/labels/test/{labelId}', - 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 - ) - - diff --git a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/__init__.py b/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/__init__.py deleted file mode 100644 index 90914006..00000000 --- a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/__init__.py +++ /dev/null @@ -1,27 +0,0 @@ -# coding: utf-8 - -# flake8: noqa -""" - Labels API - - ### Overview This is API for the Labels API (formerly called groups). - - The version of the OpenAPI document: 7.0.8 - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -# import models into model package -from thousandeyes_sdk.labels.models.error import Error -from thousandeyes_sdk.labels.models.label import Label -from thousandeyes_sdk.labels.models.label_detail import LabelDetail -from thousandeyes_sdk.labels.models.label_request import LabelRequest -from thousandeyes_sdk.labels.models.label_type import LabelType -from thousandeyes_sdk.labels.models.labels import Labels -from thousandeyes_sdk.labels.models.link import Link -from thousandeyes_sdk.labels.models.self_links import SelfLinks -from thousandeyes_sdk.labels.models.unauthorized_error import UnauthorizedError -from thousandeyes_sdk.labels.models.validation_error import ValidationError -from thousandeyes_sdk.labels.models.validation_error_item import ValidationErrorItem diff --git a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/label.py b/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/label.py deleted file mode 100644 index 43230094..00000000 --- a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/label.py +++ /dev/null @@ -1,95 +0,0 @@ -# coding: utf-8 - -""" - Labels API - - ### Overview This is API for the Labels API (formerly called groups). - - The version of the OpenAPI document: 7.0.8 - 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.labels.models.label_type import LabelType -from typing import Optional, Set -from typing_extensions import Self - -class Label(BaseModel): - """ - Label - """ # noqa: E501 - label_id: Optional[StrictStr] = Field(default=None, description="Unique ID of the label; this number is negative for built-in labels. Query `/v7/labels/{type}/{id}` endpoint to see the list of agent/test/dashboard ids with this label. ", alias="labelId") - is_built_in: Optional[StrictBool] = Field(default=None, description="`true` for built-in labels, and `false` for user-created labels. Note that built-in labels are read-only. ", alias="isBuiltIn") - name: Optional[StrictStr] = Field(default=None, description="The name of the new label - this must be unique.") - type: Optional[LabelType] = None - __properties: ClassVar[List[str]] = ["labelId", "isBuiltIn", "name", "type"] - - model_config = ConfigDict( - populate_by_name=True, - validate_assignment=True, - protected_namespaces=(), - extra="allow", - ) - - - def to_str(self) -> str: - """Returns the string representation of the model using alias""" - return pprint.pformat(self.model_dump(by_alias=True)) - - def to_json(self) -> str: - """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True) - - @classmethod - def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of Label 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 Label 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"), - "isBuiltIn": obj.get("isBuiltIn"), - "name": obj.get("name"), - "type": obj.get("type") - }) - return _obj - - diff --git a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/label_detail.py b/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/label_detail.py deleted file mode 100644 index 013d0324..00000000 --- a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/label_detail.py +++ /dev/null @@ -1,103 +0,0 @@ -# coding: utf-8 - -""" - Labels API - - ### Overview This is API for the Labels API (formerly called groups). - - The version of the OpenAPI document: 7.0.8 - 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.labels.models.label_type import LabelType -from thousandeyes_sdk.labels.models.self_links import SelfLinks -from typing import Optional, Set -from typing_extensions import Self - -class LabelDetail(BaseModel): - """ - LabelDetail - """ # noqa: E501 - label_id: Optional[StrictStr] = Field(default=None, description="Unique ID of the label; this number is negative for built-in labels. Query `/v7/labels/{type}/{id}` endpoint to see the list of agent/test/dashboard ids with this label. ", alias="labelId") - is_built_in: Optional[StrictBool] = Field(default=None, description="`true` for built-in labels, and `false` for user-created labels. Note that built-in labels are read-only. ", alias="isBuiltIn") - name: Optional[StrictStr] = Field(default=None, description="The name of the new label - this must be unique.") - type: Optional[LabelType] = None - ids: Optional[List[StrictStr]] = Field(default=None, description="Array of agent/test/dashboard IDs the label is assigned to, depending on the type of label.") - links: Optional[SelfLinks] = Field(default=None, alias="_links") - __properties: ClassVar[List[str]] = ["labelId", "isBuiltIn", "name", "type", "ids", "_links"] - - model_config = ConfigDict( - populate_by_name=True, - validate_assignment=True, - protected_namespaces=(), - extra="allow", - ) - - - def to_str(self) -> str: - """Returns the string representation of the model using alias""" - return pprint.pformat(self.model_dump(by_alias=True)) - - def to_json(self) -> str: - """Returns the JSON representation of the model using alias""" - # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead - return self.model_dump_json(by_alias=True, exclude_unset=True, exclude_none=True) - - @classmethod - def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of LabelDetail 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 links - if self.links: - _dict['_links'] = self.links.to_dict() - return _dict - - @classmethod - def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of LabelDetail 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"), - "isBuiltIn": obj.get("isBuiltIn"), - "name": obj.get("name"), - "type": obj.get("type"), - "ids": obj.get("ids"), - "_links": SelfLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None - }) - return _obj - - diff --git a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/label_type.py b/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/label_type.py deleted file mode 100644 index dbb3e196..00000000 --- a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/label_type.py +++ /dev/null @@ -1,40 +0,0 @@ -# coding: utf-8 - -""" - Labels API - - ### Overview This is API for the Labels API (formerly called groups). - - The version of the OpenAPI document: 7.0.8 - 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 LabelType(str, Enum): - """ - Either `test`, `agent`, `endpoint-test`, `endpoint-agent` or `dashboard`, indicates the type of label. - """ - - """ - allowed enum values - """ - AGENT = 'agent' - TEST = 'test' - ENDPOINT_MINUS_AGENT = 'endpoint-agent' - ENDPOINT_MINUS_TEST = 'endpoint-test' - DASHBOARD = 'dashboard' - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Create an instance of LabelType from a JSON string""" - return cls(json.loads(json_str)) - - diff --git a/thousandeyes-sdk-labels/test/test_agent_api.py b/thousandeyes-sdk-labels/test/test_agent_api.py deleted file mode 100644 index d1cce72b..00000000 --- a/thousandeyes-sdk-labels/test/test_agent_api.py +++ /dev/null @@ -1,174 +0,0 @@ -# coding: utf-8 - -""" - Labels API - - ### Overview This is API for the Labels API (formerly called groups). - - The version of the OpenAPI document: 7.0.8 - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import json -import unittest -import thousandeyes_sdk.labels.models - -from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.labels.api.agent_api import AgentApi - - -class TestAgentApi(unittest.TestCase): - """AgentApi unit test stubs""" - - def setUp(self) -> None: - self.api = AgentApi() - - def tearDown(self) -> None: - pass - - def test_create_agent_label_models_validation(self) -> None: - """Test case for create_agent_label request and response models""" - request_body_json = """ - { - "name" : "My new label", - "ids" : [ "5048", "1234" ] - }""" - - request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.labels.models.LabelRequest.from_json(request_body_json) - assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) - - response_body_json = """ - { - "labelId" : "961123", - "_links" : { - "self" : { - "hreflang" : "hreflang", - "templated" : true, - "profile" : "profile", - "name" : "name", - "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", - "type" : "type", - "deprecation" : "deprecation", - "title" : "title" - } - }, - "name" : "Label XYZ", - "ids" : [ "231286", "6317a3ca0d2bfc6ab882d6ce", "6317a3ca0d2bfc6ab882d6ca" ], - "isBuiltIn" : true, - "type" : "endpoint-test" - }""" - - response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.labels.models.LabelDetail.from_json(response_body_json) - assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) - - def test_delete_agent_label_models_validation(self) -> None: - """Test case for delete_agent_label request and response models""" - - - def test_get_agent_label_models_validation(self) -> None: - """Test case for get_agent_label request and response models""" - - response_body_json = """ - { - "labelId" : "961123", - "_links" : { - "self" : { - "hreflang" : "hreflang", - "templated" : true, - "profile" : "profile", - "name" : "name", - "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", - "type" : "type", - "deprecation" : "deprecation", - "title" : "title" - } - }, - "name" : "Label XYZ", - "ids" : [ "231286", "6317a3ca0d2bfc6ab882d6ce", "6317a3ca0d2bfc6ab882d6ca" ], - "isBuiltIn" : true, - "type" : "endpoint-test" - }""" - - response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.labels.models.LabelDetail.from_json(response_body_json) - assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) - - def test_get_agent_labels_models_validation(self) -> None: - """Test case for get_agent_labels 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" - } - }, - "labels" : [ { - "labelId" : "961123", - "name" : "Label XYZ", - "isBuiltIn" : true, - "type" : "endpoint-test" - }, { - "labelId" : "961123", - "name" : "Label XYZ", - "isBuiltIn" : true, - "type" : "endpoint-test" - } ] - }""" - - response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.labels.models.Labels.from_json(response_body_json) - assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) - - def test_update_agent_label_models_validation(self) -> None: - """Test case for update_agent_label request and response models""" - request_body_json = """ - { - "name" : "My new label", - "ids" : [ "5048", "1234" ] - }""" - - request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.labels.models.LabelRequest.from_json(request_body_json) - assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) - - response_body_json = """ - { - "labelId" : "961123", - "_links" : { - "self" : { - "hreflang" : "hreflang", - "templated" : true, - "profile" : "profile", - "name" : "name", - "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", - "type" : "type", - "deprecation" : "deprecation", - "title" : "title" - } - }, - "name" : "Label XYZ", - "ids" : [ "231286", "6317a3ca0d2bfc6ab882d6ce", "6317a3ca0d2bfc6ab882d6ca" ], - "isBuiltIn" : true, - "type" : "endpoint-test" - }""" - - response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.labels.models.LabelDetail.from_json(response_body_json) - assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) - - -if __name__ == '__main__': - unittest.main() diff --git a/thousandeyes-sdk-labels/test/test_all_labels_api.py b/thousandeyes-sdk-labels/test/test_all_labels_api.py deleted file mode 100644 index 93153652..00000000 --- a/thousandeyes-sdk-labels/test/test_all_labels_api.py +++ /dev/null @@ -1,68 +0,0 @@ -# coding: utf-8 - -""" - Labels API - - ### Overview This is API for the Labels API (formerly called groups). - - The version of the OpenAPI document: 7.0.8 - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import json -import unittest -import thousandeyes_sdk.labels.models - -from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.labels.api.all_labels_api import AllLabelsApi - - -class TestAllLabelsApi(unittest.TestCase): - """AllLabelsApi unit test stubs""" - - def setUp(self) -> None: - self.api = AllLabelsApi() - - def tearDown(self) -> None: - pass - - def test_get_labels_models_validation(self) -> None: - """Test case for get_labels 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" - } - }, - "labels" : [ { - "labelId" : "961123", - "name" : "Label XYZ", - "isBuiltIn" : true, - "type" : "endpoint-test" - }, { - "labelId" : "961123", - "name" : "Label XYZ", - "isBuiltIn" : true, - "type" : "endpoint-test" - } ] - }""" - - response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.labels.models.Labels.from_json(response_body_json) - assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) - - -if __name__ == '__main__': - unittest.main() diff --git a/thousandeyes-sdk-labels/test/test_dashboard_api.py b/thousandeyes-sdk-labels/test/test_dashboard_api.py deleted file mode 100644 index b1d63ea5..00000000 --- a/thousandeyes-sdk-labels/test/test_dashboard_api.py +++ /dev/null @@ -1,174 +0,0 @@ -# coding: utf-8 - -""" - Labels API - - ### Overview This is API for the Labels API (formerly called groups). - - The version of the OpenAPI document: 7.0.8 - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import json -import unittest -import thousandeyes_sdk.labels.models - -from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.labels.api.dashboard_api import DashboardApi - - -class TestDashboardApi(unittest.TestCase): - """DashboardApi unit test stubs""" - - def setUp(self) -> None: - self.api = DashboardApi() - - def tearDown(self) -> None: - pass - - def test_create_dashboard_label_models_validation(self) -> None: - """Test case for create_dashboard_label request and response models""" - request_body_json = """ - { - "name" : "My new label", - "ids" : [ "5048", "1234" ] - }""" - - request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.labels.models.LabelRequest.from_json(request_body_json) - assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) - - response_body_json = """ - { - "labelId" : "961123", - "_links" : { - "self" : { - "hreflang" : "hreflang", - "templated" : true, - "profile" : "profile", - "name" : "name", - "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", - "type" : "type", - "deprecation" : "deprecation", - "title" : "title" - } - }, - "name" : "Label XYZ", - "ids" : [ "231286", "6317a3ca0d2bfc6ab882d6ce", "6317a3ca0d2bfc6ab882d6ca" ], - "isBuiltIn" : true, - "type" : "endpoint-test" - }""" - - response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.labels.models.LabelDetail.from_json(response_body_json) - assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) - - def test_delete_dashboard_label_models_validation(self) -> None: - """Test case for delete_dashboard_label request and response models""" - - - def test_get_dashboard_label_models_validation(self) -> None: - """Test case for get_dashboard_label request and response models""" - - response_body_json = """ - { - "labelId" : "961123", - "_links" : { - "self" : { - "hreflang" : "hreflang", - "templated" : true, - "profile" : "profile", - "name" : "name", - "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", - "type" : "type", - "deprecation" : "deprecation", - "title" : "title" - } - }, - "name" : "Label XYZ", - "ids" : [ "231286", "6317a3ca0d2bfc6ab882d6ce", "6317a3ca0d2bfc6ab882d6ca" ], - "isBuiltIn" : true, - "type" : "endpoint-test" - }""" - - response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.labels.models.LabelDetail.from_json(response_body_json) - assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) - - def test_get_dashboard_labels_models_validation(self) -> None: - """Test case for get_dashboard_labels 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" - } - }, - "labels" : [ { - "labelId" : "961123", - "name" : "Label XYZ", - "isBuiltIn" : true, - "type" : "endpoint-test" - }, { - "labelId" : "961123", - "name" : "Label XYZ", - "isBuiltIn" : true, - "type" : "endpoint-test" - } ] - }""" - - response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.labels.models.Labels.from_json(response_body_json) - assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) - - def test_update_dashboard_label_models_validation(self) -> None: - """Test case for update_dashboard_label request and response models""" - request_body_json = """ - { - "name" : "My new label", - "ids" : [ "5048", "1234" ] - }""" - - request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.labels.models.LabelRequest.from_json(request_body_json) - assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) - - response_body_json = """ - { - "labelId" : "961123", - "_links" : { - "self" : { - "hreflang" : "hreflang", - "templated" : true, - "profile" : "profile", - "name" : "name", - "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", - "type" : "type", - "deprecation" : "deprecation", - "title" : "title" - } - }, - "name" : "Label XYZ", - "ids" : [ "231286", "6317a3ca0d2bfc6ab882d6ce", "6317a3ca0d2bfc6ab882d6ca" ], - "isBuiltIn" : true, - "type" : "endpoint-test" - }""" - - response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.labels.models.LabelDetail.from_json(response_body_json) - assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) - - -if __name__ == '__main__': - unittest.main() diff --git a/thousandeyes-sdk-labels/test/test_endpoint_test_api.py b/thousandeyes-sdk-labels/test/test_endpoint_test_api.py deleted file mode 100644 index fe5116ac..00000000 --- a/thousandeyes-sdk-labels/test/test_endpoint_test_api.py +++ /dev/null @@ -1,174 +0,0 @@ -# coding: utf-8 - -""" - Labels API - - ### Overview This is API for the Labels API (formerly called groups). - - The version of the OpenAPI document: 7.0.8 - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import json -import unittest -import thousandeyes_sdk.labels.models - -from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.labels.api.endpoint_test_api import EndpointTestApi - - -class TestEndpointTestApi(unittest.TestCase): - """EndpointTestApi unit test stubs""" - - def setUp(self) -> None: - self.api = EndpointTestApi() - - def tearDown(self) -> None: - pass - - def test_create_endpoint_test_label_models_validation(self) -> None: - """Test case for create_endpoint_test_label request and response models""" - request_body_json = """ - { - "name" : "My new label", - "ids" : [ "5048", "1234" ] - }""" - - request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.labels.models.LabelRequest.from_json(request_body_json) - assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) - - response_body_json = """ - { - "labelId" : "961123", - "_links" : { - "self" : { - "hreflang" : "hreflang", - "templated" : true, - "profile" : "profile", - "name" : "name", - "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", - "type" : "type", - "deprecation" : "deprecation", - "title" : "title" - } - }, - "name" : "Label XYZ", - "ids" : [ "231286", "6317a3ca0d2bfc6ab882d6ce", "6317a3ca0d2bfc6ab882d6ca" ], - "isBuiltIn" : true, - "type" : "endpoint-test" - }""" - - response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.labels.models.LabelDetail.from_json(response_body_json) - assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) - - def test_delete_endpoint_test_label_models_validation(self) -> None: - """Test case for delete_endpoint_test_label request and response models""" - - - def test_get_endpoint_test_label_models_validation(self) -> None: - """Test case for get_endpoint_test_label request and response models""" - - response_body_json = """ - { - "labelId" : "961123", - "_links" : { - "self" : { - "hreflang" : "hreflang", - "templated" : true, - "profile" : "profile", - "name" : "name", - "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", - "type" : "type", - "deprecation" : "deprecation", - "title" : "title" - } - }, - "name" : "Label XYZ", - "ids" : [ "231286", "6317a3ca0d2bfc6ab882d6ce", "6317a3ca0d2bfc6ab882d6ca" ], - "isBuiltIn" : true, - "type" : "endpoint-test" - }""" - - response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.labels.models.LabelDetail.from_json(response_body_json) - assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) - - def test_get_endpoint_test_labels_models_validation(self) -> None: - """Test case for get_endpoint_test_labels 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" - } - }, - "labels" : [ { - "labelId" : "961123", - "name" : "Label XYZ", - "isBuiltIn" : true, - "type" : "endpoint-test" - }, { - "labelId" : "961123", - "name" : "Label XYZ", - "isBuiltIn" : true, - "type" : "endpoint-test" - } ] - }""" - - response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.labels.models.Labels.from_json(response_body_json) - assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) - - def test_update_endpoint_test_label_models_validation(self) -> None: - """Test case for update_endpoint_test_label request and response models""" - request_body_json = """ - { - "name" : "My new label", - "ids" : [ "5048", "1234" ] - }""" - - request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.labels.models.LabelRequest.from_json(request_body_json) - assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) - - response_body_json = """ - { - "labelId" : "961123", - "_links" : { - "self" : { - "hreflang" : "hreflang", - "templated" : true, - "profile" : "profile", - "name" : "name", - "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", - "type" : "type", - "deprecation" : "deprecation", - "title" : "title" - } - }, - "name" : "Label XYZ", - "ids" : [ "231286", "6317a3ca0d2bfc6ab882d6ce", "6317a3ca0d2bfc6ab882d6ca" ], - "isBuiltIn" : true, - "type" : "endpoint-test" - }""" - - response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.labels.models.LabelDetail.from_json(response_body_json) - assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) - - -if __name__ == '__main__': - unittest.main() diff --git a/thousandeyes-sdk-labels/test/test_test_api.py b/thousandeyes-sdk-labels/test/test_test_api.py deleted file mode 100644 index cee1928d..00000000 --- a/thousandeyes-sdk-labels/test/test_test_api.py +++ /dev/null @@ -1,174 +0,0 @@ -# coding: utf-8 - -""" - Labels API - - ### Overview This is API for the Labels API (formerly called groups). - - The version of the OpenAPI document: 7.0.8 - Generated by OpenAPI Generator (https://openapi-generator.tech) - - Do not edit the class manually. -""" # noqa: E501 - - -import json -import unittest -import thousandeyes_sdk.labels.models - -from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.labels.api.test_api import TestApi - - -class TestTestApi(unittest.TestCase): - """TestApi unit test stubs""" - - def setUp(self) -> None: - self.api = TestApi() - - def tearDown(self) -> None: - pass - - def test_create_test_label_models_validation(self) -> None: - """Test case for create_test_label request and response models""" - request_body_json = """ - { - "name" : "My new label", - "ids" : [ "5048", "1234" ] - }""" - - request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.labels.models.LabelRequest.from_json(request_body_json) - assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) - - response_body_json = """ - { - "labelId" : "961123", - "_links" : { - "self" : { - "hreflang" : "hreflang", - "templated" : true, - "profile" : "profile", - "name" : "name", - "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", - "type" : "type", - "deprecation" : "deprecation", - "title" : "title" - } - }, - "name" : "Label XYZ", - "ids" : [ "231286", "6317a3ca0d2bfc6ab882d6ce", "6317a3ca0d2bfc6ab882d6ca" ], - "isBuiltIn" : true, - "type" : "endpoint-test" - }""" - - response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.labels.models.LabelDetail.from_json(response_body_json) - assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) - - def test_delete_test_label_models_validation(self) -> None: - """Test case for delete_test_label request and response models""" - - - def test_get_test_label_models_validation(self) -> None: - """Test case for get_test_label request and response models""" - - response_body_json = """ - { - "labelId" : "961123", - "_links" : { - "self" : { - "hreflang" : "hreflang", - "templated" : true, - "profile" : "profile", - "name" : "name", - "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", - "type" : "type", - "deprecation" : "deprecation", - "title" : "title" - } - }, - "name" : "Label XYZ", - "ids" : [ "231286", "6317a3ca0d2bfc6ab882d6ce", "6317a3ca0d2bfc6ab882d6ca" ], - "isBuiltIn" : true, - "type" : "endpoint-test" - }""" - - response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.labels.models.LabelDetail.from_json(response_body_json) - assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) - - def test_get_test_labels_models_validation(self) -> None: - """Test case for get_test_labels 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" - } - }, - "labels" : [ { - "labelId" : "961123", - "name" : "Label XYZ", - "isBuiltIn" : true, - "type" : "endpoint-test" - }, { - "labelId" : "961123", - "name" : "Label XYZ", - "isBuiltIn" : true, - "type" : "endpoint-test" - } ] - }""" - - response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.labels.models.Labels.from_json(response_body_json) - assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) - - def test_update_test_label_models_validation(self) -> None: - """Test case for update_test_label request and response models""" - request_body_json = """ - { - "name" : "My new label", - "ids" : [ "5048", "1234" ] - }""" - - request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.labels.models.LabelRequest.from_json(request_body_json) - assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) - - response_body_json = """ - { - "labelId" : "961123", - "_links" : { - "self" : { - "hreflang" : "hreflang", - "templated" : true, - "profile" : "profile", - "name" : "name", - "href" : "https://api.thousandeyes.com/v7/link/to/resource/id", - "type" : "type", - "deprecation" : "deprecation", - "title" : "title" - } - }, - "name" : "Label XYZ", - "ids" : [ "231286", "6317a3ca0d2bfc6ab882d6ce", "6317a3ca0d2bfc6ab882d6ca" ], - "isBuiltIn" : true, - "type" : "endpoint-test" - }""" - - response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.labels.models.LabelDetail.from_json(response_body_json) - assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) - - -if __name__ == '__main__': - unittest.main() diff --git a/thousandeyes-sdk-snapshots/.openapi-generator/FILES b/thousandeyes-sdk-snapshots/.openapi-generator/FILES index cfe9f55c..88c13d48 100644 --- a/thousandeyes-sdk-snapshots/.openapi-generator/FILES +++ b/thousandeyes-sdk-snapshots/.openapi-generator/FILES @@ -2,7 +2,6 @@ MANIFEST.in README.md docs/AppAndSelfLinks.md -docs/CreateTestSnapshotApi.md docs/Error.md docs/Link.md docs/SnapshotLinks.md @@ -12,6 +11,7 @@ docs/SnapshotTest.md docs/TestInterval.md docs/TestLinks.md docs/TestSelfLink.md +docs/TestSnapshotsApi.md docs/TestType.md docs/UnauthorizedError.md docs/UnexpandedInstantTest.md @@ -22,7 +22,7 @@ pyproject.toml setup.cfg src/thousandeyes_sdk/snapshots/__init__.py src/thousandeyes_sdk/snapshots/api/__init__.py -src/thousandeyes_sdk/snapshots/api/create_test_snapshot_api.py +src/thousandeyes_sdk/snapshots/api/test_snapshots_api.py src/thousandeyes_sdk/snapshots/models/__init__.py src/thousandeyes_sdk/snapshots/models/app_and_self_links.py src/thousandeyes_sdk/snapshots/models/error.py @@ -42,5 +42,5 @@ src/thousandeyes_sdk/snapshots/models/validation_error.py src/thousandeyes_sdk/snapshots/models/validation_error_item.py src/thousandeyes_sdk/snapshots/py.typed test/__init__.py -test/test_create_test_snapshot_api.py +test/test_test_snapshots_api.py test/test_utils.py diff --git a/thousandeyes-sdk-snapshots/README.md b/thousandeyes-sdk-snapshots/README.md index 0e1a40d9..09887aff 100644 --- a/thousandeyes-sdk-snapshots/README.md +++ b/thousandeyes-sdk-snapshots/README.md @@ -3,7 +3,7 @@ Creates a new test snapshot in ThousandEyes. This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 7.0.8 +- API version: 7.0.20 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator @@ -55,10 +55,10 @@ import thousandeyes_sdk.snapshots from thousandeyes_sdk.core.exceptions import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -75,28 +75,28 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.core.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.snapshots.CreateTestSnapshotApi(api_client) - test_id = '281474976710706' # str | Test ID. + api_instance = thousandeyes_sdk.snapshots.TestSnapshotsApi(api_client) + test_id = '202701' # str | Test ID snapshot_request = thousandeyes_sdk.snapshots.SnapshotRequest() # SnapshotRequest | aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) try: # Create test snapshot api_response = api_instance.create_test_snapshot(test_id, snapshot_request, aid=aid) - print("The response of CreateTestSnapshotApi->create_test_snapshot:\n") + print("The response of TestSnapshotsApi->create_test_snapshot:\n") pprint(api_response) except ApiException as e: - print("Exception when calling CreateTestSnapshotApi->create_test_snapshot: %s\n" % e) + print("Exception when calling TestSnapshotsApi->create_test_snapshot: %s\n" % e) ``` ## Documentation for API Endpoints -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- -*CreateTestSnapshotApi* | [**create_test_snapshot**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-snapshots/docs/CreateTestSnapshotApi.md#create_test_snapshot) | **POST** /v7/tests/{testId}/snapshot | Create test snapshot +*TestSnapshotsApi* | [**create_test_snapshot**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-snapshots/docs/TestSnapshotsApi.md#create_test_snapshot) | **POST** /tests/{testId}/snapshot | Create test snapshot ## Documentation For Models diff --git a/thousandeyes-sdk-snapshots/docs/CreateTestSnapshotApi.md b/thousandeyes-sdk-snapshots/docs/TestSnapshotsApi.md similarity index 72% rename from thousandeyes-sdk-snapshots/docs/CreateTestSnapshotApi.md rename to thousandeyes-sdk-snapshots/docs/TestSnapshotsApi.md index d153d80c..4bf848c2 100644 --- a/thousandeyes-sdk-snapshots/docs/CreateTestSnapshotApi.md +++ b/thousandeyes-sdk-snapshots/docs/TestSnapshotsApi.md @@ -1,10 +1,10 @@ -# thousandeyes_sdk.snapshots.CreateTestSnapshotApi +# thousandeyes_sdk.snapshots.TestSnapshotsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_test_snapshot**](CreateTestSnapshotApi.md#create_test_snapshot) | **POST** /v7/tests/{testId}/snapshot | Create test snapshot +[**create_test_snapshot**](TestSnapshotsApi.md#create_test_snapshot) | **POST** /tests/{testId}/snapshot | Create test snapshot # **create_test_snapshot** @@ -12,7 +12,7 @@ Method | HTTP request | Description Create test snapshot -This endpoint creates a test snapshot based on the properties provided in the POST data. * To use this endpoint, you need the `Create snapshot shares` permission. * You can create a maximum of 5 snapshots per organization within a 5-minute interval. * Snapshots generated through this endpoint have a 30-day expiration period. * The time range specified with the `from` and `to` parameters must adhere to one of the following intervals: 1, 2, 4, 6, 12, 24, or 48 hours. * The `endDate` field of the snapshot must be set to the present or a past date. **Note**: This endpoint does not support the creation of Endpoint Agent snapshots. +This operation creates a test snapshot based on the properties provided in the POST data. * To use this endpoint, you need the `Create snapshot shares` permission. * You can create a maximum of 5 snapshots per organization within a 5-minute interval. * Snapshots generated through this operation have a 30-day expiration period. * The time range specified with the `from` and `to` parameters must adhere to one of the following intervals: 1, 2, 4, 6, 12, 24, or 48 hours. * The `endDate` field of the snapshot must be set to the present or a past date. **Note**: This operation does not support the creation of operation Agent snapshots. ### Example @@ -25,10 +25,10 @@ from thousandeyes_sdk.snapshots.models.snapshot_response import SnapshotResponse from thousandeyes_sdk.snapshots.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -44,18 +44,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.snapshots.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.snapshots.CreateTestSnapshotApi(api_client) - test_id = '281474976710706' # str | Test ID. + api_instance = thousandeyes_sdk.snapshots.TestSnapshotsApi(api_client) + test_id = '202701' # str | Test ID snapshot_request = thousandeyes_sdk.snapshots.SnapshotRequest() # SnapshotRequest | aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) try: # Create test snapshot api_response = api_instance.create_test_snapshot(test_id, snapshot_request, aid=aid) - print("The response of CreateTestSnapshotApi->create_test_snapshot:\n") + print("The response of TestSnapshotsApi->create_test_snapshot:\n") pprint(api_response) except Exception as e: - print("Exception when calling CreateTestSnapshotApi->create_test_snapshot: %s\n" % e) + print("Exception when calling TestSnapshotsApi->create_test_snapshot: %s\n" % e) ``` @@ -65,7 +65,7 @@ with thousandeyes_sdk.snapshots.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| Test ID. | + **test_id** | **str**| Test ID | **snapshot_request** | [**SnapshotRequest**](SnapshotRequest.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] diff --git a/thousandeyes-sdk-snapshots/pyproject.toml b/thousandeyes-sdk-snapshots/pyproject.toml index d2542f3f..8f4e0a9c 100644 --- a/thousandeyes-sdk-snapshots/pyproject.toml +++ b/thousandeyes-sdk-snapshots/pyproject.toml @@ -9,9 +9,9 @@ description = "ThousandEyes SDK Test Snapshots API" license = { file = "LICENSE" } requires-python = ">= 3.8" dependencies = [ - "urllib3 >= 1.25.3", + "urllib3 >= 2.0.0", "python-dateutil >=2.8.2", - "pydantic >=2", + "pydantic >=2.1.0", "typing-extensions >=4.7.1", "thousandeyes-sdk-core", ] diff --git a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/__init__.py b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/__init__.py index 27b96125..9310ef5e 100644 --- a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/__init__.py +++ b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/__init__.py @@ -7,7 +7,6 @@ Creates a new test snapshot in ThousandEyes. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -15,7 +14,7 @@ # import apis into sdk package -from thousandeyes_sdk.snapshots.api.create_test_snapshot_api import CreateTestSnapshotApi +from thousandeyes_sdk.snapshots.api.test_snapshots_api import TestSnapshotsApi # import models into sdk package diff --git a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/api/__init__.py b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/api/__init__.py index a37c4762..625d4869 100644 --- a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/api/__init__.py +++ b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/api/__init__.py @@ -1,5 +1,5 @@ # flake8: noqa # import apis into api package -from thousandeyes_sdk.snapshots.api.create_test_snapshot_api import CreateTestSnapshotApi +from thousandeyes_sdk.snapshots.api.test_snapshots_api import TestSnapshotsApi diff --git a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/api/create_test_snapshot_api.py b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/api/test_snapshots_api.py similarity index 87% rename from thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/api/create_test_snapshot_api.py rename to thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/api/test_snapshots_api.py index a08a44ef..b17edfe1 100644 --- a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/api/create_test_snapshot_api.py +++ b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/api/test_snapshots_api.py @@ -5,7 +5,6 @@ Creates a new test snapshot in ThousandEyes. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -30,7 +29,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class CreateTestSnapshotApi: +class TestSnapshotsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -47,7 +46,7 @@ class CreateTestSnapshotApi: @validate_call def create_test_snapshot( self, - test_id: Annotated[StrictStr, Field(description="Test ID.")], + test_id: Annotated[StrictStr, Field(description="Test ID")], snapshot_request: SnapshotRequest, 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[ @@ -65,9 +64,9 @@ class CreateTestSnapshotApi: ) -> SnapshotResponse: """Create test snapshot - This endpoint creates a test snapshot based on the properties provided in the POST data. * To use this endpoint, you need the `Create snapshot shares` permission. * You can create a maximum of 5 snapshots per organization within a 5-minute interval. * Snapshots generated through this endpoint have a 30-day expiration period. * The time range specified with the `from` and `to` parameters must adhere to one of the following intervals: 1, 2, 4, 6, 12, 24, or 48 hours. * The `endDate` field of the snapshot must be set to the present or a past date. **Note**: This endpoint does not support the creation of Endpoint Agent snapshots. + This operation creates a test snapshot based on the properties provided in the POST data. * To use this endpoint, you need the `Create snapshot shares` permission. * You can create a maximum of 5 snapshots per organization within a 5-minute interval. * Snapshots generated through this operation have a 30-day expiration period. * The time range specified with the `from` and `to` parameters must adhere to one of the following intervals: 1, 2, 4, 6, 12, 24, or 48 hours. * The `endDate` field of the snapshot must be set to the present or a past date. **Note**: This operation does not support the creation of operation Agent snapshots. - :param test_id: Test ID. (required) + :param test_id: Test ID (required) :type test_id: str :param snapshot_request: (required) :type snapshot_request: SnapshotRequest @@ -130,7 +129,7 @@ class CreateTestSnapshotApi: @validate_call def create_test_snapshot_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="Test ID.")], + test_id: Annotated[StrictStr, Field(description="Test ID")], snapshot_request: SnapshotRequest, 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[ @@ -148,9 +147,9 @@ class CreateTestSnapshotApi: ) -> ApiResponse[SnapshotResponse]: """Create test snapshot - This endpoint creates a test snapshot based on the properties provided in the POST data. * To use this endpoint, you need the `Create snapshot shares` permission. * You can create a maximum of 5 snapshots per organization within a 5-minute interval. * Snapshots generated through this endpoint have a 30-day expiration period. * The time range specified with the `from` and `to` parameters must adhere to one of the following intervals: 1, 2, 4, 6, 12, 24, or 48 hours. * The `endDate` field of the snapshot must be set to the present or a past date. **Note**: This endpoint does not support the creation of Endpoint Agent snapshots. + This operation creates a test snapshot based on the properties provided in the POST data. * To use this endpoint, you need the `Create snapshot shares` permission. * You can create a maximum of 5 snapshots per organization within a 5-minute interval. * Snapshots generated through this operation have a 30-day expiration period. * The time range specified with the `from` and `to` parameters must adhere to one of the following intervals: 1, 2, 4, 6, 12, 24, or 48 hours. * The `endDate` field of the snapshot must be set to the present or a past date. **Note**: This operation does not support the creation of operation Agent snapshots. - :param test_id: Test ID. (required) + :param test_id: Test ID (required) :type test_id: str :param snapshot_request: (required) :type snapshot_request: SnapshotRequest @@ -213,7 +212,7 @@ class CreateTestSnapshotApi: @validate_call def create_test_snapshot_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="Test ID.")], + test_id: Annotated[StrictStr, Field(description="Test ID")], snapshot_request: SnapshotRequest, 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[ @@ -231,9 +230,9 @@ class CreateTestSnapshotApi: ) -> RESTResponseType: """Create test snapshot - This endpoint creates a test snapshot based on the properties provided in the POST data. * To use this endpoint, you need the `Create snapshot shares` permission. * You can create a maximum of 5 snapshots per organization within a 5-minute interval. * Snapshots generated through this endpoint have a 30-day expiration period. * The time range specified with the `from` and `to` parameters must adhere to one of the following intervals: 1, 2, 4, 6, 12, 24, or 48 hours. * The `endDate` field of the snapshot must be set to the present or a past date. **Note**: This endpoint does not support the creation of Endpoint Agent snapshots. + This operation creates a test snapshot based on the properties provided in the POST data. * To use this endpoint, you need the `Create snapshot shares` permission. * You can create a maximum of 5 snapshots per organization within a 5-minute interval. * Snapshots generated through this operation have a 30-day expiration period. * The time range specified with the `from` and `to` parameters must adhere to one of the following intervals: 1, 2, 4, 6, 12, 24, or 48 hours. * The `endDate` field of the snapshot must be set to the present or a past date. **Note**: This operation does not support the creation of operation Agent snapshots. - :param test_id: Test ID. (required) + :param test_id: Test ID (required) :type test_id: str :param snapshot_request: (required) :type snapshot_request: SnapshotRequest @@ -356,7 +355,7 @@ class CreateTestSnapshotApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tests/{testId}/snapshot', + resource_path='/tests/{testId}/snapshot', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/__init__.py b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/__init__.py index 05180eee..d92c8105 100644 --- a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/__init__.py +++ b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/__init__.py @@ -6,7 +6,6 @@ Creates a new test snapshot in ThousandEyes. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/app_and_self_links.py b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/app_and_self_links.py index 2e3400ba..629aa8d9 100644 --- a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/app_and_self_links.py +++ b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/app_and_self_links.py @@ -5,7 +5,6 @@ Creates a new test snapshot in ThousandEyes. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/error.py b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/error.py index ea79690c..c975981d 100644 --- a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/error.py +++ b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/error.py @@ -5,7 +5,6 @@ Creates a new test snapshot in ThousandEyes. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/link.py b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/link.py index 8f2e4a26..9ac33464 100644 --- a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/link.py +++ b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/link.py @@ -5,7 +5,6 @@ Creates a new test snapshot in ThousandEyes. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/snapshot_links.py b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/snapshot_links.py index de5e9534..9db0d9ad 100644 --- a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/snapshot_links.py +++ b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/snapshot_links.py @@ -5,7 +5,6 @@ Creates a new test snapshot in ThousandEyes. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/snapshot_request.py b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/snapshot_request.py index 49ef93a8..f36eaf5e 100644 --- a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/snapshot_request.py +++ b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/snapshot_request.py @@ -5,7 +5,6 @@ Creates a new test snapshot in ThousandEyes. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/snapshot_response.py b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/snapshot_response.py index 9aca238d..838c8daa 100644 --- a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/snapshot_response.py +++ b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/snapshot_response.py @@ -5,7 +5,6 @@ Creates a new test snapshot in ThousandEyes. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/snapshot_test.py b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/snapshot_test.py index 8d199c74..05fdf367 100644 --- a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/snapshot_test.py +++ b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/snapshot_test.py @@ -5,7 +5,6 @@ Creates a new test snapshot in ThousandEyes. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/test_interval.py b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/test_interval.py index 22b61679..adb7b435 100644 --- a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/test_interval.py +++ b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/test_interval.py @@ -5,7 +5,6 @@ Creates a new test snapshot in ThousandEyes. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -33,10 +32,15 @@ class TestInterval(int, Enum): NUMBER_900 = 900 NUMBER_1800 = 1800 NUMBER_3600 = 3600 + NUMBER_11184809 = 11184809 @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestInterval from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/test_links.py b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/test_links.py index 319af22a..fe910317 100644 --- a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/test_links.py +++ b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/test_links.py @@ -5,7 +5,6 @@ Creates a new test snapshot in ThousandEyes. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/test_self_link.py b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/test_self_link.py index 0d525d85..eb63162a 100644 --- a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/test_self_link.py +++ b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/test_self_link.py @@ -5,7 +5,6 @@ Creates a new test snapshot in ThousandEyes. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/test_type.py b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/test_type.py index bf572e9e..8b1fa77f 100644 --- a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/test_type.py +++ b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/test_type.py @@ -5,7 +5,6 @@ Creates a new test snapshot in ThousandEyes. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -39,10 +38,15 @@ class TestType(str, Enum): DNSSEC = 'dnssec' SIP_MINUS_SERVER = 'sip-server' VOICE = 'voice' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/unauthorized_error.py b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/unauthorized_error.py index a8ef7e56..f4634448 100644 --- a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/unauthorized_error.py +++ b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/unauthorized_error.py @@ -5,7 +5,6 @@ Creates a new test snapshot in ThousandEyes. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/unexpanded_instant_test.py b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/unexpanded_instant_test.py index 71b06b67..45c6e1cf 100644 --- a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/unexpanded_instant_test.py +++ b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/unexpanded_instant_test.py @@ -5,7 +5,6 @@ Creates a new test snapshot in ThousandEyes. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/unexpanded_test.py b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/unexpanded_test.py index 72be80a5..8d78aebd 100644 --- a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/unexpanded_test.py +++ b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/unexpanded_test.py @@ -5,7 +5,6 @@ Creates a new test snapshot in ThousandEyes. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/validation_error.py b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/validation_error.py index 0a7efcd8..d7ab207a 100644 --- a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/validation_error.py +++ b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/validation_error.py @@ -5,7 +5,6 @@ Creates a new test snapshot in ThousandEyes. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/validation_error_item.py b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/validation_error_item.py index df0f2cdd..271c6d65 100644 --- a/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/validation_error_item.py +++ b/thousandeyes-sdk-snapshots/src/thousandeyes_sdk/snapshots/models/validation_error_item.py @@ -5,7 +5,6 @@ Creates a new test snapshot in ThousandEyes. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-snapshots/test/test_create_test_snapshot_api.py b/thousandeyes-sdk-snapshots/test/test_test_snapshots_api.py similarity index 93% rename from thousandeyes-sdk-snapshots/test/test_create_test_snapshot_api.py rename to thousandeyes-sdk-snapshots/test/test_test_snapshots_api.py index 524ad903..d24a35cb 100644 --- a/thousandeyes-sdk-snapshots/test/test_create_test_snapshot_api.py +++ b/thousandeyes-sdk-snapshots/test/test_test_snapshots_api.py @@ -5,7 +5,6 @@ Creates a new test snapshot in ThousandEyes. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.snapshots.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.snapshots.api.create_test_snapshot_api import CreateTestSnapshotApi +from thousandeyes_sdk.snapshots.api.test_snapshots_api import TestSnapshotsApi -class TestCreateTestSnapshotApi(unittest.TestCase): - """CreateTestSnapshotApi unit test stubs""" +class TestTestSnapshotsApi(unittest.TestCase): + """TestSnapshotsApi unit test stubs""" def setUp(self) -> None: - self.api = CreateTestSnapshotApi() + self.api = TestSnapshotsApi() def tearDown(self) -> None: pass @@ -73,7 +72,7 @@ class TestCreateTestSnapshotApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, diff --git a/thousandeyes-sdk-streaming/.openapi-generator/FILES b/thousandeyes-sdk-streaming/.openapi-generator/FILES index 7d5d932e..d2e4ae8f 100644 --- a/thousandeyes-sdk-streaming/.openapi-generator/FILES +++ b/thousandeyes-sdk-streaming/.openapi-generator/FILES @@ -7,7 +7,10 @@ docs/AuditOperation.md docs/AuditOperationWithUpdate.md docs/BadRequestError.md docs/CreateStreamResponse.md +docs/DataModelVersion.md docs/EndpointType.md +docs/ExporterConfig.md +docs/ExporterConfigSplunkHec.md docs/GetStreamResponse.md docs/PutStream.md docs/Stream.md @@ -33,7 +36,10 @@ src/thousandeyes_sdk/streaming/models/audit_operation.py src/thousandeyes_sdk/streaming/models/audit_operation_with_update.py src/thousandeyes_sdk/streaming/models/bad_request_error.py src/thousandeyes_sdk/streaming/models/create_stream_response.py +src/thousandeyes_sdk/streaming/models/data_model_version.py src/thousandeyes_sdk/streaming/models/endpoint_type.py +src/thousandeyes_sdk/streaming/models/exporter_config.py +src/thousandeyes_sdk/streaming/models/exporter_config_splunk_hec.py src/thousandeyes_sdk/streaming/models/get_stream_response.py src/thousandeyes_sdk/streaming/models/put_stream.py src/thousandeyes_sdk/streaming/models/stream.py diff --git a/thousandeyes-sdk-streaming/README.md b/thousandeyes-sdk-streaming/README.md index cb4e0c37..3f9823fe 100644 --- a/thousandeyes-sdk-streaming/README.md +++ b/thousandeyes-sdk-streaming/README.md @@ -15,7 +15,7 @@ For more information about ThousandEyes for OpenTelemetry, see the [documentatio This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 7.0.8 +- API version: 7.0.20 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator @@ -67,10 +67,10 @@ import thousandeyes_sdk.streaming from thousandeyes_sdk.core.exceptions import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -103,15 +103,15 @@ with thousandeyes_sdk.core.ApiClient(configuration) as api_client: ## Documentation for API Endpoints -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- -*StreamingApi* | [**create_stream**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/StreamingApi.md#create_stream) | **POST** /v7/stream | Create data stream -*StreamingApi* | [**delete_stream**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/StreamingApi.md#delete_stream) | **DELETE** /v7/stream/{id} | Delete a data stream -*StreamingApi* | [**get_stream**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/StreamingApi.md#get_stream) | **GET** /v7/stream/{id} | Retrieve data stream -*StreamingApi* | [**get_streams**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/StreamingApi.md#get_streams) | **GET** /v7/stream | List data streams -*StreamingApi* | [**update_stream**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/StreamingApi.md#update_stream) | **PUT** /v7/stream/{id} | Update data stream +*StreamingApi* | [**create_stream**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/StreamingApi.md#create_stream) | **POST** /stream | Create data stream +*StreamingApi* | [**delete_stream**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/StreamingApi.md#delete_stream) | **DELETE** /stream/{id} | Delete a data stream +*StreamingApi* | [**get_stream**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/StreamingApi.md#get_stream) | **GET** /stream/{id} | Retrieve data stream +*StreamingApi* | [**get_streams**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/StreamingApi.md#get_streams) | **GET** /stream | List data streams +*StreamingApi* | [**update_stream**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/StreamingApi.md#update_stream) | **PUT** /stream/{id} | Update data stream ## Documentation For Models @@ -122,7 +122,10 @@ Class | Method | HTTP request | Description - [AuditOperationWithUpdate](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/AuditOperationWithUpdate.md) - [BadRequestError](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/BadRequestError.md) - [CreateStreamResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/CreateStreamResponse.md) + - [DataModelVersion](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/DataModelVersion.md) - [EndpointType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/EndpointType.md) + - [ExporterConfig](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/ExporterConfig.md) + - [ExporterConfigSplunkHec](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/ExporterConfigSplunkHec.md) - [GetStreamResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/GetStreamResponse.md) - [PutStream](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/PutStream.md) - [Stream](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-streaming/docs/Stream.md) diff --git a/thousandeyes-sdk-streaming/docs/CreateStreamResponse.md b/thousandeyes-sdk-streaming/docs/CreateStreamResponse.md index 682f8ef4..4bb37aa1 100644 --- a/thousandeyes-sdk-streaming/docs/CreateStreamResponse.md +++ b/thousandeyes-sdk-streaming/docs/CreateStreamResponse.md @@ -10,10 +10,12 @@ Name | Type | Description | Notes **links** | [**StreamLinks**](StreamLinks.md) | | [optional] **type** | [**StreamType**](StreamType.md) | | [optional] **endpoint_type** | [**EndpointType**](EndpointType.md) | | [optional] -**stream_endpoint_url** | **str** | The URL ThousandEyes sends data stream to. For a URL to be valid, it needs to: - Be syntactically correct. - Be reachable. - Use the HTTPS protocol. - When using the `grpc` endpointType, streamEndpointUrl cannot contain paths: - Valid . `grpc` - `https://example.com` - Invalid . `grpc` - `https://example.com/collector`. - Valid . `http` - `https://example.com/collector`. - When using the `http` endpointType, the endpoint must match the exact final full URL (including the path if there is one) to which the metrics will be sent. Examples below: - `https://api.honeycomb.io:443/v1/metrics` - `https://ingest.eu0.signalfx.com/v2/datapoint/otlp` | [optional] +**stream_endpoint_url** | **str** | The URL ThousandEyes sends data stream to. For a URL to be valid, it needs to: - Be syntactically correct. - Be reachable. - Use the HTTPS protocol. - When using the `grpc` endpointType, streamEndpointUrl cannot contain paths: - Valid . `grpc` - `https://example.com` - Invalid . `grpc` - `https://example.com/collector`. - Valid . `http` - `https://example.com/collector`. - When using the `http` endpointType, the operation must match the exact final full URL (including the path if there is one) to which the metrics will be sent. Examples below: - `https://api.honeycomb.io:443/v1/metrics` - `https://ingest.eu0.signalfx.com/v2/datapoint/otlp` | [optional] +**data_model_version** | [**DataModelVersion**](DataModelVersion.md) | | [optional] **custom_headers** | **Dict[str, str]** | Custom headers. **Note**: When using the `splunk-hec` `type`, the `customHeaders` must contain just one element with the key `token` and the value of the *Splunk HEC Token*. | [optional] **tag_match** | [**List[TagMatch]**](TagMatch.md) | A collection of tags that determine what tests are included in the data stream. These tag values are also included as attributes in the data stream metrics. | [optional] **test_match** | [**List[TestMatch]**](TestMatch.md) | A collection of tests to be included in the data stream. | [optional] +**exporter_config** | [**ExporterConfig**](ExporterConfig.md) | | [optional] **audit_operation** | [**AuditOperation**](AuditOperation.md) | | [optional] ## Example diff --git a/thousandeyes-sdk-streaming/docs/DataModelVersion.md b/thousandeyes-sdk-streaming/docs/DataModelVersion.md new file mode 100644 index 00000000..34b29b05 --- /dev/null +++ b/thousandeyes-sdk-streaming/docs/DataModelVersion.md @@ -0,0 +1,12 @@ +# DataModelVersion + +The version of the data model used in the data stream. Default: `v2` + +## 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) + + diff --git a/thousandeyes-sdk-streaming/docs/EndpointType.md b/thousandeyes-sdk-streaming/docs/EndpointType.md index 63f3400a..60337e35 100644 --- a/thousandeyes-sdk-streaming/docs/EndpointType.md +++ b/thousandeyes-sdk-streaming/docs/EndpointType.md @@ -1,6 +1,6 @@ # EndpointType -The type of connection used to send data to the endpoint. **Note**: When using the `splunk-hec` 'type', the `EndpointType` must be `http`. +The type of connection used to send data to the endpoint. Default: `grpc` **Note**: When using the `splunk-hec` 'type', the `EndpointType` must be `http`. ## Properties diff --git a/thousandeyes-sdk-streaming/docs/ExporterConfig.md b/thousandeyes-sdk-streaming/docs/ExporterConfig.md new file mode 100644 index 00000000..d49c4274 --- /dev/null +++ b/thousandeyes-sdk-streaming/docs/ExporterConfig.md @@ -0,0 +1,30 @@ +# ExporterConfig + +Capability to set exporter configuration. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**splunk_hec** | [**ExporterConfigSplunkHec**](ExporterConfigSplunkHec.md) | | [optional] + +## Example + +```python +from thousandeyes_sdk.streaming.models.exporter_config import ExporterConfig + +# TODO update the JSON string below +json = "{}" +# create an instance of ExporterConfig from a JSON string +exporter_config_instance = ExporterConfig.from_json(json) +# print the JSON string representation of the object +print(ExporterConfig.to_json()) + +# convert the object into a dict +exporter_config_dict = exporter_config_instance.to_dict() +# create an instance of ExporterConfig from a dict +exporter_config_from_dict = ExporterConfig.from_dict(exporter_config_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) + + diff --git a/thousandeyes-sdk-streaming/docs/ExporterConfigSplunkHec.md b/thousandeyes-sdk-streaming/docs/ExporterConfigSplunkHec.md new file mode 100644 index 00000000..90394d33 --- /dev/null +++ b/thousandeyes-sdk-streaming/docs/ExporterConfigSplunkHec.md @@ -0,0 +1,33 @@ +# ExporterConfigSplunkHec + +Splunk HEC configuration. This can only be configured when the `type` is `splunk-hec`. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**token** | **str** | The Splunk HEC `token`. This is a required field. | [optional] +**source** | **str** | The Splunk HEC `source`. This field is optional. Default: `ThousandEyesOTel` | [optional] [default to 'ThousandEyesOTel'] +**source_type** | **str** | The Splunk HEC `sourceType`. This field is optional. Default: `ThousandEyesOTel` | [optional] [default to 'ThousandEyesOTel'] +**index** | **str** | The name of the Splunk HEC index where the event data will be stored. This field is optional. | [optional] + +## Example + +```python +from thousandeyes_sdk.streaming.models.exporter_config_splunk_hec import ExporterConfigSplunkHec + +# TODO update the JSON string below +json = "{}" +# create an instance of ExporterConfigSplunkHec from a JSON string +exporter_config_splunk_hec_instance = ExporterConfigSplunkHec.from_json(json) +# print the JSON string representation of the object +print(ExporterConfigSplunkHec.to_json()) + +# convert the object into a dict +exporter_config_splunk_hec_dict = exporter_config_splunk_hec_instance.to_dict() +# create an instance of ExporterConfigSplunkHec from a dict +exporter_config_splunk_hec_from_dict = ExporterConfigSplunkHec.from_dict(exporter_config_splunk_hec_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) + + diff --git a/thousandeyes-sdk-streaming/docs/GetStreamResponse.md b/thousandeyes-sdk-streaming/docs/GetStreamResponse.md index ba4d6095..1570902b 100644 --- a/thousandeyes-sdk-streaming/docs/GetStreamResponse.md +++ b/thousandeyes-sdk-streaming/docs/GetStreamResponse.md @@ -10,10 +10,12 @@ Name | Type | Description | Notes **links** | [**StreamLinks**](StreamLinks.md) | | [optional] **type** | [**StreamType**](StreamType.md) | | [optional] **endpoint_type** | [**EndpointType**](EndpointType.md) | | [optional] -**stream_endpoint_url** | **str** | The URL ThousandEyes sends data stream to. For a URL to be valid, it needs to: - Be syntactically correct. - Be reachable. - Use the HTTPS protocol. - When using the `grpc` endpointType, streamEndpointUrl cannot contain paths: - Valid . `grpc` - `https://example.com` - Invalid . `grpc` - `https://example.com/collector`. - Valid . `http` - `https://example.com/collector`. - When using the `http` endpointType, the endpoint must match the exact final full URL (including the path if there is one) to which the metrics will be sent. Examples below: - `https://api.honeycomb.io:443/v1/metrics` - `https://ingest.eu0.signalfx.com/v2/datapoint/otlp` | [optional] +**stream_endpoint_url** | **str** | The URL ThousandEyes sends data stream to. For a URL to be valid, it needs to: - Be syntactically correct. - Be reachable. - Use the HTTPS protocol. - When using the `grpc` endpointType, streamEndpointUrl cannot contain paths: - Valid . `grpc` - `https://example.com` - Invalid . `grpc` - `https://example.com/collector`. - Valid . `http` - `https://example.com/collector`. - When using the `http` endpointType, the operation must match the exact final full URL (including the path if there is one) to which the metrics will be sent. Examples below: - `https://api.honeycomb.io:443/v1/metrics` - `https://ingest.eu0.signalfx.com/v2/datapoint/otlp` | [optional] +**data_model_version** | [**DataModelVersion**](DataModelVersion.md) | | [optional] **custom_headers** | **Dict[str, str]** | Custom headers. **Note**: When using the `splunk-hec` `type`, the `customHeaders` must contain just one element with the key `token` and the value of the *Splunk HEC Token*. | [optional] **tag_match** | [**List[TagMatch]**](TagMatch.md) | A collection of tags that determine what tests are included in the data stream. These tag values are also included as attributes in the data stream metrics. | [optional] **test_match** | [**List[TestMatch]**](TestMatch.md) | A collection of tests to be included in the data stream. | [optional] +**exporter_config** | [**ExporterConfig**](ExporterConfig.md) | | [optional] **audit_operation** | [**AuditOperationWithUpdate**](AuditOperationWithUpdate.md) | | [optional] ## Example diff --git a/thousandeyes-sdk-streaming/docs/PutStream.md b/thousandeyes-sdk-streaming/docs/PutStream.md index be862955..ef892312 100644 --- a/thousandeyes-sdk-streaming/docs/PutStream.md +++ b/thousandeyes-sdk-streaming/docs/PutStream.md @@ -9,6 +9,7 @@ Name | Type | Description | Notes **tag_match** | [**List[TagMatch]**](TagMatch.md) | A collection of tags that determine what tests are included in the data stream. These tag values are also included as attributes in the data stream metrics. | [optional] **test_match** | [**List[TestMatch]**](TestMatch.md) | A collection of tests to be included in the data stream. | [optional] **enabled** | **bool** | Flag to enable or disable the stream integration. | [optional] +**exporter_config** | [**ExporterConfig**](ExporterConfig.md) | | [optional] ## Example diff --git a/thousandeyes-sdk-streaming/docs/Stream.md b/thousandeyes-sdk-streaming/docs/Stream.md index 6c7ba6b9..3e100f2c 100644 --- a/thousandeyes-sdk-streaming/docs/Stream.md +++ b/thousandeyes-sdk-streaming/docs/Stream.md @@ -9,9 +9,11 @@ Name | Type | Description | Notes **tag_match** | [**List[TagMatch]**](TagMatch.md) | A collection of tags that determine what tests are included in the data stream. These tag values are also included as attributes in the data stream metrics. | [optional] **test_match** | [**List[TestMatch]**](TestMatch.md) | A collection of tests to be included in the data stream. | [optional] **enabled** | **bool** | Flag to enable or disable the stream integration. | [optional] +**exporter_config** | [**ExporterConfig**](ExporterConfig.md) | | [optional] **type** | [**StreamType**](StreamType.md) | | [optional] **endpoint_type** | [**EndpointType**](EndpointType.md) | | [optional] -**stream_endpoint_url** | **str** | The URL ThousandEyes sends data stream to. For a URL to be valid, it needs to: - Be syntactically correct. - Be reachable. - Use the HTTPS protocol. - When using the `grpc` endpointType, streamEndpointUrl cannot contain paths: - Valid . `grpc` - `https://example.com` - Invalid . `grpc` - `https://example.com/collector`. - Valid . `http` - `https://example.com/collector`. - When using the `http` endpointType, the endpoint must match the exact final full URL (including the path if there is one) to which the metrics will be sent. Examples below: - `https://api.honeycomb.io:443/v1/metrics` - `https://ingest.eu0.signalfx.com/v2/datapoint/otlp` | [optional] +**stream_endpoint_url** | **str** | The URL ThousandEyes sends data stream to. For a URL to be valid, it needs to: - Be syntactically correct. - Be reachable. - Use the HTTPS protocol. - When using the `grpc` endpointType, streamEndpointUrl cannot contain paths: - Valid . `grpc` - `https://example.com` - Invalid . `grpc` - `https://example.com/collector`. - Valid . `http` - `https://example.com/collector`. - When using the `http` endpointType, the operation must match the exact final full URL (including the path if there is one) to which the metrics will be sent. Examples below: - `https://api.honeycomb.io:443/v1/metrics` - `https://ingest.eu0.signalfx.com/v2/datapoint/otlp` | [optional] +**data_model_version** | [**DataModelVersion**](DataModelVersion.md) | | [optional] ## Example diff --git a/thousandeyes-sdk-streaming/docs/StreamingApi.md b/thousandeyes-sdk-streaming/docs/StreamingApi.md index cfcbd8c6..2d0886f7 100644 --- a/thousandeyes-sdk-streaming/docs/StreamingApi.md +++ b/thousandeyes-sdk-streaming/docs/StreamingApi.md @@ -1,14 +1,14 @@ # thousandeyes_sdk.streaming.StreamingApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_stream**](StreamingApi.md#create_stream) | **POST** /v7/stream | Create data stream -[**delete_stream**](StreamingApi.md#delete_stream) | **DELETE** /v7/stream/{id} | Delete a data stream -[**get_stream**](StreamingApi.md#get_stream) | **GET** /v7/stream/{id} | Retrieve data stream -[**get_streams**](StreamingApi.md#get_streams) | **GET** /v7/stream | List data streams -[**update_stream**](StreamingApi.md#update_stream) | **PUT** /v7/stream/{id} | Update data stream +[**create_stream**](StreamingApi.md#create_stream) | **POST** /stream | Create data stream +[**delete_stream**](StreamingApi.md#delete_stream) | **DELETE** /stream/{id} | Delete a data stream +[**get_stream**](StreamingApi.md#get_stream) | **GET** /stream/{id} | Retrieve data stream +[**get_streams**](StreamingApi.md#get_streams) | **GET** /stream | List data streams +[**update_stream**](StreamingApi.md#update_stream) | **PUT** /stream/{id} | Update data stream # **create_stream** @@ -29,10 +29,10 @@ from thousandeyes_sdk.streaming.models.stream import Stream from thousandeyes_sdk.streaming.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -113,10 +113,10 @@ import thousandeyes_sdk.streaming from thousandeyes_sdk.streaming.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -197,10 +197,10 @@ from thousandeyes_sdk.streaming.models.stream_type import StreamType from thousandeyes_sdk.streaming.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -285,10 +285,10 @@ from thousandeyes_sdk.streaming.models.stream_type import StreamType from thousandeyes_sdk.streaming.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -372,10 +372,10 @@ from thousandeyes_sdk.streaming.models.put_stream import PutStream from thousandeyes_sdk.streaming.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters diff --git a/thousandeyes-sdk-streaming/pyproject.toml b/thousandeyes-sdk-streaming/pyproject.toml index 2221df66..3d9f3c18 100644 --- a/thousandeyes-sdk-streaming/pyproject.toml +++ b/thousandeyes-sdk-streaming/pyproject.toml @@ -9,9 +9,9 @@ description = "ThousandEyes SDK ThousandEyes for OpenTelemetry API" license = { file = "LICENSE" } requires-python = ">= 3.8" dependencies = [ - "urllib3 >= 1.25.3", + "urllib3 >= 2.0.0", "python-dateutil >=2.8.2", - "pydantic >=2", + "pydantic >=2.1.0", "typing-extensions >=4.7.1", "thousandeyes-sdk-core", ] diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/__init__.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/__init__.py index 67cfffe8..b54dc1b7 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/__init__.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/__init__.py @@ -7,7 +7,6 @@ ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [documentation](https://docs.thousandeyes.com/product-documentation/api/opentelemetry). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -25,7 +24,10 @@ from thousandeyes_sdk.streaming.models.audit_operation import AuditOperation from thousandeyes_sdk.streaming.models.audit_operation_with_update import AuditOperationWithUpdate from thousandeyes_sdk.streaming.models.bad_request_error import BadRequestError from thousandeyes_sdk.streaming.models.create_stream_response import CreateStreamResponse +from thousandeyes_sdk.streaming.models.data_model_version import DataModelVersion from thousandeyes_sdk.streaming.models.endpoint_type import EndpointType +from thousandeyes_sdk.streaming.models.exporter_config import ExporterConfig +from thousandeyes_sdk.streaming.models.exporter_config_splunk_hec import ExporterConfigSplunkHec from thousandeyes_sdk.streaming.models.get_stream_response import GetStreamResponse from thousandeyes_sdk.streaming.models.put_stream import PutStream from thousandeyes_sdk.streaming.models.stream import Stream diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/api/streaming_api.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/api/streaming_api.py index da6ec628..b4dc1307 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/api/streaming_api.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/api/streaming_api.py @@ -5,7 +5,6 @@ ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [documentation](https://docs.thousandeyes.com/product-documentation/api/opentelemetry). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -338,7 +337,7 @@ class StreamingApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/stream', + resource_path='/stream', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -631,7 +630,7 @@ class StreamingApi: return self.api_client.param_serialize( method='DELETE', - resource_path='/v7/stream/{id}', + resource_path='/stream/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -942,7 +941,7 @@ class StreamingApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/stream/{id}', + resource_path='/stream/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1241,7 +1240,7 @@ class StreamingApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/stream', + resource_path='/stream', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1569,7 +1568,7 @@ class StreamingApi: return self.api_client.param_serialize( method='PUT', - resource_path='/v7/stream/{id}', + resource_path='/stream/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/__init__.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/__init__.py index 6afd6aff..888a5f23 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/__init__.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/__init__.py @@ -6,7 +6,6 @@ ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [documentation](https://docs.thousandeyes.com/product-documentation/api/opentelemetry). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,7 +19,10 @@ from thousandeyes_sdk.streaming.models.audit_operation import AuditOperation from thousandeyes_sdk.streaming.models.audit_operation_with_update import AuditOperationWithUpdate from thousandeyes_sdk.streaming.models.bad_request_error import BadRequestError from thousandeyes_sdk.streaming.models.create_stream_response import CreateStreamResponse +from thousandeyes_sdk.streaming.models.data_model_version import DataModelVersion from thousandeyes_sdk.streaming.models.endpoint_type import EndpointType +from thousandeyes_sdk.streaming.models.exporter_config import ExporterConfig +from thousandeyes_sdk.streaming.models.exporter_config_splunk_hec import ExporterConfigSplunkHec from thousandeyes_sdk.streaming.models.get_stream_response import GetStreamResponse from thousandeyes_sdk.streaming.models.put_stream import PutStream from thousandeyes_sdk.streaming.models.stream import Stream diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/api_error.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/api_error.py index ad33a025..8ffca963 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/api_error.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/api_error.py @@ -5,7 +5,6 @@ ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [documentation](https://docs.thousandeyes.com/product-documentation/api/opentelemetry). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/api_error_integration_limits.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/api_error_integration_limits.py index d7900f00..6cd88a98 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/api_error_integration_limits.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/api_error_integration_limits.py @@ -5,7 +5,6 @@ ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [documentation](https://docs.thousandeyes.com/product-documentation/api/opentelemetry). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/audit_operation.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/audit_operation.py index a712a0b2..da354e7f 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/audit_operation.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/audit_operation.py @@ -5,7 +5,6 @@ ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [documentation](https://docs.thousandeyes.com/product-documentation/api/opentelemetry). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/audit_operation_with_update.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/audit_operation_with_update.py index 2526ab75..a30987da 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/audit_operation_with_update.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/audit_operation_with_update.py @@ -5,7 +5,6 @@ ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [documentation](https://docs.thousandeyes.com/product-documentation/api/opentelemetry). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/bad_request_error.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/bad_request_error.py index 0234b58d..fc947dfb 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/bad_request_error.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/bad_request_error.py @@ -5,7 +5,6 @@ ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [documentation](https://docs.thousandeyes.com/product-documentation/api/opentelemetry). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/create_stream_response.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/create_stream_response.py index a7f46f98..6c34311e 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/create_stream_response.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/create_stream_response.py @@ -5,7 +5,6 @@ ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [documentation](https://docs.thousandeyes.com/product-documentation/api/opentelemetry). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,7 +19,9 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.streaming.models.audit_operation import AuditOperation +from thousandeyes_sdk.streaming.models.data_model_version import DataModelVersion from thousandeyes_sdk.streaming.models.endpoint_type import EndpointType +from thousandeyes_sdk.streaming.models.exporter_config import ExporterConfig from thousandeyes_sdk.streaming.models.stream_links import StreamLinks from thousandeyes_sdk.streaming.models.stream_type import StreamType from thousandeyes_sdk.streaming.models.tag_match import TagMatch @@ -37,12 +38,14 @@ class CreateStreamResponse(BaseModel): links: Optional[StreamLinks] = Field(default=None, alias="_links") type: Optional[StreamType] = None endpoint_type: Optional[EndpointType] = Field(default=None, alias="endpointType") - stream_endpoint_url: Optional[StrictStr] = Field(default=None, description="The URL ThousandEyes sends data stream to. For a URL to be valid, it needs to: - Be syntactically correct. - Be reachable. - Use the HTTPS protocol. - When using the `grpc` endpointType, streamEndpointUrl cannot contain paths: - Valid . `grpc` - `https://example.com` - Invalid . `grpc` - `https://example.com/collector`. - Valid . `http` - `https://example.com/collector`. - When using the `http` endpointType, the endpoint must match the exact final full URL (including the path if there is one) to which the metrics will be sent. Examples below: - `https://api.honeycomb.io:443/v1/metrics` - `https://ingest.eu0.signalfx.com/v2/datapoint/otlp`", alias="streamEndpointUrl") + stream_endpoint_url: Optional[StrictStr] = Field(default=None, description="The URL ThousandEyes sends data stream to. For a URL to be valid, it needs to: - Be syntactically correct. - Be reachable. - Use the HTTPS protocol. - When using the `grpc` endpointType, streamEndpointUrl cannot contain paths: - Valid . `grpc` - `https://example.com` - Invalid . `grpc` - `https://example.com/collector`. - Valid . `http` - `https://example.com/collector`. - When using the `http` endpointType, the operation must match the exact final full URL (including the path if there is one) to which the metrics will be sent. Examples below: - `https://api.honeycomb.io:443/v1/metrics` - `https://ingest.eu0.signalfx.com/v2/datapoint/otlp`", alias="streamEndpointUrl") + data_model_version: Optional[DataModelVersion] = Field(default=None, alias="dataModelVersion") custom_headers: Optional[Dict[str, StrictStr]] = Field(default=None, description="Custom headers. **Note**: When using the `splunk-hec` `type`, the `customHeaders` must contain just one element with the key `token` and the value of the *Splunk HEC Token*.", alias="customHeaders") tag_match: Optional[List[TagMatch]] = Field(default=None, description="A collection of tags that determine what tests are included in the data stream. These tag values are also included as attributes in the data stream metrics.", alias="tagMatch") test_match: Optional[List[TestMatch]] = Field(default=None, description="A collection of tests to be included in the data stream.", alias="testMatch") + exporter_config: Optional[ExporterConfig] = Field(default=None, alias="exporterConfig") audit_operation: Optional[AuditOperation] = Field(default=None, alias="auditOperation") - __properties: ClassVar[List[str]] = ["id", "enabled", "_links", "type", "endpointType", "streamEndpointUrl", "customHeaders", "tagMatch", "testMatch", "auditOperation"] + __properties: ClassVar[List[str]] = ["id", "enabled", "_links", "type", "endpointType", "streamEndpointUrl", "dataModelVersion", "customHeaders", "tagMatch", "testMatch", "exporterConfig", "auditOperation"] model_config = ConfigDict( populate_by_name=True, @@ -103,6 +106,9 @@ class CreateStreamResponse(BaseModel): if _item: _items.append(_item.to_dict()) _dict['testMatch'] = _items + # override the default output from pydantic by calling `to_dict()` of exporter_config + if self.exporter_config: + _dict['exporterConfig'] = self.exporter_config.to_dict() # override the default output from pydantic by calling `to_dict()` of audit_operation if self.audit_operation: _dict['auditOperation'] = self.audit_operation.to_dict() @@ -124,9 +130,11 @@ class CreateStreamResponse(BaseModel): "type": obj.get("type"), "endpointType": obj.get("endpointType"), "streamEndpointUrl": obj.get("streamEndpointUrl"), + "dataModelVersion": obj.get("dataModelVersion"), "customHeaders": obj.get("customHeaders"), "tagMatch": [TagMatch.from_dict(_item) for _item in obj["tagMatch"]] if obj.get("tagMatch") is not None else None, "testMatch": [TestMatch.from_dict(_item) for _item in obj["testMatch"]] if obj.get("testMatch") is not None else None, + "exporterConfig": ExporterConfig.from_dict(obj["exporterConfig"]) if obj.get("exporterConfig") is not None else None, "auditOperation": AuditOperation.from_dict(obj["auditOperation"]) if obj.get("auditOperation") is not None else None }) return _obj diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/data_model_version.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/data_model_version.py new file mode 100644 index 00000000..705b510d --- /dev/null +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/data_model_version.py @@ -0,0 +1,41 @@ +# coding: utf-8 + +""" + ThousandEyes for OpenTelemetry API + + ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [documentation](https://docs.thousandeyes.com/product-documentation/api/opentelemetry). + + 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 DataModelVersion(str, Enum): + """ + The version of the data model used in the data stream. Default: `v2` + """ + + """ + allowed enum values + """ + V1 = 'v1' + V2 = 'v2' + UNKNOWN = 'unknown' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of DataModelVersion from a JSON string""" + return cls(json.loads(json_str)) + + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN + diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/endpoint_type.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/endpoint_type.py index 58707ab9..87d7538d 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/endpoint_type.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/endpoint_type.py @@ -5,7 +5,6 @@ ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [documentation](https://docs.thousandeyes.com/product-documentation/api/opentelemetry). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,7 +19,7 @@ from typing_extensions import Self class EndpointType(str, Enum): """ - The type of connection used to send data to the endpoint. **Note**: When using the `splunk-hec` 'type', the `EndpointType` must be `http`. + The type of connection used to send data to the endpoint. Default: `grpc` **Note**: When using the `splunk-hec` 'type', the `EndpointType` must be `http`. """ """ @@ -28,10 +27,15 @@ class EndpointType(str, Enum): """ GRPC = 'grpc' HTTP = 'http' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of EndpointType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/exporter_config.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/exporter_config.py new file mode 100644 index 00000000..6c97863f --- /dev/null +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/exporter_config.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + ThousandEyes for OpenTelemetry API + + ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [documentation](https://docs.thousandeyes.com/product-documentation/api/opentelemetry). + + 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.streaming.models.exporter_config_splunk_hec import ExporterConfigSplunkHec +from typing import Optional, Set +from typing_extensions import Self + +class ExporterConfig(BaseModel): + """ + Capability to set exporter configuration. + """ # noqa: E501 + splunk_hec: Optional[ExporterConfigSplunkHec] = Field(default=None, alias="splunkHec") + __properties: ClassVar[List[str]] = ["splunkHec"] + + 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 ExporterConfig 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 splunk_hec + if self.splunk_hec: + _dict['splunkHec'] = self.splunk_hec.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ExporterConfig from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "splunkHec": ExporterConfigSplunkHec.from_dict(obj["splunkHec"]) if obj.get("splunkHec") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/exporter_config_splunk_hec.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/exporter_config_splunk_hec.py new file mode 100644 index 00000000..a7573200 --- /dev/null +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/exporter_config_splunk_hec.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + ThousandEyes for OpenTelemetry API + + ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [documentation](https://docs.thousandeyes.com/product-documentation/api/opentelemetry). + + 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 ExporterConfigSplunkHec(BaseModel): + """ + Splunk HEC configuration. This can only be configured when the `type` is `splunk-hec`. + """ # noqa: E501 + token: Optional[StrictStr] = Field(default=None, description="The Splunk HEC `token`. This is a required field.") + source: Optional[StrictStr] = Field(default='ThousandEyesOTel', description="The Splunk HEC `source`. This field is optional. Default: `ThousandEyesOTel`") + source_type: Optional[StrictStr] = Field(default='ThousandEyesOTel', description="The Splunk HEC `sourceType`. This field is optional. Default: `ThousandEyesOTel`", alias="sourceType") + index: Optional[StrictStr] = Field(default=None, description="The name of the Splunk HEC index where the event data will be stored. This field is optional.") + __properties: ClassVar[List[str]] = ["token", "source", "sourceType", "index"] + + 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 ExporterConfigSplunkHec 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 ExporterConfigSplunkHec from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "token": obj.get("token"), + "source": obj.get("source") if obj.get("source") is not None else 'ThousandEyesOTel', + "sourceType": obj.get("sourceType") if obj.get("sourceType") is not None else 'ThousandEyesOTel', + "index": obj.get("index") + }) + return _obj + + diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/get_stream_response.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/get_stream_response.py index b4e9f497..7a604f29 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/get_stream_response.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/get_stream_response.py @@ -5,7 +5,6 @@ ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [documentation](https://docs.thousandeyes.com/product-documentation/api/opentelemetry). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,7 +19,9 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.streaming.models.audit_operation_with_update import AuditOperationWithUpdate +from thousandeyes_sdk.streaming.models.data_model_version import DataModelVersion from thousandeyes_sdk.streaming.models.endpoint_type import EndpointType +from thousandeyes_sdk.streaming.models.exporter_config import ExporterConfig from thousandeyes_sdk.streaming.models.stream_links import StreamLinks from thousandeyes_sdk.streaming.models.stream_type import StreamType from thousandeyes_sdk.streaming.models.tag_match import TagMatch @@ -37,12 +38,14 @@ class GetStreamResponse(BaseModel): links: Optional[StreamLinks] = Field(default=None, alias="_links") type: Optional[StreamType] = None endpoint_type: Optional[EndpointType] = Field(default=None, alias="endpointType") - stream_endpoint_url: Optional[StrictStr] = Field(default=None, description="The URL ThousandEyes sends data stream to. For a URL to be valid, it needs to: - Be syntactically correct. - Be reachable. - Use the HTTPS protocol. - When using the `grpc` endpointType, streamEndpointUrl cannot contain paths: - Valid . `grpc` - `https://example.com` - Invalid . `grpc` - `https://example.com/collector`. - Valid . `http` - `https://example.com/collector`. - When using the `http` endpointType, the endpoint must match the exact final full URL (including the path if there is one) to which the metrics will be sent. Examples below: - `https://api.honeycomb.io:443/v1/metrics` - `https://ingest.eu0.signalfx.com/v2/datapoint/otlp`", alias="streamEndpointUrl") + stream_endpoint_url: Optional[StrictStr] = Field(default=None, description="The URL ThousandEyes sends data stream to. For a URL to be valid, it needs to: - Be syntactically correct. - Be reachable. - Use the HTTPS protocol. - When using the `grpc` endpointType, streamEndpointUrl cannot contain paths: - Valid . `grpc` - `https://example.com` - Invalid . `grpc` - `https://example.com/collector`. - Valid . `http` - `https://example.com/collector`. - When using the `http` endpointType, the operation must match the exact final full URL (including the path if there is one) to which the metrics will be sent. Examples below: - `https://api.honeycomb.io:443/v1/metrics` - `https://ingest.eu0.signalfx.com/v2/datapoint/otlp`", alias="streamEndpointUrl") + data_model_version: Optional[DataModelVersion] = Field(default=None, alias="dataModelVersion") custom_headers: Optional[Dict[str, StrictStr]] = Field(default=None, description="Custom headers. **Note**: When using the `splunk-hec` `type`, the `customHeaders` must contain just one element with the key `token` and the value of the *Splunk HEC Token*.", alias="customHeaders") tag_match: Optional[List[TagMatch]] = Field(default=None, description="A collection of tags that determine what tests are included in the data stream. These tag values are also included as attributes in the data stream metrics.", alias="tagMatch") test_match: Optional[List[TestMatch]] = Field(default=None, description="A collection of tests to be included in the data stream.", alias="testMatch") + exporter_config: Optional[ExporterConfig] = Field(default=None, alias="exporterConfig") audit_operation: Optional[AuditOperationWithUpdate] = Field(default=None, alias="auditOperation") - __properties: ClassVar[List[str]] = ["id", "enabled", "_links", "type", "endpointType", "streamEndpointUrl", "customHeaders", "tagMatch", "testMatch", "auditOperation"] + __properties: ClassVar[List[str]] = ["id", "enabled", "_links", "type", "endpointType", "streamEndpointUrl", "dataModelVersion", "customHeaders", "tagMatch", "testMatch", "exporterConfig", "auditOperation"] model_config = ConfigDict( populate_by_name=True, @@ -103,6 +106,9 @@ class GetStreamResponse(BaseModel): if _item: _items.append(_item.to_dict()) _dict['testMatch'] = _items + # override the default output from pydantic by calling `to_dict()` of exporter_config + if self.exporter_config: + _dict['exporterConfig'] = self.exporter_config.to_dict() # override the default output from pydantic by calling `to_dict()` of audit_operation if self.audit_operation: _dict['auditOperation'] = self.audit_operation.to_dict() @@ -124,9 +130,11 @@ class GetStreamResponse(BaseModel): "type": obj.get("type"), "endpointType": obj.get("endpointType"), "streamEndpointUrl": obj.get("streamEndpointUrl"), + "dataModelVersion": obj.get("dataModelVersion"), "customHeaders": obj.get("customHeaders"), "tagMatch": [TagMatch.from_dict(_item) for _item in obj["tagMatch"]] if obj.get("tagMatch") is not None else None, "testMatch": [TestMatch.from_dict(_item) for _item in obj["testMatch"]] if obj.get("testMatch") is not None else None, + "exporterConfig": ExporterConfig.from_dict(obj["exporterConfig"]) if obj.get("exporterConfig") is not None else None, "auditOperation": AuditOperationWithUpdate.from_dict(obj["auditOperation"]) if obj.get("auditOperation") is not None else None }) return _obj diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/put_stream.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/put_stream.py index 4801d534..57c23648 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/put_stream.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/put_stream.py @@ -5,7 +5,6 @@ ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [documentation](https://docs.thousandeyes.com/product-documentation/api/opentelemetry). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -19,6 +18,7 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.streaming.models.exporter_config import ExporterConfig from thousandeyes_sdk.streaming.models.tag_match import TagMatch from thousandeyes_sdk.streaming.models.test_match import TestMatch from typing import Optional, Set @@ -32,7 +32,8 @@ class PutStream(BaseModel): tag_match: Optional[List[TagMatch]] = Field(default=None, description="A collection of tags that determine what tests are included in the data stream. These tag values are also included as attributes in the data stream metrics.", alias="tagMatch") test_match: Optional[List[TestMatch]] = Field(default=None, description="A collection of tests to be included in the data stream.", alias="testMatch") enabled: Optional[StrictBool] = Field(default=None, description="Flag to enable or disable the stream integration.") - __properties: ClassVar[List[str]] = ["customHeaders", "tagMatch", "testMatch", "enabled"] + exporter_config: Optional[ExporterConfig] = Field(default=None, alias="exporterConfig") + __properties: ClassVar[List[str]] = ["customHeaders", "tagMatch", "testMatch", "enabled", "exporterConfig"] model_config = ConfigDict( populate_by_name=True, @@ -88,6 +89,9 @@ class PutStream(BaseModel): if _item: _items.append(_item.to_dict()) _dict['testMatch'] = _items + # override the default output from pydantic by calling `to_dict()` of exporter_config + if self.exporter_config: + _dict['exporterConfig'] = self.exporter_config.to_dict() return _dict @classmethod @@ -103,7 +107,8 @@ class PutStream(BaseModel): "customHeaders": obj.get("customHeaders"), "tagMatch": [TagMatch.from_dict(_item) for _item in obj["tagMatch"]] if obj.get("tagMatch") is not None else None, "testMatch": [TestMatch.from_dict(_item) for _item in obj["testMatch"]] if obj.get("testMatch") is not None else None, - "enabled": obj.get("enabled") + "enabled": obj.get("enabled"), + "exporterConfig": ExporterConfig.from_dict(obj["exporterConfig"]) if obj.get("exporterConfig") is not None else None }) return _obj diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/stream.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/stream.py index 834f933c..41f8b845 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/stream.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/stream.py @@ -5,7 +5,6 @@ ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [documentation](https://docs.thousandeyes.com/product-documentation/api/opentelemetry). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -19,7 +18,9 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.streaming.models.data_model_version import DataModelVersion from thousandeyes_sdk.streaming.models.endpoint_type import EndpointType +from thousandeyes_sdk.streaming.models.exporter_config import ExporterConfig from thousandeyes_sdk.streaming.models.stream_type import StreamType from thousandeyes_sdk.streaming.models.tag_match import TagMatch from thousandeyes_sdk.streaming.models.test_match import TestMatch @@ -34,10 +35,12 @@ class Stream(BaseModel): tag_match: Optional[List[TagMatch]] = Field(default=None, description="A collection of tags that determine what tests are included in the data stream. These tag values are also included as attributes in the data stream metrics.", alias="tagMatch") test_match: Optional[List[TestMatch]] = Field(default=None, description="A collection of tests to be included in the data stream.", alias="testMatch") enabled: Optional[StrictBool] = Field(default=None, description="Flag to enable or disable the stream integration.") + exporter_config: Optional[ExporterConfig] = Field(default=None, alias="exporterConfig") type: Optional[StreamType] = None endpoint_type: Optional[EndpointType] = Field(default=None, alias="endpointType") - stream_endpoint_url: Optional[StrictStr] = Field(default=None, description="The URL ThousandEyes sends data stream to. For a URL to be valid, it needs to: - Be syntactically correct. - Be reachable. - Use the HTTPS protocol. - When using the `grpc` endpointType, streamEndpointUrl cannot contain paths: - Valid . `grpc` - `https://example.com` - Invalid . `grpc` - `https://example.com/collector`. - Valid . `http` - `https://example.com/collector`. - When using the `http` endpointType, the endpoint must match the exact final full URL (including the path if there is one) to which the metrics will be sent. Examples below: - `https://api.honeycomb.io:443/v1/metrics` - `https://ingest.eu0.signalfx.com/v2/datapoint/otlp`", alias="streamEndpointUrl") - __properties: ClassVar[List[str]] = ["customHeaders", "tagMatch", "testMatch", "enabled", "type", "endpointType", "streamEndpointUrl"] + stream_endpoint_url: Optional[StrictStr] = Field(default=None, description="The URL ThousandEyes sends data stream to. For a URL to be valid, it needs to: - Be syntactically correct. - Be reachable. - Use the HTTPS protocol. - When using the `grpc` endpointType, streamEndpointUrl cannot contain paths: - Valid . `grpc` - `https://example.com` - Invalid . `grpc` - `https://example.com/collector`. - Valid . `http` - `https://example.com/collector`. - When using the `http` endpointType, the operation must match the exact final full URL (including the path if there is one) to which the metrics will be sent. Examples below: - `https://api.honeycomb.io:443/v1/metrics` - `https://ingest.eu0.signalfx.com/v2/datapoint/otlp`", alias="streamEndpointUrl") + data_model_version: Optional[DataModelVersion] = Field(default=None, alias="dataModelVersion") + __properties: ClassVar[List[str]] = ["customHeaders", "tagMatch", "testMatch", "enabled", "exporterConfig", "type", "endpointType", "streamEndpointUrl", "dataModelVersion"] model_config = ConfigDict( populate_by_name=True, @@ -93,6 +96,9 @@ class Stream(BaseModel): if _item: _items.append(_item.to_dict()) _dict['testMatch'] = _items + # override the default output from pydantic by calling `to_dict()` of exporter_config + if self.exporter_config: + _dict['exporterConfig'] = self.exporter_config.to_dict() return _dict @classmethod @@ -109,9 +115,11 @@ class Stream(BaseModel): "tagMatch": [TagMatch.from_dict(_item) for _item in obj["tagMatch"]] if obj.get("tagMatch") is not None else None, "testMatch": [TestMatch.from_dict(_item) for _item in obj["testMatch"]] if obj.get("testMatch") is not None else None, "enabled": obj.get("enabled"), + "exporterConfig": ExporterConfig.from_dict(obj["exporterConfig"]) if obj.get("exporterConfig") is not None else None, "type": obj.get("type"), "endpointType": obj.get("endpointType"), - "streamEndpointUrl": obj.get("streamEndpointUrl") + "streamEndpointUrl": obj.get("streamEndpointUrl"), + "dataModelVersion": obj.get("dataModelVersion") }) return _obj diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/stream_links.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/stream_links.py index d0ce5abc..6b36a230 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/stream_links.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/stream_links.py @@ -5,7 +5,6 @@ ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [documentation](https://docs.thousandeyes.com/product-documentation/api/opentelemetry). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/stream_response.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/stream_response.py index 8549f3c4..2a8bc09b 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/stream_response.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/stream_response.py @@ -5,7 +5,6 @@ ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [documentation](https://docs.thousandeyes.com/product-documentation/api/opentelemetry). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/stream_self_link.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/stream_self_link.py index eefa2b12..b6e99d0d 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/stream_self_link.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/stream_self_link.py @@ -5,7 +5,6 @@ ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [documentation](https://docs.thousandeyes.com/product-documentation/api/opentelemetry). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/stream_type.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/stream_type.py index 89f80411..0027f3b5 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/stream_type.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/stream_type.py @@ -5,7 +5,6 @@ ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [documentation](https://docs.thousandeyes.com/product-documentation/api/opentelemetry). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class StreamType(str, Enum): """ OPENTELEMETRY = 'opentelemetry' SPLUNK_MINUS_HEC = 'splunk-hec' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of StreamType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/tag_match.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/tag_match.py index 10f46a2c..82d3792b 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/tag_match.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/tag_match.py @@ -5,7 +5,6 @@ ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [documentation](https://docs.thousandeyes.com/product-documentation/api/opentelemetry). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/tag_match_object_type.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/tag_match_object_type.py index 2898359e..8bd94cc9 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/tag_match_object_type.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/tag_match_object_type.py @@ -5,7 +5,6 @@ ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [documentation](https://docs.thousandeyes.com/product-documentation/api/opentelemetry). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -27,10 +26,15 @@ class TagMatchObjectType(str, Enum): allowed enum values """ TEST = 'test' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TagMatchObjectType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/test_match.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/test_match.py index e5762e5f..66fe433c 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/test_match.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/test_match.py @@ -5,7 +5,6 @@ ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [documentation](https://docs.thousandeyes.com/product-documentation/api/opentelemetry). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/test_match_domain.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/test_match_domain.py index 3235af90..bf82ee0f 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/test_match_domain.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/test_match_domain.py @@ -5,7 +5,6 @@ ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [documentation](https://docs.thousandeyes.com/product-documentation/api/opentelemetry). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class TestMatchDomain(str, Enum): """ CEA = 'cea' ENDPOINT = 'endpoint' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestMatchDomain from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/unauthorized_error.py b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/unauthorized_error.py index 5e465c71..f3309f10 100644 --- a/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/unauthorized_error.py +++ b/thousandeyes-sdk-streaming/src/thousandeyes_sdk/streaming/models/unauthorized_error.py @@ -5,7 +5,6 @@ ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [documentation](https://docs.thousandeyes.com/product-documentation/api/opentelemetry). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-streaming/test/test_streaming_api.py b/thousandeyes-sdk-streaming/test/test_streaming_api.py index 70c0aba7..51adcd48 100644 --- a/thousandeyes-sdk-streaming/test/test_streaming_api.py +++ b/thousandeyes-sdk-streaming/test/test_streaming_api.py @@ -5,7 +5,6 @@ ThousandEyes for OpenTelemetry provides machine-to-machine integration between ThousandEyes and its customers. It allows you to export ThousandEyes telemetry data in OTel format, which is widely used in the industry. With ThousandEyes for OTel, you can leverage frameworks widely used in the observability domain - such as Splunk, Grafana, and Honeycomb - to capture and analyze ThousandEyes data. Any client that supports OTel can use ThousandEyes for OpenTelemetry. ThousandEyes for OTel is made up of the following components: * Data streaming APIs that you can use to configure and enable your ThousandEyes tests with OTel-compatible streams, in particular to configure how ThousandEyes telemetry data is exported to client integrations. * A set of streaming pipelines called _collectors_ that actively fetch ThousandEyes network test data, enrich the data with some additional detail, filter, and push the data to the customer-configured endpoints, depending on what you configure via the public APIs. * Third-party OTel collectors that receive, transform, filter, and export different metrics to client applications such as AppD, or any other OTel-capable client configuration. For more information about ThousandEyes for OpenTelemetry, see the [documentation](https://docs.thousandeyes.com/product-documentation/api/opentelemetry). - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -42,6 +41,14 @@ class TestStreamingApi(unittest.TestCase): } ], "endpointType" : "grpc", "streamEndpointUrl" : "https://api.thousandeyes.otel-collector", + "exporterConfig" : { + "splunkHec" : { + "sourceType" : "ThousandEyesOTel", + "index" : "thousandeyes_otel_events_index", + "source" : "ThousandEyesOTel", + "token" : "d0a91307-be2f-4218-a9f8-71c02d98846b" + } + }, "tagMatch" : [ { "key" : "keyA", "value" : "valueA" @@ -50,6 +57,7 @@ class TestStreamingApi(unittest.TestCase): "value" : "valueB" } ], "type" : "opentelemetry", + "dataModelVersion" : "v2", "customHeaders" : { "Authorization" : "*****", "Content-Type" : "*****" @@ -77,6 +85,14 @@ class TestStreamingApi(unittest.TestCase): } }, "streamEndpointUrl" : "https://api.thousandeyes.otel-collector", + "exporterConfig" : { + "splunkHec" : { + "sourceType" : "ThousandEyesOTel", + "index" : "thousandeyes_otel_events_index", + "source" : "ThousandEyesOTel", + "token" : "d0a91307-be2f-4218-a9f8-71c02d98846b" + } + }, "tagMatch" : [ { "key" : "keyA", "value" : "valueA" @@ -91,6 +107,7 @@ class TestStreamingApi(unittest.TestCase): "createdBy" : 3962 }, "enabled" : true, + "dataModelVersion" : "v2", "customHeaders" : { "Authorization" : "*****", "Content-Type" : "*****" @@ -124,6 +141,14 @@ class TestStreamingApi(unittest.TestCase): } }, "streamEndpointUrl" : "https://api.thousandeyes.otel-collector", + "exporterConfig" : { + "splunkHec" : { + "sourceType" : "ThousandEyesOTel", + "index" : "thousandeyes_otel_events_index", + "source" : "ThousandEyesOTel", + "token" : "d0a91307-be2f-4218-a9f8-71c02d98846b" + } + }, "tagMatch" : [ { "key" : "keyA", "value" : "valueA" @@ -140,6 +165,7 @@ class TestStreamingApi(unittest.TestCase): "updatedDate" : 1679677853573 }, "enabled" : true, + "dataModelVersion" : "v2", "customHeaders" : { "Authorization" : "*****", "Content-Type" : "*****" @@ -169,6 +195,14 @@ class TestStreamingApi(unittest.TestCase): } }, "streamEndpointUrl" : "https://api.thousandeyes.otel-collector", + "exporterConfig" : { + "splunkHec" : { + "sourceType" : "ThousandEyesOTel", + "index" : "thousandeyes_otel_events_index", + "source" : "ThousandEyesOTel", + "token" : "d0a91307-be2f-4218-a9f8-71c02d98846b" + } + }, "tagMatch" : [ { "key" : "keyA", "value" : "valueA" @@ -185,6 +219,7 @@ class TestStreamingApi(unittest.TestCase): "updatedDate" : 1679677853573 }, "enabled" : true, + "dataModelVersion" : "v2", "customHeaders" : { "Authorization" : "*****", "Content-Type" : "*****" @@ -204,6 +239,14 @@ class TestStreamingApi(unittest.TestCase): } }, "streamEndpointUrl" : "https://api.thousandeyes.otel-collector", + "exporterConfig" : { + "splunkHec" : { + "sourceType" : "ThousandEyesOTel", + "index" : "thousandeyes_otel_events_index", + "source" : "ThousandEyesOTel", + "token" : "d0a91307-be2f-4218-a9f8-71c02d98846b" + } + }, "tagMatch" : [ { "key" : "keyA", "value" : "valueA" @@ -220,6 +263,7 @@ class TestStreamingApi(unittest.TestCase): "updatedDate" : 1679677853573 }, "enabled" : true, + "dataModelVersion" : "v2", "customHeaders" : { "Authorization" : "*****", "Content-Type" : "*****" @@ -244,6 +288,14 @@ class TestStreamingApi(unittest.TestCase): "id" : "5678", "domain" : "endpoint" } ], + "exporterConfig" : { + "splunkHec" : { + "sourceType" : "ThousandEyesOTel", + "index" : "thousandeyes_otel_events_index", + "source" : "ThousandEyesOTel", + "token" : "d0a91307-be2f-4218-a9f8-71c02d98846b" + } + }, "tagMatch" : [ { "key" : "keyA", "value" : "valueA" @@ -278,6 +330,14 @@ class TestStreamingApi(unittest.TestCase): } }, "streamEndpointUrl" : "https://api.thousandeyes.otel-collector", + "exporterConfig" : { + "splunkHec" : { + "sourceType" : "ThousandEyesOTel", + "index" : "thousandeyes_otel_events_index", + "source" : "ThousandEyesOTel", + "token" : "d0a91307-be2f-4218-a9f8-71c02d98846b" + } + }, "tagMatch" : [ { "key" : "keyA", "value" : "valueA" @@ -294,6 +354,7 @@ class TestStreamingApi(unittest.TestCase): "updatedDate" : 1679677853573 }, "enabled" : true, + "dataModelVersion" : "v2", "customHeaders" : { "Authorization" : "*****", "Content-Type" : "*****" diff --git a/thousandeyes-sdk-tags/.openapi-generator/FILES b/thousandeyes-sdk-tags/.openapi-generator/FILES index 6740a142..c23e3c66 100644 --- a/thousandeyes-sdk-tags/.openapi-generator/FILES +++ b/thousandeyes-sdk-tags/.openapi-generator/FILES @@ -9,7 +9,7 @@ docs/BulkTagAssignment.md docs/BulkTagAssignments.md docs/BulkTagResponse.md docs/Error.md -docs/Expand.md +docs/ExpandTagsOptions.md docs/Link.md docs/ObjectType.md docs/SelfLinks.md @@ -38,7 +38,7 @@ src/thousandeyes_sdk/tags/models/bulk_tag_assignment.py src/thousandeyes_sdk/tags/models/bulk_tag_assignments.py src/thousandeyes_sdk/tags/models/bulk_tag_response.py src/thousandeyes_sdk/tags/models/error.py -src/thousandeyes_sdk/tags/models/expand.py +src/thousandeyes_sdk/tags/models/expand_tags_options.py src/thousandeyes_sdk/tags/models/link.py src/thousandeyes_sdk/tags/models/object_type.py src/thousandeyes_sdk/tags/models/self_links.py diff --git a/thousandeyes-sdk-tags/README.md b/thousandeyes-sdk-tags/README.md index bccb1292..c27505d6 100644 --- a/thousandeyes-sdk-tags/README.md +++ b/thousandeyes-sdk-tags/README.md @@ -16,7 +16,7 @@ Things to note with the ThousandEyes Tags API: This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 7.0.8 +- API version: 7.0.20 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator @@ -68,10 +68,10 @@ import thousandeyes_sdk.tags from thousandeyes_sdk.core.exceptions import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -89,7 +89,7 @@ configuration = thousandeyes_sdk.core.Configuration( with thousandeyes_sdk.core.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = thousandeyes_sdk.tags.TagAssignmentApi(api_client) - id = 'c6b78e57-81a2-4c5f-a11a-d96c3c664d55' # str | ID of the tag to associate + id = 'c6b78e57-81a2-4c5f-a11a-d96c3c664d55' # str | Tag ID tag_assignment = thousandeyes_sdk.tags.TagAssignment() # TagAssignment | 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) @@ -103,20 +103,20 @@ with thousandeyes_sdk.core.ApiClient(configuration) as api_client: ## Documentation for API Endpoints -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- -*TagAssignmentApi* | [**assign_tag**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/TagAssignmentApi.md#assign_tag) | **POST** /v7/tags/{id}/assign | Assign tag to multiple objects -*TagAssignmentApi* | [**assign_tags**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/TagAssignmentApi.md#assign_tags) | **POST** /v7/tags/assign | Assign multiple tags to multiple objects -*TagAssignmentApi* | [**unassign_tag**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/TagAssignmentApi.md#unassign_tag) | **POST** /v7/tags/{id}/unassign | Remove tag from multiple objects -*TagAssignmentApi* | [**unassign_tags**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/TagAssignmentApi.md#unassign_tags) | **POST** /v7/tags/unassign | Remove multiple tags from multiple objects -*TagsApi* | [**create_tag**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/TagsApi.md#create_tag) | **POST** /v7/tags | Create tag -*TagsApi* | [**create_tags**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/TagsApi.md#create_tags) | **POST** /v7/tags/bulk | Create multiple tags -*TagsApi* | [**delete_tag**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/TagsApi.md#delete_tag) | **DELETE** /v7/tags/{id} | Delete tag -*TagsApi* | [**get_tag**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/TagsApi.md#get_tag) | **GET** /v7/tags/{id} | Retrieve tag -*TagsApi* | [**get_tags**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/TagsApi.md#get_tags) | **GET** /v7/tags | List tags -*TagsApi* | [**update_tag**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/TagsApi.md#update_tag) | **PUT** /v7/tags/{id} | Update tag +*TagAssignmentApi* | [**assign_tag**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/TagAssignmentApi.md#assign_tag) | **POST** /tags/{id}/assign | Assign tag to multiple objects +*TagAssignmentApi* | [**assign_tags**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/TagAssignmentApi.md#assign_tags) | **POST** /tags/assign | Assign multiple tags to multiple objects +*TagAssignmentApi* | [**unassign_tag**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/TagAssignmentApi.md#unassign_tag) | **POST** /tags/{id}/unassign | Remove tag from multiple objects +*TagAssignmentApi* | [**unassign_tags**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/TagAssignmentApi.md#unassign_tags) | **POST** /tags/unassign | Remove multiple tags from multiple objects +*TagsApi* | [**create_tag**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/TagsApi.md#create_tag) | **POST** /tags | Create tag +*TagsApi* | [**create_tags**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/TagsApi.md#create_tags) | **POST** /tags/bulk | Create multiple tags +*TagsApi* | [**delete_tag**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/TagsApi.md#delete_tag) | **DELETE** /tags/{id} | Delete tag +*TagsApi* | [**get_tag**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/TagsApi.md#get_tag) | **GET** /tags/{id} | Retrieve tag +*TagsApi* | [**get_tags**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/TagsApi.md#get_tags) | **GET** /tags | List tags +*TagsApi* | [**update_tag**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/TagsApi.md#update_tag) | **PUT** /tags/{id} | Update tag ## Documentation For Models @@ -129,7 +129,7 @@ Class | Method | HTTP request | Description - [BulkTagAssignments](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/BulkTagAssignments.md) - [BulkTagResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/BulkTagResponse.md) - [Error](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/Error.md) - - [Expand](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/Expand.md) + - [ExpandTagsOptions](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/ExpandTagsOptions.md) - [Link](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/Link.md) - [ObjectType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/ObjectType.md) - [SelfLinks](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tags/docs/SelfLinks.md) diff --git a/thousandeyes-sdk-tags/docs/Expand.md b/thousandeyes-sdk-tags/docs/Expand.md deleted file mode 100644 index f6553b30..00000000 --- a/thousandeyes-sdk-tags/docs/Expand.md +++ /dev/null @@ -1,11 +0,0 @@ -# Expand - - -## 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) - - diff --git a/thousandeyes-sdk-alerts/docs/Expand.md b/thousandeyes-sdk-tags/docs/ExpandTagsOptions.md similarity index 93% rename from thousandeyes-sdk-alerts/docs/Expand.md rename to thousandeyes-sdk-tags/docs/ExpandTagsOptions.md index f6553b30..dd29f588 100644 --- a/thousandeyes-sdk-alerts/docs/Expand.md +++ b/thousandeyes-sdk-tags/docs/ExpandTagsOptions.md @@ -1,4 +1,4 @@ -# Expand +# ExpandTagsOptions ## Properties diff --git a/thousandeyes-sdk-tags/docs/Tag.md b/thousandeyes-sdk-tags/docs/Tag.md index 92306c51..b2536f68 100644 --- a/thousandeyes-sdk-tags/docs/Tag.md +++ b/thousandeyes-sdk-tags/docs/Tag.md @@ -10,10 +10,11 @@ Name | Type | Description | Notes **aid** | **int** | The account group ID | [optional] [readonly] **color** | **str** | Tag color | [optional] **create_date** | **str** | Tag creation date | [optional] [readonly] -**icon** | **str** | | [optional] [readonly] +**icon** | **str** | | [optional] +**description** | **str** | The tag's description. | [optional] **id** | **str** | The tag ID | [optional] [readonly] **key** | **str** | The tags's key | [optional] -**legacy_id** | **str** | | [optional] [readonly] +**legacy_id** | **float** | | [optional] [readonly] **object_type** | [**ObjectType**](ObjectType.md) | | [optional] **value** | **str** | The tag's value | [optional] **links** | [**SelfLinks**](SelfLinks.md) | | [optional] diff --git a/thousandeyes-sdk-tags/docs/TagAssignmentApi.md b/thousandeyes-sdk-tags/docs/TagAssignmentApi.md index d7cbd18d..3461ff52 100644 --- a/thousandeyes-sdk-tags/docs/TagAssignmentApi.md +++ b/thousandeyes-sdk-tags/docs/TagAssignmentApi.md @@ -1,13 +1,13 @@ # thousandeyes_sdk.tags.TagAssignmentApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**assign_tag**](TagAssignmentApi.md#assign_tag) | **POST** /v7/tags/{id}/assign | Assign tag to multiple objects -[**assign_tags**](TagAssignmentApi.md#assign_tags) | **POST** /v7/tags/assign | Assign multiple tags to multiple objects -[**unassign_tag**](TagAssignmentApi.md#unassign_tag) | **POST** /v7/tags/{id}/unassign | Remove tag from multiple objects -[**unassign_tags**](TagAssignmentApi.md#unassign_tags) | **POST** /v7/tags/unassign | Remove multiple tags from multiple objects +[**assign_tag**](TagAssignmentApi.md#assign_tag) | **POST** /tags/{id}/assign | Assign tag to multiple objects +[**assign_tags**](TagAssignmentApi.md#assign_tags) | **POST** /tags/assign | Assign multiple tags to multiple objects +[**unassign_tag**](TagAssignmentApi.md#unassign_tag) | **POST** /tags/{id}/unassign | Remove tag from multiple objects +[**unassign_tags**](TagAssignmentApi.md#unassign_tags) | **POST** /tags/unassign | Remove multiple tags from multiple objects # **assign_tag** @@ -15,7 +15,7 @@ Method | HTTP request | Description Assign tag to multiple objects -Assigns a tag to one or more objects. This endpoint has cumulative behavior: The tag is assigned to the specified objects, and the previous assignments persist. No unassignment takes place. +Assigns a tag to one or more objects. This operation has cumulative behavior: The tag is assigned to the specified objects, and the previous assignments persist. No unassignment takes place. ### Example @@ -27,10 +27,10 @@ from thousandeyes_sdk.tags.models.tag_assignment import TagAssignment from thousandeyes_sdk.tags.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -47,7 +47,7 @@ configuration = thousandeyes_sdk.core.Configuration( with thousandeyes_sdk.tags.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = thousandeyes_sdk.tags.TagAssignmentApi(api_client) - id = 'c6b78e57-81a2-4c5f-a11a-d96c3c664d55' # str | ID of the tag to associate + id = 'c6b78e57-81a2-4c5f-a11a-d96c3c664d55' # str | Tag ID tag_assignment = thousandeyes_sdk.tags.TagAssignment() # TagAssignment | 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) @@ -65,7 +65,7 @@ with thousandeyes_sdk.tags.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| ID of the tag to associate | + **id** | **str**| Tag ID | **tag_assignment** | [**TagAssignment**](TagAssignment.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] @@ -100,7 +100,7 @@ void (empty response body) Assign multiple tags to multiple objects -Assigns the specified tags to the specified objects. This endpoint has cumulative behavior: The tags are assigned to the specified objects, and the previous assignments persist. No unassignment takes place. +Assigns the specified tags to the specified objects. This operation has cumulative behavior: The tags are assigned to the specified objects, and the previous assignments persist. No unassignment takes place. ### Example @@ -112,10 +112,10 @@ from thousandeyes_sdk.tags.models.bulk_tag_assignments import BulkTagAssignments from thousandeyes_sdk.tags.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -195,10 +195,10 @@ from thousandeyes_sdk.tags.models.tag_assignment import TagAssignment from thousandeyes_sdk.tags.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -215,7 +215,7 @@ configuration = thousandeyes_sdk.core.Configuration( with thousandeyes_sdk.tags.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = thousandeyes_sdk.tags.TagAssignmentApi(api_client) - id = '2983u1' # str | ID of the tag to associate + id = 'c6b78e57-81a2-4c5f-a11a-d96c3c664d55' # str | Tag ID tag_assignment = thousandeyes_sdk.tags.TagAssignment() # TagAssignment | 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) @@ -233,7 +233,7 @@ with thousandeyes_sdk.tags.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| ID of the tag to associate | + **id** | **str**| Tag ID | **tag_assignment** | [**TagAssignment**](TagAssignment.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] @@ -280,10 +280,10 @@ from thousandeyes_sdk.tags.models.bulk_tag_assignments import BulkTagAssignments from thousandeyes_sdk.tags.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters diff --git a/thousandeyes-sdk-tags/docs/TagInfo.md b/thousandeyes-sdk-tags/docs/TagInfo.md index ccf188f1..71c073b3 100644 --- a/thousandeyes-sdk-tags/docs/TagInfo.md +++ b/thousandeyes-sdk-tags/docs/TagInfo.md @@ -10,10 +10,11 @@ Name | Type | Description | Notes **aid** | **int** | The account group ID | [optional] [readonly] **color** | **str** | Tag color | [optional] **create_date** | **str** | Tag creation date | [optional] [readonly] -**icon** | **str** | | [optional] [readonly] +**icon** | **str** | | [optional] +**description** | **str** | The tag's description. | [optional] **id** | **str** | The tag ID | [optional] [readonly] **key** | **str** | The tags's key | [optional] -**legacy_id** | **str** | | [optional] [readonly] +**legacy_id** | **float** | | [optional] [readonly] **object_type** | [**ObjectType**](ObjectType.md) | | [optional] **value** | **str** | The tag's value | [optional] diff --git a/thousandeyes-sdk-tags/docs/TagsApi.md b/thousandeyes-sdk-tags/docs/TagsApi.md index 59269d18..fd93fb2a 100644 --- a/thousandeyes-sdk-tags/docs/TagsApi.md +++ b/thousandeyes-sdk-tags/docs/TagsApi.md @@ -1,15 +1,15 @@ # thousandeyes_sdk.tags.TagsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_tag**](TagsApi.md#create_tag) | **POST** /v7/tags | Create tag -[**create_tags**](TagsApi.md#create_tags) | **POST** /v7/tags/bulk | Create multiple tags -[**delete_tag**](TagsApi.md#delete_tag) | **DELETE** /v7/tags/{id} | Delete tag -[**get_tag**](TagsApi.md#get_tag) | **GET** /v7/tags/{id} | Retrieve tag -[**get_tags**](TagsApi.md#get_tags) | **GET** /v7/tags | List tags -[**update_tag**](TagsApi.md#update_tag) | **PUT** /v7/tags/{id} | Update tag +[**create_tag**](TagsApi.md#create_tag) | **POST** /tags | Create tag +[**create_tags**](TagsApi.md#create_tags) | **POST** /tags/bulk | Create multiple tags +[**delete_tag**](TagsApi.md#delete_tag) | **DELETE** /tags/{id} | Delete tag +[**get_tag**](TagsApi.md#get_tag) | **GET** /tags/{id} | Retrieve tag +[**get_tags**](TagsApi.md#get_tags) | **GET** /tags | List tags +[**update_tag**](TagsApi.md#update_tag) | **PUT** /tags/{id} | Update tag # **create_tag** @@ -29,10 +29,10 @@ from thousandeyes_sdk.tags.models.tag_info import TagInfo from thousandeyes_sdk.tags.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -111,10 +111,10 @@ from thousandeyes_sdk.tags.models.bulk_tag_response import BulkTagResponse from thousandeyes_sdk.tags.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -191,10 +191,10 @@ import thousandeyes_sdk.tags from thousandeyes_sdk.tags.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -211,7 +211,7 @@ configuration = thousandeyes_sdk.core.Configuration( with thousandeyes_sdk.tags.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = thousandeyes_sdk.tags.TagsApi(api_client) - id = 'c6b78e57-81a2-4c5f-a11a-d96c3c664d55' # str | ID of tag to delete + id = 'c6b78e57-81a2-4c5f-a11a-d96c3c664d55' # str | Tag ID aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) try: @@ -228,7 +228,7 @@ with thousandeyes_sdk.tags.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| ID of tag to delete | + **id** | **str**| Tag ID | **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] ### Return type @@ -270,14 +270,14 @@ Retrieves a tag using its ID. ```python import thousandeyes_sdk.tags -from thousandeyes_sdk.tags.models.expand import Expand +from thousandeyes_sdk.tags.models.expand_tags_options import ExpandTagsOptions from thousandeyes_sdk.tags.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -294,9 +294,9 @@ configuration = thousandeyes_sdk.core.Configuration( with thousandeyes_sdk.tags.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = thousandeyes_sdk.tags.TagsApi(api_client) - id = 'c6b78e57-81a2-4c5f-a11a-d96c3c664d55' # str | ID of tag to retrieve + id = 'c6b78e57-81a2-4c5f-a11a-d96c3c664d55' # str | Tag 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) - expand = [thousandeyes_sdk.tags.Expand()] # List[Expand] | Optional, to retrieve associated assignments (optional) + expand = [thousandeyes_sdk.tags.ExpandTagsOptions()] # List[ExpandTagsOptions] | Optional, to retrieve associated assignments (optional) try: # Retrieve tag @@ -312,9 +312,9 @@ with thousandeyes_sdk.tags.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| ID of tag to retrieve | + **id** | **str**| Tag 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] - **expand** | [**List[Expand]**](Expand.md)| Optional, to retrieve associated assignments | [optional] + **expand** | [**List[ExpandTagsOptions]**](ExpandTagsOptions.md)| Optional, to retrieve associated assignments | [optional] ### Return type @@ -347,7 +347,7 @@ void (empty response body) List tags -This endpoint returns a list of tags in the specified account group (`aid`). +This operation returns a list of tags in the specified account group (`aid`). ### Example @@ -355,14 +355,14 @@ This endpoint returns a list of tags in the specified account group (`aid`). ```python import thousandeyes_sdk.tags -from thousandeyes_sdk.tags.models.expand import Expand +from thousandeyes_sdk.tags.models.expand_tags_options import ExpandTagsOptions from thousandeyes_sdk.tags.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -380,7 +380,7 @@ with thousandeyes_sdk.tags.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = thousandeyes_sdk.tags.TagsApi(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) - expand = [thousandeyes_sdk.tags.Expand()] # List[Expand] | Optional, to retrieve associated assignments (optional) + expand = [thousandeyes_sdk.tags.ExpandTagsOptions()] # List[ExpandTagsOptions] | Optional, to retrieve associated assignments (optional) try: # List tags @@ -397,7 +397,7 @@ with thousandeyes_sdk.tags.ApiClient(configuration) as api_client: 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] - **expand** | [**List[Expand]**](Expand.md)| Optional, to retrieve associated assignments | [optional] + **expand** | [**List[ExpandTagsOptions]**](ExpandTagsOptions.md)| Optional, to retrieve associated assignments | [optional] ### Return type @@ -442,10 +442,10 @@ from thousandeyes_sdk.tags.models.tag_info import TagInfo from thousandeyes_sdk.tags.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters diff --git a/thousandeyes-sdk-tags/pyproject.toml b/thousandeyes-sdk-tags/pyproject.toml index b398962c..94402d71 100644 --- a/thousandeyes-sdk-tags/pyproject.toml +++ b/thousandeyes-sdk-tags/pyproject.toml @@ -9,9 +9,9 @@ description = "ThousandEyes SDK Tags API" license = { file = "LICENSE" } requires-python = ">= 3.8" dependencies = [ - "urllib3 >= 1.25.3", + "urllib3 >= 2.0.0", "python-dateutil >=2.8.2", - "pydantic >=2", + "pydantic >=2.1.0", "typing-extensions >=4.7.1", "thousandeyes-sdk-core", ] diff --git a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/__init__.py b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/__init__.py index ff6b80c5..8ede9d4a 100644 --- a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/__init__.py +++ b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/__init__.py @@ -7,7 +7,6 @@ The ThousandEyes Tags API provides a tagging system with key/value pairs. It allows you to tag assets within the ThousandEyes platform (such as agents, tests, or alert rules) with meaningful metadata. For example: `branch:sfo`, `branch:nyc`, and `team:netops`. This feature provides: * Support for automation. * Powerful and flexible reports/dashboards. * Support for third-party integrations. Things to note with the ThousandEyes Tags API: * Tags are backwards-compatible with existing labels. * Tags are separated by Tests (CEA), Agents (CEA), Endpoint Agents, Scheduled Endpoint Tests, and Reports. A single tag can only apply to one type of target object, so each tag must specify the target type of object via a `type` field. * Tags are defined in a single table so that they can be represented using a single model - `Tag`. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,7 +27,7 @@ from thousandeyes_sdk.tags.models.bulk_tag_assignment import BulkTagAssignment from thousandeyes_sdk.tags.models.bulk_tag_assignments import BulkTagAssignments from thousandeyes_sdk.tags.models.bulk_tag_response import BulkTagResponse from thousandeyes_sdk.tags.models.error import Error -from thousandeyes_sdk.tags.models.expand import Expand +from thousandeyes_sdk.tags.models.expand_tags_options import ExpandTagsOptions from thousandeyes_sdk.tags.models.link import Link from thousandeyes_sdk.tags.models.object_type import ObjectType from thousandeyes_sdk.tags.models.self_links import SelfLinks diff --git a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/api/tag_assignment_api.py b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/api/tag_assignment_api.py index f47eabdc..dfe4c33d 100644 --- a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/api/tag_assignment_api.py +++ b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/api/tag_assignment_api.py @@ -5,7 +5,6 @@ The ThousandEyes Tags API provides a tagging system with key/value pairs. It allows you to tag assets within the ThousandEyes platform (such as agents, tests, or alert rules) with meaningful metadata. For example: `branch:sfo`, `branch:nyc`, and `team:netops`. This feature provides: * Support for automation. * Powerful and flexible reports/dashboards. * Support for third-party integrations. Things to note with the ThousandEyes Tags API: * Tags are backwards-compatible with existing labels. * Tags are separated by Tests (CEA), Agents (CEA), Endpoint Agents, Scheduled Endpoint Tests, and Reports. A single tag can only apply to one type of target object, so each tag must specify the target type of object via a `type` field. * Tags are defined in a single table so that they can be represented using a single model - `Tag`. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -47,7 +46,7 @@ class TagAssignmentApi: @validate_call def assign_tag( self, - id: Annotated[StrictStr, Field(description="ID of the tag to associate")], + id: Annotated[StrictStr, Field(description="Tag ID")], tag_assignment: TagAssignment, 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[ @@ -65,9 +64,9 @@ class TagAssignmentApi: ) -> None: """Assign tag to multiple objects - Assigns a tag to one or more objects. This endpoint has cumulative behavior: The tag is assigned to the specified objects, and the previous assignments persist. No unassignment takes place. + Assigns a tag to one or more objects. This operation has cumulative behavior: The tag is assigned to the specified objects, and the previous assignments persist. No unassignment takes place. - :param id: ID of the tag to associate (required) + :param id: Tag ID (required) :type id: str :param tag_assignment: (required) :type tag_assignment: TagAssignment @@ -128,7 +127,7 @@ class TagAssignmentApi: @validate_call def assign_tag_with_http_info( self, - id: Annotated[StrictStr, Field(description="ID of the tag to associate")], + id: Annotated[StrictStr, Field(description="Tag ID")], tag_assignment: TagAssignment, 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[ @@ -146,9 +145,9 @@ class TagAssignmentApi: ) -> ApiResponse[None]: """Assign tag to multiple objects - Assigns a tag to one or more objects. This endpoint has cumulative behavior: The tag is assigned to the specified objects, and the previous assignments persist. No unassignment takes place. + Assigns a tag to one or more objects. This operation has cumulative behavior: The tag is assigned to the specified objects, and the previous assignments persist. No unassignment takes place. - :param id: ID of the tag to associate (required) + :param id: Tag ID (required) :type id: str :param tag_assignment: (required) :type tag_assignment: TagAssignment @@ -209,7 +208,7 @@ class TagAssignmentApi: @validate_call def assign_tag_without_preload_content( self, - id: Annotated[StrictStr, Field(description="ID of the tag to associate")], + id: Annotated[StrictStr, Field(description="Tag ID")], tag_assignment: TagAssignment, 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[ @@ -227,9 +226,9 @@ class TagAssignmentApi: ) -> RESTResponseType: """Assign tag to multiple objects - Assigns a tag to one or more objects. This endpoint has cumulative behavior: The tag is assigned to the specified objects, and the previous assignments persist. No unassignment takes place. + Assigns a tag to one or more objects. This operation has cumulative behavior: The tag is assigned to the specified objects, and the previous assignments persist. No unassignment takes place. - :param id: ID of the tag to associate (required) + :param id: Tag ID (required) :type id: str :param tag_assignment: (required) :type tag_assignment: TagAssignment @@ -349,7 +348,7 @@ class TagAssignmentApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tags/{id}/assign', + resource_path='/tags/{id}/assign', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -385,7 +384,7 @@ class TagAssignmentApi: ) -> None: """Assign multiple tags to multiple objects - Assigns the specified tags to the specified objects. This endpoint has cumulative behavior: The tags are assigned to the specified objects, and the previous assignments persist. No unassignment takes place. + Assigns the specified tags to the specified objects. This operation has cumulative behavior: The tags are assigned to the specified objects, and the previous assignments persist. No unassignment takes place. :param bulk_tag_assignments: (required) :type bulk_tag_assignments: BulkTagAssignments @@ -462,7 +461,7 @@ class TagAssignmentApi: ) -> ApiResponse[None]: """Assign multiple tags to multiple objects - Assigns the specified tags to the specified objects. This endpoint has cumulative behavior: The tags are assigned to the specified objects, and the previous assignments persist. No unassignment takes place. + Assigns the specified tags to the specified objects. This operation has cumulative behavior: The tags are assigned to the specified objects, and the previous assignments persist. No unassignment takes place. :param bulk_tag_assignments: (required) :type bulk_tag_assignments: BulkTagAssignments @@ -539,7 +538,7 @@ class TagAssignmentApi: ) -> RESTResponseType: """Assign multiple tags to multiple objects - Assigns the specified tags to the specified objects. This endpoint has cumulative behavior: The tags are assigned to the specified objects, and the previous assignments persist. No unassignment takes place. + Assigns the specified tags to the specified objects. This operation has cumulative behavior: The tags are assigned to the specified objects, and the previous assignments persist. No unassignment takes place. :param bulk_tag_assignments: (required) :type bulk_tag_assignments: BulkTagAssignments @@ -655,7 +654,7 @@ class TagAssignmentApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tags/assign', + resource_path='/tags/assign', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -674,7 +673,7 @@ class TagAssignmentApi: @validate_call def unassign_tag( self, - id: Annotated[StrictStr, Field(description="ID of the tag to associate")], + id: Annotated[StrictStr, Field(description="Tag ID")], tag_assignment: TagAssignment, 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[ @@ -694,7 +693,7 @@ class TagAssignmentApi: Removes a tag from one or more objects. - :param id: ID of the tag to associate (required) + :param id: Tag ID (required) :type id: str :param tag_assignment: (required) :type tag_assignment: TagAssignment @@ -755,7 +754,7 @@ class TagAssignmentApi: @validate_call def unassign_tag_with_http_info( self, - id: Annotated[StrictStr, Field(description="ID of the tag to associate")], + id: Annotated[StrictStr, Field(description="Tag ID")], tag_assignment: TagAssignment, 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[ @@ -775,7 +774,7 @@ class TagAssignmentApi: Removes a tag from one or more objects. - :param id: ID of the tag to associate (required) + :param id: Tag ID (required) :type id: str :param tag_assignment: (required) :type tag_assignment: TagAssignment @@ -836,7 +835,7 @@ class TagAssignmentApi: @validate_call def unassign_tag_without_preload_content( self, - id: Annotated[StrictStr, Field(description="ID of the tag to associate")], + id: Annotated[StrictStr, Field(description="Tag ID")], tag_assignment: TagAssignment, 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[ @@ -856,7 +855,7 @@ class TagAssignmentApi: Removes a tag from one or more objects. - :param id: ID of the tag to associate (required) + :param id: Tag ID (required) :type id: str :param tag_assignment: (required) :type tag_assignment: TagAssignment @@ -976,7 +975,7 @@ class TagAssignmentApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tags/{id}/unassign', + resource_path='/tags/{id}/unassign', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1282,7 +1281,7 @@ class TagAssignmentApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tags/unassign', + resource_path='/tags/unassign', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/api/tags_api.py b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/api/tags_api.py index 3bd192be..38ddb0b7 100644 --- a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/api/tags_api.py +++ b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/api/tags_api.py @@ -5,7 +5,6 @@ The ThousandEyes Tags API provides a tagging system with key/value pairs. It allows you to tag assets within the ThousandEyes platform (such as agents, tests, or alert rules) with meaningful metadata. For example: `branch:sfo`, `branch:nyc`, and `team:netops`. This feature provides: * Support for automation. * Powerful and flexible reports/dashboards. * Support for third-party integrations. Things to note with the ThousandEyes Tags API: * Tags are backwards-compatible with existing labels. * Tags are separated by Tests (CEA), Agents (CEA), Endpoint Agents, Scheduled Endpoint Tests, and Reports. A single tag can only apply to one type of target object, so each tag must specify the target type of object via a `type` field. * Tags are defined in a single table so that they can be represented using a single model - `Tag`. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -23,7 +22,7 @@ from pydantic import Field, StrictStr from typing import List, Optional from typing_extensions import Annotated from thousandeyes_sdk.tags.models.bulk_tag_response import BulkTagResponse -from thousandeyes_sdk.tags.models.expand import Expand +from thousandeyes_sdk.tags.models.expand_tags_options import ExpandTagsOptions from thousandeyes_sdk.tags.models.tag_info import TagInfo from thousandeyes_sdk.core.api_client import ApiClient, RequestSerialized @@ -332,7 +331,7 @@ class TagsApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tags', + resource_path='/tags', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -632,7 +631,7 @@ class TagsApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tags/bulk', + resource_path='/tags/bulk', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -651,7 +650,7 @@ class TagsApi: @validate_call def delete_tag( self, - id: Annotated[StrictStr, Field(description="ID of tag to delete")], + id: Annotated[StrictStr, Field(description="Tag 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, _request_timeout: Union[ None, @@ -670,7 +669,7 @@ class TagsApi: Deletes a tag. - :param id: ID of tag to delete (required) + :param id: Tag ID (required) :type id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -728,7 +727,7 @@ class TagsApi: @validate_call def delete_tag_with_http_info( self, - id: Annotated[StrictStr, Field(description="ID of tag to delete")], + id: Annotated[StrictStr, Field(description="Tag 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, _request_timeout: Union[ None, @@ -747,7 +746,7 @@ class TagsApi: Deletes a tag. - :param id: ID of tag to delete (required) + :param id: Tag ID (required) :type id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -805,7 +804,7 @@ class TagsApi: @validate_call def delete_tag_without_preload_content( self, - id: Annotated[StrictStr, Field(description="ID of tag to delete")], + id: Annotated[StrictStr, Field(description="Tag 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, _request_timeout: Union[ None, @@ -824,7 +823,7 @@ class TagsApi: Deletes a tag. - :param id: ID of tag to delete (required) + :param id: Tag ID (required) :type id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -925,7 +924,7 @@ class TagsApi: return self.api_client.param_serialize( method='DELETE', - resource_path='/v7/tags/{id}', + resource_path='/tags/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -944,9 +943,9 @@ class TagsApi: @validate_call def get_tag( self, - id: Annotated[StrictStr, Field(description="ID of tag to retrieve")], + id: Annotated[StrictStr, Field(description="Tag 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional, to retrieve associated assignments")] = None, + expand: Annotated[Optional[List[ExpandTagsOptions]], Field(description="Optional, to retrieve associated assignments")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -964,12 +963,12 @@ class TagsApi: Retrieves a tag using its ID. - :param id: ID of tag to retrieve (required) + :param id: Tag ID (required) :type id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional, to retrieve associated assignments - :type expand: List[Expand] + :type expand: List[ExpandTagsOptions] :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 @@ -1025,9 +1024,9 @@ class TagsApi: @validate_call def get_tag_with_http_info( self, - id: Annotated[StrictStr, Field(description="ID of tag to retrieve")], + id: Annotated[StrictStr, Field(description="Tag 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional, to retrieve associated assignments")] = None, + expand: Annotated[Optional[List[ExpandTagsOptions]], Field(description="Optional, to retrieve associated assignments")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1045,12 +1044,12 @@ class TagsApi: Retrieves a tag using its ID. - :param id: ID of tag to retrieve (required) + :param id: Tag ID (required) :type id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional, to retrieve associated assignments - :type expand: List[Expand] + :type expand: List[ExpandTagsOptions] :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 @@ -1106,9 +1105,9 @@ class TagsApi: @validate_call def get_tag_without_preload_content( self, - id: Annotated[StrictStr, Field(description="ID of tag to retrieve")], + id: Annotated[StrictStr, Field(description="Tag 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional, to retrieve associated assignments")] = None, + expand: Annotated[Optional[List[ExpandTagsOptions]], Field(description="Optional, to retrieve associated assignments")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1126,12 +1125,12 @@ class TagsApi: Retrieves a tag using its ID. - :param id: ID of tag to retrieve (required) + :param id: Tag ID (required) :type id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional, to retrieve associated assignments - :type expand: List[Expand] + :type expand: List[ExpandTagsOptions] :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 @@ -1236,7 +1235,7 @@ class TagsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/tags/{id}', + resource_path='/tags/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1256,7 +1255,7 @@ class TagsApi: def get_tags( 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional, to retrieve associated assignments")] = None, + expand: Annotated[Optional[List[ExpandTagsOptions]], Field(description="Optional, to retrieve associated assignments")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1272,12 +1271,12 @@ class TagsApi: ) -> None: """List tags - This endpoint returns a list of tags in the specified account group (`aid`). + This operation returns a list of tags in the specified account group (`aid`). :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 expand: Optional, to retrieve associated assignments - :type expand: List[Expand] + :type expand: List[ExpandTagsOptions] :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 @@ -1333,7 +1332,7 @@ class TagsApi: def get_tags_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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional, to retrieve associated assignments")] = None, + expand: Annotated[Optional[List[ExpandTagsOptions]], Field(description="Optional, to retrieve associated assignments")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1349,12 +1348,12 @@ class TagsApi: ) -> ApiResponse[None]: """List tags - This endpoint returns a list of tags in the specified account group (`aid`). + This operation returns a list of tags in the specified account group (`aid`). :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 expand: Optional, to retrieve associated assignments - :type expand: List[Expand] + :type expand: List[ExpandTagsOptions] :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 @@ -1410,7 +1409,7 @@ class TagsApi: def get_tags_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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional, to retrieve associated assignments")] = None, + expand: Annotated[Optional[List[ExpandTagsOptions]], Field(description="Optional, to retrieve associated assignments")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1426,12 +1425,12 @@ class TagsApi: ) -> RESTResponseType: """List tags - This endpoint returns a list of tags in the specified account group (`aid`). + This operation returns a list of tags in the specified account group (`aid`). :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 expand: Optional, to retrieve associated assignments - :type expand: List[Expand] + :type expand: List[ExpandTagsOptions] :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 @@ -1532,7 +1531,7 @@ class TagsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/tags', + resource_path='/tags', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1853,7 +1852,7 @@ class TagsApi: return self.api_client.param_serialize( method='PUT', - resource_path='/v7/tags/{id}', + resource_path='/tags/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/__init__.py b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/__init__.py index 9ea5f29a..0a78c26b 100644 --- a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/__init__.py +++ b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/__init__.py @@ -6,7 +6,6 @@ The ThousandEyes Tags API provides a tagging system with key/value pairs. It allows you to tag assets within the ThousandEyes platform (such as agents, tests, or alert rules) with meaningful metadata. For example: `branch:sfo`, `branch:nyc`, and `team:netops`. This feature provides: * Support for automation. * Powerful and flexible reports/dashboards. * Support for third-party integrations. Things to note with the ThousandEyes Tags API: * Tags are backwards-compatible with existing labels. * Tags are separated by Tests (CEA), Agents (CEA), Endpoint Agents, Scheduled Endpoint Tests, and Reports. A single tag can only apply to one type of target object, so each tag must specify the target type of object via a `type` field. * Tags are defined in a single table so that they can be represented using a single model - `Tag`. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,7 +21,7 @@ from thousandeyes_sdk.tags.models.bulk_tag_assignment import BulkTagAssignment from thousandeyes_sdk.tags.models.bulk_tag_assignments import BulkTagAssignments from thousandeyes_sdk.tags.models.bulk_tag_response import BulkTagResponse from thousandeyes_sdk.tags.models.error import Error -from thousandeyes_sdk.tags.models.expand import Expand +from thousandeyes_sdk.tags.models.expand_tags_options import ExpandTagsOptions from thousandeyes_sdk.tags.models.link import Link from thousandeyes_sdk.tags.models.object_type import ObjectType from thousandeyes_sdk.tags.models.self_links import SelfLinks diff --git a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/access_type.py b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/access_type.py index 03128f48..1836d93e 100644 --- a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/access_type.py +++ b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/access_type.py @@ -5,7 +5,6 @@ The ThousandEyes Tags API provides a tagging system with key/value pairs. It allows you to tag assets within the ThousandEyes platform (such as agents, tests, or alert rules) with meaningful metadata. For example: `branch:sfo`, `branch:nyc`, and `team:netops`. This feature provides: * Support for automation. * Powerful and flexible reports/dashboards. * Support for third-party integrations. Things to note with the ThousandEyes Tags API: * Tags are backwards-compatible with existing labels. * Tags are separated by Tests (CEA), Agents (CEA), Endpoint Agents, Scheduled Endpoint Tests, and Reports. A single tag can only apply to one type of target object, so each tag must specify the target type of object via a `type` field. * Tags are defined in a single table so that they can be represented using a single model - `Tag`. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class AccessType(str, Enum): ALL = 'all' PARTNER = 'partner' SYSTEM = 'system' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of AccessType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/api_error.py b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/api_error.py index 02af3c06..4f72daed 100644 --- a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/api_error.py +++ b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/api_error.py @@ -5,7 +5,6 @@ The ThousandEyes Tags API provides a tagging system with key/value pairs. It allows you to tag assets within the ThousandEyes platform (such as agents, tests, or alert rules) with meaningful metadata. For example: `branch:sfo`, `branch:nyc`, and `team:netops`. This feature provides: * Support for automation. * Powerful and flexible reports/dashboards. * Support for third-party integrations. Things to note with the ThousandEyes Tags API: * Tags are backwards-compatible with existing labels. * Tags are separated by Tests (CEA), Agents (CEA), Endpoint Agents, Scheduled Endpoint Tests, and Reports. A single tag can only apply to one type of target object, so each tag must specify the target type of object via a `type` field. * Tags are defined in a single table so that they can be represented using a single model - `Tag`. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/assignment.py b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/assignment.py index 6aac9c6d..2527b9bd 100644 --- a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/assignment.py +++ b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/assignment.py @@ -5,7 +5,6 @@ The ThousandEyes Tags API provides a tagging system with key/value pairs. It allows you to tag assets within the ThousandEyes platform (such as agents, tests, or alert rules) with meaningful metadata. For example: `branch:sfo`, `branch:nyc`, and `team:netops`. This feature provides: * Support for automation. * Powerful and flexible reports/dashboards. * Support for third-party integrations. Things to note with the ThousandEyes Tags API: * Tags are backwards-compatible with existing labels. * Tags are separated by Tests (CEA), Agents (CEA), Endpoint Agents, Scheduled Endpoint Tests, and Reports. A single tag can only apply to one type of target object, so each tag must specify the target type of object via a `type` field. * Tags are defined in a single table so that they can be represented using a single model - `Tag`. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/assignment_type.py b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/assignment_type.py index 3f4059ad..5a19d6ff 100644 --- a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/assignment_type.py +++ b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/assignment_type.py @@ -5,7 +5,6 @@ The ThousandEyes Tags API provides a tagging system with key/value pairs. It allows you to tag assets within the ThousandEyes platform (such as agents, tests, or alert rules) with meaningful metadata. For example: `branch:sfo`, `branch:nyc`, and `team:netops`. This feature provides: * Support for automation. * Powerful and flexible reports/dashboards. * Support for third-party integrations. Things to note with the ThousandEyes Tags API: * Tags are backwards-compatible with existing labels. * Tags are separated by Tests (CEA), Agents (CEA), Endpoint Agents, Scheduled Endpoint Tests, and Reports. A single tag can only apply to one type of target object, so each tag must specify the target type of object via a `type` field. * Tags are defined in a single table so that they can be represented using a single model - `Tag`. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -27,13 +26,18 @@ class AssignmentType(str, Enum): allowed enum values """ TEST = 'test' - AGENT = 'agent' - ENDPOINT_MINUS_AGENT_MINUS_TEST = 'endpoint-agent-test' - REPORT = 'report' + V_MINUS_AGENT = 'v-agent' + ENDPOINT_MINUS_TEST = 'endpoint-test' + DASHBOARD = 'dashboard' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of AssignmentType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/bulk_tag_assignment.py b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/bulk_tag_assignment.py index 83315749..8ae02eaf 100644 --- a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/bulk_tag_assignment.py +++ b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/bulk_tag_assignment.py @@ -5,7 +5,6 @@ The ThousandEyes Tags API provides a tagging system with key/value pairs. It allows you to tag assets within the ThousandEyes platform (such as agents, tests, or alert rules) with meaningful metadata. For example: `branch:sfo`, `branch:nyc`, and `team:netops`. This feature provides: * Support for automation. * Powerful and flexible reports/dashboards. * Support for third-party integrations. Things to note with the ThousandEyes Tags API: * Tags are backwards-compatible with existing labels. * Tags are separated by Tests (CEA), Agents (CEA), Endpoint Agents, Scheduled Endpoint Tests, and Reports. A single tag can only apply to one type of target object, so each tag must specify the target type of object via a `type` field. * Tags are defined in a single table so that they can be represented using a single model - `Tag`. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/bulk_tag_assignments.py b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/bulk_tag_assignments.py index 1930a432..74011b9f 100644 --- a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/bulk_tag_assignments.py +++ b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/bulk_tag_assignments.py @@ -5,7 +5,6 @@ The ThousandEyes Tags API provides a tagging system with key/value pairs. It allows you to tag assets within the ThousandEyes platform (such as agents, tests, or alert rules) with meaningful metadata. For example: `branch:sfo`, `branch:nyc`, and `team:netops`. This feature provides: * Support for automation. * Powerful and flexible reports/dashboards. * Support for third-party integrations. Things to note with the ThousandEyes Tags API: * Tags are backwards-compatible with existing labels. * Tags are separated by Tests (CEA), Agents (CEA), Endpoint Agents, Scheduled Endpoint Tests, and Reports. A single tag can only apply to one type of target object, so each tag must specify the target type of object via a `type` field. * Tags are defined in a single table so that they can be represented using a single model - `Tag`. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/bulk_tag_response.py b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/bulk_tag_response.py index f231d131..61dff04c 100644 --- a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/bulk_tag_response.py +++ b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/bulk_tag_response.py @@ -5,7 +5,6 @@ The ThousandEyes Tags API provides a tagging system with key/value pairs. It allows you to tag assets within the ThousandEyes platform (such as agents, tests, or alert rules) with meaningful metadata. For example: `branch:sfo`, `branch:nyc`, and `team:netops`. This feature provides: * Support for automation. * Powerful and flexible reports/dashboards. * Support for third-party integrations. Things to note with the ThousandEyes Tags API: * Tags are backwards-compatible with existing labels. * Tags are separated by Tests (CEA), Agents (CEA), Endpoint Agents, Scheduled Endpoint Tests, and Reports. A single tag can only apply to one type of target object, so each tag must specify the target type of object via a `type` field. * Tags are defined in a single table so that they can be represented using a single model - `Tag`. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/error.py b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/error.py index 71823734..73da492f 100644 --- a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/error.py +++ b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/error.py @@ -5,7 +5,6 @@ The ThousandEyes Tags API provides a tagging system with key/value pairs. It allows you to tag assets within the ThousandEyes platform (such as agents, tests, or alert rules) with meaningful metadata. For example: `branch:sfo`, `branch:nyc`, and `team:netops`. This feature provides: * Support for automation. * Powerful and flexible reports/dashboards. * Support for third-party integrations. Things to note with the ThousandEyes Tags API: * Tags are backwards-compatible with existing labels. * Tags are separated by Tests (CEA), Agents (CEA), Endpoint Agents, Scheduled Endpoint Tests, and Reports. A single tag can only apply to one type of target object, so each tag must specify the target type of object via a `type` field. * Tags are defined in a single table so that they can be represented using a single model - `Tag`. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/expand.py b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/expand_tags_options.py similarity index 83% rename from thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/expand.py rename to thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/expand_tags_options.py index 9b8a8cd0..d801093a 100644 --- a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/expand.py +++ b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/expand_tags_options.py @@ -5,7 +5,6 @@ The ThousandEyes Tags API provides a tagging system with key/value pairs. It allows you to tag assets within the ThousandEyes platform (such as agents, tests, or alert rules) with meaningful metadata. For example: `branch:sfo`, `branch:nyc`, and `team:netops`. This feature provides: * Support for automation. * Powerful and flexible reports/dashboards. * Support for third-party integrations. Things to note with the ThousandEyes Tags API: * Tags are backwards-compatible with existing labels. * Tags are separated by Tests (CEA), Agents (CEA), Endpoint Agents, Scheduled Endpoint Tests, and Reports. A single tag can only apply to one type of target object, so each tag must specify the target type of object via a `type` field. * Tags are defined in a single table so that they can be represented using a single model - `Tag`. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -18,19 +17,24 @@ from enum import Enum from typing_extensions import Self -class Expand(str, Enum): +class ExpandTagsOptions(str, Enum): """ - Expand + ExpandTagsOptions """ """ allowed enum values """ ASSIGNMENTS = 'assignments' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: - """Create an instance of Expand from a JSON string""" + """Create an instance of ExpandTagsOptions from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/link.py b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/link.py index 5a20add6..54d4da26 100644 --- a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/link.py +++ b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/link.py @@ -5,7 +5,6 @@ The ThousandEyes Tags API provides a tagging system with key/value pairs. It allows you to tag assets within the ThousandEyes platform (such as agents, tests, or alert rules) with meaningful metadata. For example: `branch:sfo`, `branch:nyc`, and `team:netops`. This feature provides: * Support for automation. * Powerful and flexible reports/dashboards. * Support for third-party integrations. Things to note with the ThousandEyes Tags API: * Tags are backwards-compatible with existing labels. * Tags are separated by Tests (CEA), Agents (CEA), Endpoint Agents, Scheduled Endpoint Tests, and Reports. A single tag can only apply to one type of target object, so each tag must specify the target type of object via a `type` field. * Tags are defined in a single table so that they can be represented using a single model - `Tag`. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/object_type.py b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/object_type.py index c1889bbd..a6df1b2a 100644 --- a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/object_type.py +++ b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/object_type.py @@ -5,7 +5,6 @@ The ThousandEyes Tags API provides a tagging system with key/value pairs. It allows you to tag assets within the ThousandEyes platform (such as agents, tests, or alert rules) with meaningful metadata. For example: `branch:sfo`, `branch:nyc`, and `team:netops`. This feature provides: * Support for automation. * Powerful and flexible reports/dashboards. * Support for third-party integrations. Things to note with the ThousandEyes Tags API: * Tags are backwards-compatible with existing labels. * Tags are separated by Tests (CEA), Agents (CEA), Endpoint Agents, Scheduled Endpoint Tests, and Reports. A single tag can only apply to one type of target object, so each tag must specify the target type of object via a `type` field. * Tags are defined in a single table so that they can be represented using a single model - `Tag`. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -30,10 +29,15 @@ class ObjectType(str, Enum): DASHBOARD = 'dashboard' ENDPOINT_MINUS_TEST = 'endpoint-test' V_MINUS_AGENT = 'v-agent' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of ObjectType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/self_links.py b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/self_links.py index 31051d30..02036cd9 100644 --- a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/self_links.py +++ b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/self_links.py @@ -5,7 +5,6 @@ The ThousandEyes Tags API provides a tagging system with key/value pairs. It allows you to tag assets within the ThousandEyes platform (such as agents, tests, or alert rules) with meaningful metadata. For example: `branch:sfo`, `branch:nyc`, and `team:netops`. This feature provides: * Support for automation. * Powerful and flexible reports/dashboards. * Support for third-party integrations. Things to note with the ThousandEyes Tags API: * Tags are backwards-compatible with existing labels. * Tags are separated by Tests (CEA), Agents (CEA), Endpoint Agents, Scheduled Endpoint Tests, and Reports. A single tag can only apply to one type of target object, so each tag must specify the target type of object via a `type` field. * Tags are defined in a single table so that they can be represented using a single model - `Tag`. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/tag.py b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/tag.py index 91169194..1511cf07 100644 --- a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/tag.py +++ b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/tag.py @@ -5,7 +5,6 @@ The ThousandEyes Tags API provides a tagging system with key/value pairs. It allows you to tag assets within the ThousandEyes platform (such as agents, tests, or alert rules) with meaningful metadata. For example: `branch:sfo`, `branch:nyc`, and `team:netops`. This feature provides: * Support for automation. * Powerful and flexible reports/dashboards. * Support for third-party integrations. Things to note with the ThousandEyes Tags API: * Tags are backwards-compatible with existing labels. * Tags are separated by Tests (CEA), Agents (CEA), Endpoint Agents, Scheduled Endpoint Tests, and Reports. A single tag can only apply to one type of target object, so each tag must specify the target type of object via a `type` field. * Tags are defined in a single table so that they can be represented using a single model - `Tag`. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,8 +16,8 @@ import pprint import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union from thousandeyes_sdk.tags.models.access_type import AccessType from thousandeyes_sdk.tags.models.assignment import Assignment from thousandeyes_sdk.tags.models.object_type import ObjectType @@ -36,13 +35,14 @@ class Tag(BaseModel): color: Optional[StrictStr] = Field(default=None, description="Tag color") create_date: Optional[StrictStr] = Field(default=None, description="Tag creation date", alias="createDate") icon: Optional[StrictStr] = None + description: Optional[StrictStr] = Field(default=None, description="The tag's description.") id: Optional[StrictStr] = Field(default=None, description="The tag ID") key: Optional[StrictStr] = Field(default=None, description="The tags's key") - legacy_id: Optional[StrictStr] = Field(default=None, alias="legacyId") + legacy_id: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="legacyId") object_type: Optional[ObjectType] = Field(default=None, alias="objectType") value: Optional[StrictStr] = Field(default=None, description="The tag's value") links: Optional[SelfLinks] = Field(default=None, alias="_links") - __properties: ClassVar[List[str]] = ["assignments", "accessType", "aid", "color", "createDate", "icon", "id", "key", "legacyId", "objectType", "value", "_links"] + __properties: ClassVar[List[str]] = ["assignments", "accessType", "aid", "color", "createDate", "icon", "description", "id", "key", "legacyId", "objectType", "value", "_links"] model_config = ConfigDict( populate_by_name=True, @@ -80,13 +80,11 @@ class Tag(BaseModel): * 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([ "assignments", "aid", "create_date", - "icon", "id", "legacy_id", ]) @@ -111,6 +109,11 @@ class Tag(BaseModel): if self.icon is None and "icon" in self.model_fields_set: _dict['icon'] = None + # set to None if description (nullable) is None + # and model_fields_set contains the field + if self.description is None and "description" in self.model_fields_set: + _dict['description'] = None + # set to None if legacy_id (nullable) is None # and model_fields_set contains the field if self.legacy_id is None and "legacy_id" in self.model_fields_set: @@ -134,6 +137,7 @@ class Tag(BaseModel): "color": obj.get("color"), "createDate": obj.get("createDate"), "icon": obj.get("icon"), + "description": obj.get("description"), "id": obj.get("id"), "key": obj.get("key"), "legacyId": obj.get("legacyId"), diff --git a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/tag_assignment.py b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/tag_assignment.py index 49310ede..a5170028 100644 --- a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/tag_assignment.py +++ b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/tag_assignment.py @@ -5,7 +5,6 @@ The ThousandEyes Tags API provides a tagging system with key/value pairs. It allows you to tag assets within the ThousandEyes platform (such as agents, tests, or alert rules) with meaningful metadata. For example: `branch:sfo`, `branch:nyc`, and `team:netops`. This feature provides: * Support for automation. * Powerful and flexible reports/dashboards. * Support for third-party integrations. Things to note with the ThousandEyes Tags API: * Tags are backwards-compatible with existing labels. * Tags are separated by Tests (CEA), Agents (CEA), Endpoint Agents, Scheduled Endpoint Tests, and Reports. A single tag can only apply to one type of target object, so each tag must specify the target type of object via a `type` field. * Tags are defined in a single table so that they can be represented using a single model - `Tag`. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/tag_bulk_create_error.py b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/tag_bulk_create_error.py index 922a7085..a8a5f73f 100644 --- a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/tag_bulk_create_error.py +++ b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/tag_bulk_create_error.py @@ -5,7 +5,6 @@ The ThousandEyes Tags API provides a tagging system with key/value pairs. It allows you to tag assets within the ThousandEyes platform (such as agents, tests, or alert rules) with meaningful metadata. For example: `branch:sfo`, `branch:nyc`, and `team:netops`. This feature provides: * Support for automation. * Powerful and flexible reports/dashboards. * Support for third-party integrations. Things to note with the ThousandEyes Tags API: * Tags are backwards-compatible with existing labels. * Tags are separated by Tests (CEA), Agents (CEA), Endpoint Agents, Scheduled Endpoint Tests, and Reports. A single tag can only apply to one type of target object, so each tag must specify the target type of object via a `type` field. * Tags are defined in a single table so that they can be represented using a single model - `Tag`. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/tag_info.py b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/tag_info.py index b9eb8804..afde4bdb 100644 --- a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/tag_info.py +++ b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/tag_info.py @@ -5,7 +5,6 @@ The ThousandEyes Tags API provides a tagging system with key/value pairs. It allows you to tag assets within the ThousandEyes platform (such as agents, tests, or alert rules) with meaningful metadata. For example: `branch:sfo`, `branch:nyc`, and `team:netops`. This feature provides: * Support for automation. * Powerful and flexible reports/dashboards. * Support for third-party integrations. Things to note with the ThousandEyes Tags API: * Tags are backwards-compatible with existing labels. * Tags are separated by Tests (CEA), Agents (CEA), Endpoint Agents, Scheduled Endpoint Tests, and Reports. A single tag can only apply to one type of target object, so each tag must specify the target type of object via a `type` field. * Tags are defined in a single table so that they can be represented using a single model - `Tag`. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,8 +16,8 @@ import pprint import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union from thousandeyes_sdk.tags.models.access_type import AccessType from thousandeyes_sdk.tags.models.assignment import Assignment from thousandeyes_sdk.tags.models.object_type import ObjectType @@ -35,12 +34,13 @@ class TagInfo(BaseModel): color: Optional[StrictStr] = Field(default=None, description="Tag color") create_date: Optional[StrictStr] = Field(default=None, description="Tag creation date", alias="createDate") icon: Optional[StrictStr] = None + description: Optional[StrictStr] = Field(default=None, description="The tag's description.") id: Optional[StrictStr] = Field(default=None, description="The tag ID") key: Optional[StrictStr] = Field(default=None, description="The tags's key") - legacy_id: Optional[StrictStr] = Field(default=None, alias="legacyId") + legacy_id: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="legacyId") object_type: Optional[ObjectType] = Field(default=None, alias="objectType") value: Optional[StrictStr] = Field(default=None, description="The tag's value") - __properties: ClassVar[List[str]] = ["assignments", "accessType", "aid", "color", "createDate", "icon", "id", "key", "legacyId", "objectType", "value"] + __properties: ClassVar[List[str]] = ["assignments", "accessType", "aid", "color", "createDate", "icon", "description", "id", "key", "legacyId", "objectType", "value"] model_config = ConfigDict( populate_by_name=True, @@ -78,13 +78,11 @@ class TagInfo(BaseModel): * 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([ "assignments", "aid", "create_date", - "icon", "id", "legacy_id", ]) @@ -106,6 +104,11 @@ class TagInfo(BaseModel): if self.icon is None and "icon" in self.model_fields_set: _dict['icon'] = None + # set to None if description (nullable) is None + # and model_fields_set contains the field + if self.description is None and "description" in self.model_fields_set: + _dict['description'] = None + # set to None if legacy_id (nullable) is None # and model_fields_set contains the field if self.legacy_id is None and "legacy_id" in self.model_fields_set: @@ -129,6 +132,7 @@ class TagInfo(BaseModel): "color": obj.get("color"), "createDate": obj.get("createDate"), "icon": obj.get("icon"), + "description": obj.get("description"), "id": obj.get("id"), "key": obj.get("key"), "legacyId": obj.get("legacyId"), diff --git a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/tags.py b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/tags.py index 8a739c3d..09c53730 100644 --- a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/tags.py +++ b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/tags.py @@ -5,7 +5,6 @@ The ThousandEyes Tags API provides a tagging system with key/value pairs. It allows you to tag assets within the ThousandEyes platform (such as agents, tests, or alert rules) with meaningful metadata. For example: `branch:sfo`, `branch:nyc`, and `team:netops`. This feature provides: * Support for automation. * Powerful and flexible reports/dashboards. * Support for third-party integrations. Things to note with the ThousandEyes Tags API: * Tags are backwards-compatible with existing labels. * Tags are separated by Tests (CEA), Agents (CEA), Endpoint Agents, Scheduled Endpoint Tests, and Reports. A single tag can only apply to one type of target object, so each tag must specify the target type of object via a `type` field. * Tags are defined in a single table so that they can be represented using a single model - `Tag`. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/unauthorized_error.py b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/unauthorized_error.py index be0b1802..1cff896a 100644 --- a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/unauthorized_error.py +++ b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/unauthorized_error.py @@ -5,7 +5,6 @@ The ThousandEyes Tags API provides a tagging system with key/value pairs. It allows you to tag assets within the ThousandEyes platform (such as agents, tests, or alert rules) with meaningful metadata. For example: `branch:sfo`, `branch:nyc`, and `team:netops`. This feature provides: * Support for automation. * Powerful and flexible reports/dashboards. * Support for third-party integrations. Things to note with the ThousandEyes Tags API: * Tags are backwards-compatible with existing labels. * Tags are separated by Tests (CEA), Agents (CEA), Endpoint Agents, Scheduled Endpoint Tests, and Reports. A single tag can only apply to one type of target object, so each tag must specify the target type of object via a `type` field. * Tags are defined in a single table so that they can be represented using a single model - `Tag`. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/validation_error.py b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/validation_error.py index 449ef7dc..e7254ff5 100644 --- a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/validation_error.py +++ b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/validation_error.py @@ -5,7 +5,6 @@ The ThousandEyes Tags API provides a tagging system with key/value pairs. It allows you to tag assets within the ThousandEyes platform (such as agents, tests, or alert rules) with meaningful metadata. For example: `branch:sfo`, `branch:nyc`, and `team:netops`. This feature provides: * Support for automation. * Powerful and flexible reports/dashboards. * Support for third-party integrations. Things to note with the ThousandEyes Tags API: * Tags are backwards-compatible with existing labels. * Tags are separated by Tests (CEA), Agents (CEA), Endpoint Agents, Scheduled Endpoint Tests, and Reports. A single tag can only apply to one type of target object, so each tag must specify the target type of object via a `type` field. * Tags are defined in a single table so that they can be represented using a single model - `Tag`. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/validation_error_item.py b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/validation_error_item.py index 5cec7e1f..617181d8 100644 --- a/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/validation_error_item.py +++ b/thousandeyes-sdk-tags/src/thousandeyes_sdk/tags/models/validation_error_item.py @@ -5,7 +5,6 @@ The ThousandEyes Tags API provides a tagging system with key/value pairs. It allows you to tag assets within the ThousandEyes platform (such as agents, tests, or alert rules) with meaningful metadata. For example: `branch:sfo`, `branch:nyc`, and `team:netops`. This feature provides: * Support for automation. * Powerful and flexible reports/dashboards. * Support for third-party integrations. Things to note with the ThousandEyes Tags API: * Tags are backwards-compatible with existing labels. * Tags are separated by Tests (CEA), Agents (CEA), Endpoint Agents, Scheduled Endpoint Tests, and Reports. A single tag can only apply to one type of target object, so each tag must specify the target type of object via a `type` field. * Tags are defined in a single table so that they can be represented using a single model - `Tag`. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tags/test/test_tag_assignment_api.py b/thousandeyes-sdk-tags/test/test_tag_assignment_api.py index ef488433..2d82a8b3 100644 --- a/thousandeyes-sdk-tags/test/test_tag_assignment_api.py +++ b/thousandeyes-sdk-tags/test/test_tag_assignment_api.py @@ -5,7 +5,6 @@ The ThousandEyes Tags API provides a tagging system with key/value pairs. It allows you to tag assets within the ThousandEyes platform (such as agents, tests, or alert rules) with meaningful metadata. For example: `branch:sfo`, `branch:nyc`, and `team:netops`. This feature provides: * Support for automation. * Powerful and flexible reports/dashboards. * Support for third-party integrations. Things to note with the ThousandEyes Tags API: * Tags are backwards-compatible with existing labels. * Tags are separated by Tests (CEA), Agents (CEA), Endpoint Agents, Scheduled Endpoint Tests, and Reports. A single tag can only apply to one type of target object, so each tag must specify the target type of object via a `type` field. * Tags are defined in a single table so that they can be represented using a single model - `Tag`. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tags/test/test_tags_api.py b/thousandeyes-sdk-tags/test/test_tags_api.py index 7996b5d1..6ba8d8a4 100644 --- a/thousandeyes-sdk-tags/test/test_tags_api.py +++ b/thousandeyes-sdk-tags/test/test_tags_api.py @@ -5,7 +5,6 @@ The ThousandEyes Tags API provides a tagging system with key/value pairs. It allows you to tag assets within the ThousandEyes platform (such as agents, tests, or alert rules) with meaningful metadata. For example: `branch:sfo`, `branch:nyc`, and `team:netops`. This feature provides: * Support for automation. * Powerful and flexible reports/dashboards. * Support for third-party integrations. Things to note with the ThousandEyes Tags API: * Tags are backwards-compatible with existing labels. * Tags are separated by Tests (CEA), Agents (CEA), Endpoint Agents, Scheduled Endpoint Tests, and Reports. A single tag can only apply to one type of target object, so each tag must specify the target type of object via a `type` field. * Tags are defined in a single table so that they can be represented using a single model - `Tag`. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -43,7 +42,8 @@ class TestTagsApi(unittest.TestCase): } ], "color" : "#FF0000", "icon" : "icon", - "legacyId" : "legacyId", + "description" : "To tag assets in San Francisco", + "legacyId" : 0.8008281904610115, "id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c", "aid" : 1234, "value" : "sfo", @@ -74,7 +74,8 @@ class TestTagsApi(unittest.TestCase): } ], "color" : "#FF0000", "icon" : "icon", - "legacyId" : "legacyId", + "description" : "To tag assets in San Francisco", + "legacyId" : 0.8008281904610115, "id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c", "aid" : 1234, "value" : "sfo", @@ -98,7 +99,8 @@ class TestTagsApi(unittest.TestCase): } ], "color" : "#FF0000", "icon" : "icon", - "legacyId" : "legacyId", + "description" : "To tag assets in San Francisco", + "legacyId" : 0.8008281904610115, "id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c", "aid" : 1234, "value" : "sfo", @@ -111,7 +113,6 @@ class TestTagsApi(unittest.TestCase): "responseCode" : 200 } ], "tags" : [ { - "accessType" : "all", "assignments" : [ { "id" : "123", "type" : "test" @@ -133,15 +134,16 @@ class TestTagsApi(unittest.TestCase): } }, "icon" : "icon", - "legacyId" : "legacyId", + "description" : "To tag assets in San Francisco", + "objectType" : "test", + "accessType" : "all", + "legacyId" : 0.8008281904610115, "id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c", "aid" : 1234, "value" : "sfo", "key" : "branch", - "createDate" : "2022-03-01T23:31:11Z", - "objectType" : "test" + "createDate" : "2022-03-01T23:31:11Z" }, { - "accessType" : "all", "assignments" : [ { "id" : "123", "type" : "test" @@ -163,13 +165,15 @@ class TestTagsApi(unittest.TestCase): } }, "icon" : "icon", - "legacyId" : "legacyId", + "description" : "To tag assets in San Francisco", + "objectType" : "test", + "accessType" : "all", + "legacyId" : 0.8008281904610115, "id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c", "aid" : 1234, "value" : "sfo", "key" : "branch", - "createDate" : "2022-03-01T23:31:11Z", - "objectType" : "test" + "createDate" : "2022-03-01T23:31:11Z" } ] }""" @@ -204,7 +208,8 @@ class TestTagsApi(unittest.TestCase): } ], "color" : "#FF0000", "icon" : "icon", - "legacyId" : "legacyId", + "description" : "To tag assets in San Francisco", + "legacyId" : 0.8008281904610115, "id" : "5aeab5d5-0d34-4d44-a7ac-fb440185295c", "aid" : 1234, "value" : "sfo", diff --git a/thousandeyes-sdk-test-results/.openapi-generator/FILES b/thousandeyes-sdk-test-results/.openapi-generator/FILES index a31b69b1..49ceac8f 100644 --- a/thousandeyes-sdk-test-results/.openapi-generator/FILES +++ b/thousandeyes-sdk-test-results/.openapi-generator/FILES @@ -1,8 +1,7 @@ .openapi-generator-ignore MANIFEST.in README.md -docs/APITestMetricsApi.md -docs/Agent.md +docs/APITestResultsApi.md docs/ApiDetailTestResult.md docs/ApiDetailTestResults.md docs/ApiRequestDetail.md @@ -16,9 +15,9 @@ docs/BgpTestResult.md docs/BgpTestResults.md docs/BgpTestRouteInformationResult.md docs/BgpTestRouteInformationResults.md -docs/DNSSECTestMetricsApi.md -docs/DNSServerTestMetricsApi.md -docs/DNSTraceTestMetricsApi.md +docs/DNSSECTestResultsApi.md +docs/DNSServerTestResultsApi.md +docs/DNSTraceTestResultsApi.md docs/DnsServerTestResult.md docs/DnsServerTestResults.md docs/DnsTraceTestResult.md @@ -35,22 +34,21 @@ docs/HttpTestResultHeaders.md docs/HttpTestResults.md docs/Link.md docs/Marker.md -docs/Monitor.md -docs/NetworkBGPTestMetricsApi.md -docs/NetworkTestMetricsApi.md +docs/NetworkBGPTestResultsApi.md docs/NetworkTestResult.md docs/NetworkTestResults.md +docs/NetworkTestResultsApi.md docs/Page.md docs/PageLoadDetailTestResult.md docs/PageLoadDetailTestResults.md docs/PageLoadTestResult.md docs/PageLoadTestResults.md docs/PaginationLinks.md +docs/PathTrace.md docs/PathVisBaseTestResult.md docs/PathVisDetailTestResult.md docs/PathVisDetailTestResults.md docs/PathVisDirection.md -docs/PathVisEndpoint.md docs/PathVisHop.md docs/PathVisRoute.md docs/PathVisTestResult.md @@ -67,42 +65,43 @@ docs/TestDirection.md docs/TestInterval.md docs/TestLinks.md docs/TestResult.md +docs/TestResultAgent.md docs/TestResultAppLinks.md +docs/TestResultMonitor.md docs/TestSelfLink.md docs/TestType.md docs/UnauthorizedError.md docs/ValidationError.md docs/ValidationErrorItem.md -docs/VoiceRTPServerTestMetricsApi.md -docs/VoiceSIPServerTestMetricsApi.md -docs/WebFTPServerTestMetricsApi.md -docs/WebHTTPServerTestMetricsApi.md -docs/WebPageLoadTestMetricsApi.md +docs/VoiceRTPServerTestResultsApi.md +docs/VoiceSIPServerTestResultsApi.md +docs/WebFTPServerTestResultsApi.md +docs/WebHTTPServerTestResultsApi.md +docs/WebPageLoadTestResultsApi.md docs/WebTransactionDetailTestResult.md docs/WebTransactionDetailTestResults.md docs/WebTransactionPageDetailTestResult.md docs/WebTransactionPageDetailTestResults.md docs/WebTransactionTestResult.md docs/WebTransactionTestResults.md -docs/WebTransactionsTestMetricsApi.md +docs/WebTransactionsTestResultsApi.md pyproject.toml setup.cfg src/thousandeyes_sdk/test_results/__init__.py src/thousandeyes_sdk/test_results/api/__init__.py -src/thousandeyes_sdk/test_results/api/api_test_metrics_api.py -src/thousandeyes_sdk/test_results/api/dns_server_test_metrics_api.py -src/thousandeyes_sdk/test_results/api/dns_trace_test_metrics_api.py -src/thousandeyes_sdk/test_results/api/dnssec_test_metrics_api.py -src/thousandeyes_sdk/test_results/api/network_bgp_test_metrics_api.py -src/thousandeyes_sdk/test_results/api/network_test_metrics_api.py -src/thousandeyes_sdk/test_results/api/voice_rtp_server_test_metrics_api.py -src/thousandeyes_sdk/test_results/api/voice_sip_server_test_metrics_api.py -src/thousandeyes_sdk/test_results/api/web_ftp_server_test_metrics_api.py -src/thousandeyes_sdk/test_results/api/web_http_server_test_metrics_api.py -src/thousandeyes_sdk/test_results/api/web_page_load_test_metrics_api.py -src/thousandeyes_sdk/test_results/api/web_transactions_test_metrics_api.py +src/thousandeyes_sdk/test_results/api/api_test_results_api.py +src/thousandeyes_sdk/test_results/api/dns_server_test_results_api.py +src/thousandeyes_sdk/test_results/api/dns_trace_test_results_api.py +src/thousandeyes_sdk/test_results/api/dnssec_test_results_api.py +src/thousandeyes_sdk/test_results/api/network_bgp_test_results_api.py +src/thousandeyes_sdk/test_results/api/network_test_results_api.py +src/thousandeyes_sdk/test_results/api/voice_rtp_server_test_results_api.py +src/thousandeyes_sdk/test_results/api/voice_sip_server_test_results_api.py +src/thousandeyes_sdk/test_results/api/web_ftp_server_test_results_api.py +src/thousandeyes_sdk/test_results/api/web_http_server_test_results_api.py +src/thousandeyes_sdk/test_results/api/web_page_load_test_results_api.py +src/thousandeyes_sdk/test_results/api/web_transactions_test_results_api.py src/thousandeyes_sdk/test_results/models/__init__.py -src/thousandeyes_sdk/test_results/models/agent.py src/thousandeyes_sdk/test_results/models/api_detail_test_result.py src/thousandeyes_sdk/test_results/models/api_detail_test_results.py src/thousandeyes_sdk/test_results/models/api_request_detail.py @@ -132,7 +131,6 @@ src/thousandeyes_sdk/test_results/models/http_test_result_headers.py src/thousandeyes_sdk/test_results/models/http_test_results.py src/thousandeyes_sdk/test_results/models/link.py src/thousandeyes_sdk/test_results/models/marker.py -src/thousandeyes_sdk/test_results/models/monitor.py src/thousandeyes_sdk/test_results/models/network_test_result.py src/thousandeyes_sdk/test_results/models/network_test_results.py src/thousandeyes_sdk/test_results/models/page.py @@ -141,11 +139,11 @@ src/thousandeyes_sdk/test_results/models/page_load_detail_test_results.py src/thousandeyes_sdk/test_results/models/page_load_test_result.py src/thousandeyes_sdk/test_results/models/page_load_test_results.py src/thousandeyes_sdk/test_results/models/pagination_links.py +src/thousandeyes_sdk/test_results/models/path_trace.py src/thousandeyes_sdk/test_results/models/path_vis_base_test_result.py src/thousandeyes_sdk/test_results/models/path_vis_detail_test_result.py src/thousandeyes_sdk/test_results/models/path_vis_detail_test_results.py src/thousandeyes_sdk/test_results/models/path_vis_direction.py -src/thousandeyes_sdk/test_results/models/path_vis_endpoint.py src/thousandeyes_sdk/test_results/models/path_vis_hop.py src/thousandeyes_sdk/test_results/models/path_vis_route.py src/thousandeyes_sdk/test_results/models/path_vis_test_result.py @@ -162,7 +160,9 @@ src/thousandeyes_sdk/test_results/models/test_direction.py src/thousandeyes_sdk/test_results/models/test_interval.py src/thousandeyes_sdk/test_results/models/test_links.py src/thousandeyes_sdk/test_results/models/test_result.py +src/thousandeyes_sdk/test_results/models/test_result_agent.py src/thousandeyes_sdk/test_results/models/test_result_app_links.py +src/thousandeyes_sdk/test_results/models/test_result_monitor.py src/thousandeyes_sdk/test_results/models/test_self_link.py src/thousandeyes_sdk/test_results/models/test_type.py src/thousandeyes_sdk/test_results/models/unauthorized_error.py @@ -176,16 +176,16 @@ src/thousandeyes_sdk/test_results/models/web_transaction_test_result.py src/thousandeyes_sdk/test_results/models/web_transaction_test_results.py src/thousandeyes_sdk/test_results/py.typed test/__init__.py -test/test_api_test_metrics_api.py -test/test_dns_server_test_metrics_api.py -test/test_dns_trace_test_metrics_api.py -test/test_dnssec_test_metrics_api.py -test/test_network_bgp_test_metrics_api.py -test/test_network_test_metrics_api.py +test/test_api_test_results_api.py +test/test_dns_server_test_results_api.py +test/test_dns_trace_test_results_api.py +test/test_dnssec_test_results_api.py +test/test_network_bgp_test_results_api.py +test/test_network_test_results_api.py test/test_utils.py -test/test_voice_rtp_server_test_metrics_api.py -test/test_voice_sip_server_test_metrics_api.py -test/test_web_ftp_server_test_metrics_api.py -test/test_web_http_server_test_metrics_api.py -test/test_web_page_load_test_metrics_api.py -test/test_web_transactions_test_metrics_api.py +test/test_voice_rtp_server_test_results_api.py +test/test_voice_sip_server_test_results_api.py +test/test_web_ftp_server_test_results_api.py +test/test_web_http_server_test_results_api.py +test/test_web_page_load_test_results_api.py +test/test_web_transactions_test_results_api.py diff --git a/thousandeyes-sdk-test-results/README.md b/thousandeyes-sdk-test-results/README.md index 480f5c34..3269ea2a 100644 --- a/thousandeyes-sdk-test-results/README.md +++ b/thousandeyes-sdk-test-results/README.md @@ -3,7 +3,7 @@ Get test result metrics for Cloud and Enterprise Agent tests. This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 7.0.8 +- API version: 7.0.20 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator @@ -55,10 +55,10 @@ import thousandeyes_sdk.test_results from thousandeyes_sdk.core.exceptions import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -75,7 +75,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.core.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.test_results.APITestMetricsApi(api_client) + api_instance = thousandeyes_sdk.test_results.APITestResultsApi(api_client) test_id = '202701' # str | Test ID agent_id = '11' # str | Agent ID round_id = '1384309800' # str | Round ID @@ -84,44 +84,43 @@ with thousandeyes_sdk.core.ApiClient(configuration) as api_client: try: # Get API test results by agent and round api_response = api_instance.get_test_api_agent_round_results(test_id, agent_id, round_id, aid=aid) - print("The response of APITestMetricsApi->get_test_api_agent_round_results:\n") + print("The response of APITestResultsApi->get_test_api_agent_round_results:\n") pprint(api_response) except ApiException as e: - print("Exception when calling APITestMetricsApi->get_test_api_agent_round_results: %s\n" % e) + print("Exception when calling APITestResultsApi->get_test_api_agent_round_results: %s\n" % e) ``` ## Documentation for API Endpoints -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- -*APITestMetricsApi* | [**get_test_api_agent_round_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/APITestMetricsApi.md#get_test_api_agent_round_results) | **GET** /v7/test-results/{testId}/api/agent/{agentId}/round/{roundId} | Get API test results by agent and round -*APITestMetricsApi* | [**get_test_api_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/APITestMetricsApi.md#get_test_api_results) | **GET** /v7/test-results/{testId}/api | Get API test results -*DNSSECTestMetricsApi* | [**get_test_dns_sec_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/DNSSECTestMetricsApi.md#get_test_dns_sec_results) | **GET** /v7/test-results/{testId}/dnssec | Get DNSSEC test results -*DNSServerTestMetricsApi* | [**get_test_dns_server_result**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/DNSServerTestMetricsApi.md#get_test_dns_server_result) | **GET** /v7/test-results/{testId}/dns-server/{serverId} | Get DNS server test results by server -*DNSServerTestMetricsApi* | [**get_test_dns_servers_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/DNSServerTestMetricsApi.md#get_test_dns_servers_results) | **GET** /v7/test-results/{testId}/dns-server | Get DNS server test results -*DNSTraceTestMetricsApi* | [**get_test_dns_trace_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/DNSTraceTestMetricsApi.md#get_test_dns_trace_results) | **GET** /v7/test-results/{testId}/dns-trace | Get DNS trace test results -*NetworkBGPTestMetricsApi* | [**get_test_bgp_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/NetworkBGPTestMetricsApi.md#get_test_bgp_results) | **GET** /v7/test-results/{testId}/bgp | Get BGP test results -*NetworkBGPTestMetricsApi* | [**get_test_bgp_routes_prefix_round_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/NetworkBGPTestMetricsApi.md#get_test_bgp_routes_prefix_round_results) | **GET** /v7/test-results/{testId}/bgp/routes/prefix/{prefixId}/round/{roundId} | Get BGP route test results by prefix -*NetworkTestMetricsApi* | [**get_test_network_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/NetworkTestMetricsApi.md#get_test_network_results) | **GET** /v7/test-results/{testId}/network | Get network test results -*NetworkTestMetricsApi* | [**get_test_path_vis_agent_round_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/NetworkTestMetricsApi.md#get_test_path_vis_agent_round_results) | **GET** /v7/test-results/{testId}/path-vis/agent/{agentId}/round/{roundId} | Get path visualization test results by agent and round -*NetworkTestMetricsApi* | [**get_test_path_vis_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/NetworkTestMetricsApi.md#get_test_path_vis_results) | **GET** /v7/test-results/{testId}/path-vis | Get path visualization network test results -*VoiceRTPServerTestMetricsApi* | [**get_test_rtp_server_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/VoiceRTPServerTestMetricsApi.md#get_test_rtp_server_results) | **GET** /v7/test-results/{testId}/rtp-server | Retrieve RTP server test metrics -*VoiceSIPServerTestMetricsApi* | [**get_test_sip_server_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/VoiceSIPServerTestMetricsApi.md#get_test_sip_server_results) | **GET** /v7/test-results/{testId}/sip-server | Get SIP server test results -*WebFTPServerTestMetricsApi* | [**get_test_ftp_server_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/WebFTPServerTestMetricsApi.md#get_test_ftp_server_results) | **GET** /v7/test-results/{testId}/ftp-server | Get FTP server test results -*WebHTTPServerTestMetricsApi* | [**get_test_http_server_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/WebHTTPServerTestMetricsApi.md#get_test_http_server_results) | **GET** /v7/test-results/{testId}/http-server | Get HTTP server test results -*WebPageLoadTestMetricsApi* | [**get_test_page_load_agent_round_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/WebPageLoadTestMetricsApi.md#get_test_page_load_agent_round_results) | **GET** /v7/test-results/{testId}/page-load/agent/{agentId}/round/{roundId} | Get page load server test results by agent and round -*WebPageLoadTestMetricsApi* | [**get_test_page_load_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/WebPageLoadTestMetricsApi.md#get_test_page_load_results) | **GET** /v7/test-results/{testId}/page-load | Get page load server test results -*WebTransactionsTestMetricsApi* | [**get_test_web_transaction_agent_round_page_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/WebTransactionsTestMetricsApi.md#get_test_web_transaction_agent_round_page_results) | **GET** /v7/test-results/{testId}/web-transactions/agent/{agentId}/round/{roundId}/page/{pageId} | Get detailed web transactions test result by agent, round, and page -*WebTransactionsTestMetricsApi* | [**get_test_web_transaction_agent_round_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/WebTransactionsTestMetricsApi.md#get_test_web_transaction_agent_round_results) | **GET** /v7/test-results/{testId}/web-transactions/agent/{agentId}/round/{roundId} | Get web transactions test results by agent and round -*WebTransactionsTestMetricsApi* | [**get_test_web_transaction_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/WebTransactionsTestMetricsApi.md#get_test_web_transaction_results) | **GET** /v7/test-results/{testId}/web-transactions | Get web transactions test results +*APITestResultsApi* | [**get_test_api_agent_round_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/APITestResultsApi.md#get_test_api_agent_round_results) | **GET** /test-results/{testId}/api/agent/{agentId}/round/{roundId} | Get API test results by agent and round +*APITestResultsApi* | [**get_test_api_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/APITestResultsApi.md#get_test_api_results) | **GET** /test-results/{testId}/api | Get API test results +*DNSSECTestResultsApi* | [**get_test_dns_sec_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/DNSSECTestResultsApi.md#get_test_dns_sec_results) | **GET** /test-results/{testId}/dnssec | Get DNSSEC test results +*DNSServerTestResultsApi* | [**get_test_dns_server_result**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/DNSServerTestResultsApi.md#get_test_dns_server_result) | **GET** /test-results/{testId}/dns-server/{serverId} | Get DNS server test results by server +*DNSServerTestResultsApi* | [**get_test_dns_servers_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/DNSServerTestResultsApi.md#get_test_dns_servers_results) | **GET** /test-results/{testId}/dns-server | Get DNS server test results +*DNSTraceTestResultsApi* | [**get_test_dns_trace_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/DNSTraceTestResultsApi.md#get_test_dns_trace_results) | **GET** /test-results/{testId}/dns-trace | Get DNS trace test results +*NetworkBGPTestResultsApi* | [**get_test_bgp_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/NetworkBGPTestResultsApi.md#get_test_bgp_results) | **GET** /test-results/{testId}/bgp | Get BGP test results +*NetworkBGPTestResultsApi* | [**get_test_bgp_routes_prefix_round_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/NetworkBGPTestResultsApi.md#get_test_bgp_routes_prefix_round_results) | **GET** /test-results/{testId}/bgp/routes/prefix/{prefixId}/round/{roundId} | Get BGP route test results by prefix +*NetworkTestResultsApi* | [**get_test_network_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/NetworkTestResultsApi.md#get_test_network_results) | **GET** /test-results/{testId}/network | Get network test results +*NetworkTestResultsApi* | [**get_test_path_vis_agent_round_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/NetworkTestResultsApi.md#get_test_path_vis_agent_round_results) | **GET** /test-results/{testId}/path-vis/agent/{agentId}/round/{roundId} | Get path visualization test results by agent and round +*NetworkTestResultsApi* | [**get_test_path_vis_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/NetworkTestResultsApi.md#get_test_path_vis_results) | **GET** /test-results/{testId}/path-vis | Get path visualization network test results +*VoiceRTPServerTestResultsApi* | [**get_test_rtp_server_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/VoiceRTPServerTestResultsApi.md#get_test_rtp_server_results) | **GET** /test-results/{testId}/rtp-server | Retrieve RTP server test metrics +*VoiceSIPServerTestResultsApi* | [**get_test_sip_server_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/VoiceSIPServerTestResultsApi.md#get_test_sip_server_results) | **GET** /test-results/{testId}/sip-server | Get SIP server test results +*WebFTPServerTestResultsApi* | [**get_test_ftp_server_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/WebFTPServerTestResultsApi.md#get_test_ftp_server_results) | **GET** /test-results/{testId}/ftp-server | Get FTP server test results +*WebHTTPServerTestResultsApi* | [**get_test_http_server_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/WebHTTPServerTestResultsApi.md#get_test_http_server_results) | **GET** /test-results/{testId}/http-server | Get HTTP server test results +*WebPageLoadTestResultsApi* | [**get_test_page_load_agent_round_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/WebPageLoadTestResultsApi.md#get_test_page_load_agent_round_results) | **GET** /test-results/{testId}/page-load/agent/{agentId}/round/{roundId} | Get page load server test results by agent and round +*WebPageLoadTestResultsApi* | [**get_test_page_load_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/WebPageLoadTestResultsApi.md#get_test_page_load_results) | **GET** /test-results/{testId}/page-load | Get page load server test results +*WebTransactionsTestResultsApi* | [**get_test_web_transaction_agent_round_page_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/WebTransactionsTestResultsApi.md#get_test_web_transaction_agent_round_page_results) | **GET** /test-results/{testId}/web-transactions/agent/{agentId}/round/{roundId}/page/{pageId} | Get detailed web transactions test result by agent, round, and page +*WebTransactionsTestResultsApi* | [**get_test_web_transaction_agent_round_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/WebTransactionsTestResultsApi.md#get_test_web_transaction_agent_round_results) | **GET** /test-results/{testId}/web-transactions/agent/{agentId}/round/{roundId} | Get web transactions test results by agent and round +*WebTransactionsTestResultsApi* | [**get_test_web_transaction_results**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/WebTransactionsTestResultsApi.md#get_test_web_transaction_results) | **GET** /test-results/{testId}/web-transactions | Get web transactions test results ## Documentation For Models - - [Agent](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/Agent.md) - [ApiDetailTestResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/ApiDetailTestResult.md) - [ApiDetailTestResults](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/ApiDetailTestResults.md) - [ApiRequestDetail](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/ApiRequestDetail.md) @@ -151,7 +150,6 @@ Class | Method | HTTP request | Description - [HttpTestResults](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/HttpTestResults.md) - [Link](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/Link.md) - [Marker](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/Marker.md) - - [Monitor](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/Monitor.md) - [NetworkTestResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/NetworkTestResult.md) - [NetworkTestResults](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/NetworkTestResults.md) - [Page](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/Page.md) @@ -160,11 +158,11 @@ Class | Method | HTTP request | Description - [PageLoadTestResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/PageLoadTestResult.md) - [PageLoadTestResults](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/PageLoadTestResults.md) - [PaginationLinks](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/PaginationLinks.md) + - [PathTrace](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/PathTrace.md) - [PathVisBaseTestResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/PathVisBaseTestResult.md) - [PathVisDetailTestResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/PathVisDetailTestResult.md) - [PathVisDetailTestResults](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/PathVisDetailTestResults.md) - [PathVisDirection](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/PathVisDirection.md) - - [PathVisEndpoint](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/PathVisEndpoint.md) - [PathVisHop](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/PathVisHop.md) - [PathVisRoute](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/PathVisRoute.md) - [PathVisTestResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/PathVisTestResult.md) @@ -181,7 +179,9 @@ Class | Method | HTTP request | Description - [TestInterval](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/TestInterval.md) - [TestLinks](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/TestLinks.md) - [TestResult](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/TestResult.md) + - [TestResultAgent](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/TestResultAgent.md) - [TestResultAppLinks](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/TestResultAppLinks.md) + - [TestResultMonitor](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/TestResultMonitor.md) - [TestSelfLink](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/TestSelfLink.md) - [TestType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/TestType.md) - [UnauthorizedError](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-test-results/docs/UnauthorizedError.md) diff --git a/thousandeyes-sdk-test-results/docs/APITestMetricsApi.md b/thousandeyes-sdk-test-results/docs/APITestResultsApi.md similarity index 90% rename from thousandeyes-sdk-test-results/docs/APITestMetricsApi.md rename to thousandeyes-sdk-test-results/docs/APITestResultsApi.md index 9b75dc52..076008c1 100644 --- a/thousandeyes-sdk-test-results/docs/APITestMetricsApi.md +++ b/thousandeyes-sdk-test-results/docs/APITestResultsApi.md @@ -1,11 +1,11 @@ -# thousandeyes_sdk.test_results.APITestMetricsApi +# thousandeyes_sdk.test_results.APITestResultsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**get_test_api_agent_round_results**](APITestMetricsApi.md#get_test_api_agent_round_results) | **GET** /v7/test-results/{testId}/api/agent/{agentId}/round/{roundId} | Get API test results by agent and round -[**get_test_api_results**](APITestMetricsApi.md#get_test_api_results) | **GET** /v7/test-results/{testId}/api | Get API test results +[**get_test_api_agent_round_results**](APITestResultsApi.md#get_test_api_agent_round_results) | **GET** /test-results/{testId}/api/agent/{agentId}/round/{roundId} | Get API test results by agent and round +[**get_test_api_results**](APITestResultsApi.md#get_test_api_results) | **GET** /test-results/{testId}/api | Get API test results # **get_test_api_agent_round_results** @@ -25,10 +25,10 @@ from thousandeyes_sdk.test_results.models.api_detail_test_results import ApiDeta from thousandeyes_sdk.test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -44,7 +44,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.test_results.APITestMetricsApi(api_client) + api_instance = thousandeyes_sdk.test_results.APITestResultsApi(api_client) test_id = '202701' # str | Test ID agent_id = '11' # str | Agent ID round_id = '1384309800' # str | Round ID @@ -53,10 +53,10 @@ with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: try: # Get API test results by agent and round api_response = api_instance.get_test_api_agent_round_results(test_id, agent_id, round_id, aid=aid) - print("The response of APITestMetricsApi->get_test_api_agent_round_results:\n") + print("The response of APITestResultsApi->get_test_api_agent_round_results:\n") pprint(api_response) except Exception as e: - print("Exception when calling APITestMetricsApi->get_test_api_agent_round_results: %s\n" % e) + print("Exception when calling APITestResultsApi->get_test_api_agent_round_results: %s\n" % e) ``` @@ -117,10 +117,10 @@ from thousandeyes_sdk.test_results.models.api_test_results import ApiTestResults from thousandeyes_sdk.test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -136,7 +136,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.test_results.APITestMetricsApi(api_client) + api_instance = thousandeyes_sdk.test_results.APITestResultsApi(api_client) test_id = '202701' # str | Test 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) window = '12h' # str | A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. (optional) @@ -147,10 +147,10 @@ with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: try: # Get API test results api_response = api_instance.get_test_api_results(test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor) - print("The response of APITestMetricsApi->get_test_api_results:\n") + print("The response of APITestResultsApi->get_test_api_results:\n") pprint(api_response) except Exception as e: - print("Exception when calling APITestMetricsApi->get_test_api_results: %s\n" % e) + print("Exception when calling APITestResultsApi->get_test_api_results: %s\n" % e) ``` diff --git a/thousandeyes-sdk-test-results/docs/ApiDetailTestResult.md b/thousandeyes-sdk-test-results/docs/ApiDetailTestResult.md index 35cba406..b89529c9 100644 --- a/thousandeyes-sdk-test-results/docs/ApiDetailTestResult.md +++ b/thousandeyes-sdk-test-results/docs/ApiDetailTestResult.md @@ -10,7 +10,7 @@ Name | Type | Description | Notes **links** | [**TestResultAppLinks**](TestResultAppLinks.md) | | [optional] **start_time** | **int** | Epoch time (seconds) indicating the start time of the round | [optional] [readonly] **end_time** | **int** | Epoch time (seconds) indicating the end time of the round | [optional] [readonly] -**agent** | [**Agent**](Agent.md) | | [optional] +**agent** | [**TestResultAgent**](TestResultAgent.md) | | [optional] **api_transaction_time** | **float** | Elapsed execution time of the API steps. | [optional] [readonly] **completion** | **float** | Percentage of steps which completed successfully and passed assertions. | [optional] [readonly] **error_type** | **str** | Type of error encountered. | [optional] [readonly] diff --git a/thousandeyes-sdk-test-results/docs/ApiTestResult.md b/thousandeyes-sdk-test-results/docs/ApiTestResult.md index fa3fd22b..86c5c49d 100644 --- a/thousandeyes-sdk-test-results/docs/ApiTestResult.md +++ b/thousandeyes-sdk-test-results/docs/ApiTestResult.md @@ -10,7 +10,7 @@ Name | Type | Description | Notes **links** | [**TestResultAppLinks**](TestResultAppLinks.md) | | [optional] **start_time** | **int** | Epoch time (seconds) indicating the start time of the round | [optional] [readonly] **end_time** | **int** | Epoch time (seconds) indicating the end time of the round | [optional] [readonly] -**agent** | [**Agent**](Agent.md) | | [optional] +**agent** | [**TestResultAgent**](TestResultAgent.md) | | [optional] **api_transaction_time** | **float** | Elapsed execution time of the API steps. | [optional] [readonly] **completion** | **float** | Percentage of steps which completed successfully and passed assertions. | [optional] [readonly] **error_type** | **str** | Type of error encountered. | [optional] [readonly] diff --git a/thousandeyes-sdk-test-results/docs/BgpBasicTestResult.md b/thousandeyes-sdk-test-results/docs/BgpBasicTestResult.md index 95b26e9e..e68f4266 100644 --- a/thousandeyes-sdk-test-results/docs/BgpBasicTestResult.md +++ b/thousandeyes-sdk-test-results/docs/BgpBasicTestResult.md @@ -8,7 +8,7 @@ Name | Type | Description | Notes **var_date** | **datetime** | Data point date UTC (ISO date-time format). | [optional] [readonly] **round_id** | **int** | Epoch time (seconds) indicating the start time of the round | [optional] [readonly] **links** | [**TestResultAppLinks**](TestResultAppLinks.md) | | [optional] -**monitor** | [**Monitor**](Monitor.md) | | [optional] +**monitor** | [**TestResultMonitor**](TestResultMonitor.md) | | [optional] **prefix_id** | **str** | Internally tracked prefix ID. | [optional] **prefix** | **str** | Prefix being tracked. | [optional] diff --git a/thousandeyes-sdk-test-results/docs/BgpTestResult.md b/thousandeyes-sdk-test-results/docs/BgpTestResult.md index 15508c38..683c07a7 100644 --- a/thousandeyes-sdk-test-results/docs/BgpTestResult.md +++ b/thousandeyes-sdk-test-results/docs/BgpTestResult.md @@ -8,7 +8,7 @@ Name | Type | Description | Notes **var_date** | **datetime** | Data point date UTC (ISO date-time format). | [optional] [readonly] **round_id** | **int** | Epoch time (seconds) indicating the start time of the round | [optional] [readonly] **links** | [**TestResultAppLinks**](TestResultAppLinks.md) | | [optional] -**monitor** | [**Monitor**](Monitor.md) | | [optional] +**monitor** | [**TestResultMonitor**](TestResultMonitor.md) | | [optional] **prefix_id** | **str** | Internally tracked prefix ID. | [optional] **prefix** | **str** | Prefix being tracked. | [optional] **start_time** | **int** | Epoch time (seconds) indicating the start time of the round | [optional] [readonly] diff --git a/thousandeyes-sdk-test-results/docs/BgpTestRouteInformationResult.md b/thousandeyes-sdk-test-results/docs/BgpTestRouteInformationResult.md index 42c59303..d2a9853a 100644 --- a/thousandeyes-sdk-test-results/docs/BgpTestRouteInformationResult.md +++ b/thousandeyes-sdk-test-results/docs/BgpTestRouteInformationResult.md @@ -8,7 +8,7 @@ Name | Type | Description | Notes **var_date** | **datetime** | Data point date UTC (ISO date-time format). | [optional] [readonly] **round_id** | **int** | Epoch time (seconds) indicating the start time of the round | [optional] [readonly] **links** | [**TestResultAppLinks**](TestResultAppLinks.md) | | [optional] -**monitor** | [**Monitor**](Monitor.md) | | [optional] +**monitor** | [**TestResultMonitor**](TestResultMonitor.md) | | [optional] **prefix_id** | **str** | Internally tracked prefix ID. | [optional] **prefix** | **str** | Prefix being tracked. | [optional] **is_active** | **bool** | Represents whether the route is active or inactive. An inactive route was an active route in the previous test round and is now superseded by another active (preferred) route. When requesting data for the test round in which a route change happened, both routes (active and inactive one) are included in the response. | [optional] diff --git a/thousandeyes-sdk-test-results/docs/DNSSECTestMetricsApi.md b/thousandeyes-sdk-test-results/docs/DNSSECTestResultsApi.md similarity index 91% rename from thousandeyes-sdk-test-results/docs/DNSSECTestMetricsApi.md rename to thousandeyes-sdk-test-results/docs/DNSSECTestResultsApi.md index bf739fb3..3ee74c05 100644 --- a/thousandeyes-sdk-test-results/docs/DNSSECTestMetricsApi.md +++ b/thousandeyes-sdk-test-results/docs/DNSSECTestResultsApi.md @@ -1,10 +1,10 @@ -# thousandeyes_sdk.test_results.DNSSECTestMetricsApi +# thousandeyes_sdk.test_results.DNSSECTestResultsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**get_test_dns_sec_results**](DNSSECTestMetricsApi.md#get_test_dns_sec_results) | **GET** /v7/test-results/{testId}/dnssec | Get DNSSEC test results +[**get_test_dns_sec_results**](DNSSECTestResultsApi.md#get_test_dns_sec_results) | **GET** /test-results/{testId}/dnssec | Get DNSSEC test results # **get_test_dns_sec_results** @@ -24,10 +24,10 @@ from thousandeyes_sdk.test_results.models.dnssec_test_results import DnssecTestR from thousandeyes_sdk.test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -43,7 +43,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.test_results.DNSSECTestMetricsApi(api_client) + api_instance = thousandeyes_sdk.test_results.DNSSECTestResultsApi(api_client) test_id = '202701' # str | Test 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) window = '12h' # str | A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. (optional) @@ -54,10 +54,10 @@ with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: try: # Get DNSSEC test results api_response = api_instance.get_test_dns_sec_results(test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor) - print("The response of DNSSECTestMetricsApi->get_test_dns_sec_results:\n") + print("The response of DNSSECTestResultsApi->get_test_dns_sec_results:\n") pprint(api_response) except Exception as e: - print("Exception when calling DNSSECTestMetricsApi->get_test_dns_sec_results: %s\n" % e) + print("Exception when calling DNSSECTestResultsApi->get_test_dns_sec_results: %s\n" % e) ``` diff --git a/thousandeyes-sdk-test-results/docs/DNSServerTestMetricsApi.md b/thousandeyes-sdk-test-results/docs/DNSServerTestResultsApi.md similarity index 92% rename from thousandeyes-sdk-test-results/docs/DNSServerTestMetricsApi.md rename to thousandeyes-sdk-test-results/docs/DNSServerTestResultsApi.md index 13f5a10a..bbd0f83f 100644 --- a/thousandeyes-sdk-test-results/docs/DNSServerTestMetricsApi.md +++ b/thousandeyes-sdk-test-results/docs/DNSServerTestResultsApi.md @@ -1,11 +1,11 @@ -# thousandeyes_sdk.test_results.DNSServerTestMetricsApi +# thousandeyes_sdk.test_results.DNSServerTestResultsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**get_test_dns_server_result**](DNSServerTestMetricsApi.md#get_test_dns_server_result) | **GET** /v7/test-results/{testId}/dns-server/{serverId} | Get DNS server test results by server -[**get_test_dns_servers_results**](DNSServerTestMetricsApi.md#get_test_dns_servers_results) | **GET** /v7/test-results/{testId}/dns-server | Get DNS server test results +[**get_test_dns_server_result**](DNSServerTestResultsApi.md#get_test_dns_server_result) | **GET** /test-results/{testId}/dns-server/{serverId} | Get DNS server test results by server +[**get_test_dns_servers_results**](DNSServerTestResultsApi.md#get_test_dns_servers_results) | **GET** /test-results/{testId}/dns-server | Get DNS server test results # **get_test_dns_server_result** @@ -25,10 +25,10 @@ from thousandeyes_sdk.test_results.models.dns_server_test_results import DnsServ from thousandeyes_sdk.test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -44,7 +44,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.test_results.DNSServerTestMetricsApi(api_client) + api_instance = thousandeyes_sdk.test_results.DNSServerTestResultsApi(api_client) test_id = '202701' # str | Test ID server_id = '281474976710706' # str | DNS server 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) @@ -56,10 +56,10 @@ with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: try: # Get DNS server test results by server api_response = api_instance.get_test_dns_server_result(test_id, server_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor) - print("The response of DNSServerTestMetricsApi->get_test_dns_server_result:\n") + print("The response of DNSServerTestResultsApi->get_test_dns_server_result:\n") pprint(api_response) except Exception as e: - print("Exception when calling DNSServerTestMetricsApi->get_test_dns_server_result: %s\n" % e) + print("Exception when calling DNSServerTestResultsApi->get_test_dns_server_result: %s\n" % e) ``` @@ -123,10 +123,10 @@ from thousandeyes_sdk.test_results.models.dns_server_test_results import DnsServ from thousandeyes_sdk.test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -142,7 +142,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.test_results.DNSServerTestMetricsApi(api_client) + api_instance = thousandeyes_sdk.test_results.DNSServerTestResultsApi(api_client) test_id = '202701' # str | Test 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) window = '12h' # str | A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. (optional) @@ -153,10 +153,10 @@ with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: try: # Get DNS server test results api_response = api_instance.get_test_dns_servers_results(test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor) - print("The response of DNSServerTestMetricsApi->get_test_dns_servers_results:\n") + print("The response of DNSServerTestResultsApi->get_test_dns_servers_results:\n") pprint(api_response) except Exception as e: - print("Exception when calling DNSServerTestMetricsApi->get_test_dns_servers_results: %s\n" % e) + print("Exception when calling DNSServerTestResultsApi->get_test_dns_servers_results: %s\n" % e) ``` diff --git a/thousandeyes-sdk-test-results/docs/DNSTraceTestMetricsApi.md b/thousandeyes-sdk-test-results/docs/DNSTraceTestResultsApi.md similarity index 91% rename from thousandeyes-sdk-test-results/docs/DNSTraceTestMetricsApi.md rename to thousandeyes-sdk-test-results/docs/DNSTraceTestResultsApi.md index 6596aef7..29e35454 100644 --- a/thousandeyes-sdk-test-results/docs/DNSTraceTestMetricsApi.md +++ b/thousandeyes-sdk-test-results/docs/DNSTraceTestResultsApi.md @@ -1,10 +1,10 @@ -# thousandeyes_sdk.test_results.DNSTraceTestMetricsApi +# thousandeyes_sdk.test_results.DNSTraceTestResultsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**get_test_dns_trace_results**](DNSTraceTestMetricsApi.md#get_test_dns_trace_results) | **GET** /v7/test-results/{testId}/dns-trace | Get DNS trace test results +[**get_test_dns_trace_results**](DNSTraceTestResultsApi.md#get_test_dns_trace_results) | **GET** /test-results/{testId}/dns-trace | Get DNS trace test results # **get_test_dns_trace_results** @@ -24,10 +24,10 @@ from thousandeyes_sdk.test_results.models.dns_trace_test_results import DnsTrace from thousandeyes_sdk.test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -43,7 +43,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.test_results.DNSTraceTestMetricsApi(api_client) + api_instance = thousandeyes_sdk.test_results.DNSTraceTestResultsApi(api_client) test_id = '202701' # str | Test 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) window = '12h' # str | A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. (optional) @@ -54,10 +54,10 @@ with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: try: # Get DNS trace test results api_response = api_instance.get_test_dns_trace_results(test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor) - print("The response of DNSTraceTestMetricsApi->get_test_dns_trace_results:\n") + print("The response of DNSTraceTestResultsApi->get_test_dns_trace_results:\n") pprint(api_response) except Exception as e: - print("Exception when calling DNSTraceTestMetricsApi->get_test_dns_trace_results: %s\n" % e) + print("Exception when calling DNSTraceTestResultsApi->get_test_dns_trace_results: %s\n" % e) ``` diff --git a/thousandeyes-sdk-test-results/docs/DnsServerTestResult.md b/thousandeyes-sdk-test-results/docs/DnsServerTestResult.md index 1ee71dab..8218faa5 100644 --- a/thousandeyes-sdk-test-results/docs/DnsServerTestResult.md +++ b/thousandeyes-sdk-test-results/docs/DnsServerTestResult.md @@ -10,7 +10,7 @@ Name | Type | Description | Notes **links** | [**TestResultAppLinks**](TestResultAppLinks.md) | | [optional] **start_time** | **int** | Epoch time (seconds) indicating the start time of the round | [optional] [readonly] **end_time** | **int** | Epoch time (seconds) indicating the end time of the round | [optional] [readonly] -**agent** | [**Agent**](Agent.md) | | [optional] +**agent** | [**TestResultAgent**](TestResultAgent.md) | | [optional] **server_id** | **str** | Internal ID of DNS server being tested | [optional] [readonly] **server** | **str** | Canonical name of server being tested | [optional] [readonly] **resolution_time** | **int** | How long it took to run the query against the serverow long it took to run the query against the server | [optional] [readonly] diff --git a/thousandeyes-sdk-test-results/docs/DnsTraceTestResult.md b/thousandeyes-sdk-test-results/docs/DnsTraceTestResult.md index aa3e5e4d..85cd3a0f 100644 --- a/thousandeyes-sdk-test-results/docs/DnsTraceTestResult.md +++ b/thousandeyes-sdk-test-results/docs/DnsTraceTestResult.md @@ -10,7 +10,7 @@ Name | Type | Description | Notes **links** | [**TestResultAppLinks**](TestResultAppLinks.md) | | [optional] **start_time** | **int** | Epoch time (seconds) indicating the start time of the round | [optional] [readonly] **end_time** | **int** | Epoch time (seconds) indicating the end time of the round | [optional] [readonly] -**agent** | [**Agent**](Agent.md) | | [optional] +**agent** | [**TestResultAgent**](TestResultAgent.md) | | [optional] **output** | **str** | Verbose output from the trace request | [optional] [readonly] **error_details** | **str** | Error details, if an error were encountered | [optional] [readonly] **queries** | **int** | How many queries were required to get to the requested result | [optional] [readonly] diff --git a/thousandeyes-sdk-test-results/docs/DnssecTestResult.md b/thousandeyes-sdk-test-results/docs/DnssecTestResult.md index a6a04097..71e35ffc 100644 --- a/thousandeyes-sdk-test-results/docs/DnssecTestResult.md +++ b/thousandeyes-sdk-test-results/docs/DnssecTestResult.md @@ -10,7 +10,7 @@ Name | Type | Description | Notes **links** | [**TestResultAppLinks**](TestResultAppLinks.md) | | [optional] **start_time** | **int** | Epoch time (seconds) indicating the start time of the round | [optional] [readonly] **end_time** | **int** | Epoch time (seconds) indicating the end time of the round | [optional] [readonly] -**agent** | [**Agent**](Agent.md) | | [optional] +**agent** | [**TestResultAgent**](TestResultAgent.md) | | [optional] **is_valid** | **bool** | Indicates if keychain is valid (if false see errorDetails field) | [optional] [readonly] **error_details** | **str** | Error details, if an error were encountered | [optional] [readonly] diff --git a/thousandeyes-sdk-test-results/docs/FtpServerTestResult.md b/thousandeyes-sdk-test-results/docs/FtpServerTestResult.md index f61198b2..669340cd 100644 --- a/thousandeyes-sdk-test-results/docs/FtpServerTestResult.md +++ b/thousandeyes-sdk-test-results/docs/FtpServerTestResult.md @@ -10,7 +10,7 @@ Name | Type | Description | Notes **links** | [**TestResultAppLinks**](TestResultAppLinks.md) | | [optional] **start_time** | **int** | Epoch time (seconds) indicating the start time of the round | [optional] [readonly] **end_time** | **int** | Epoch time (seconds) indicating the end time of the round | [optional] [readonly] -**agent** | [**Agent**](Agent.md) | | [optional] +**agent** | [**TestResultAgent**](TestResultAgent.md) | | [optional] **server_ip** | **str** | IP address of destination server | [optional] [readonly] **response_code** | **int** | FTP response code | [optional] [readonly] **dns_time** | **float** | Time required to resolve DNS in milliseconds | [optional] [readonly] diff --git a/thousandeyes-sdk-test-results/docs/HttpTestResult.md b/thousandeyes-sdk-test-results/docs/HttpTestResult.md index cd604756..1097de39 100644 --- a/thousandeyes-sdk-test-results/docs/HttpTestResult.md +++ b/thousandeyes-sdk-test-results/docs/HttpTestResult.md @@ -10,7 +10,7 @@ Name | Type | Description | Notes **links** | [**TestResultAppLinks**](TestResultAppLinks.md) | | [optional] **start_time** | **int** | Epoch time (seconds) indicating the start time of the round | [optional] [readonly] **end_time** | **int** | Epoch time (seconds) indicating the end time of the round | [optional] [readonly] -**agent** | [**Agent**](Agent.md) | | [optional] +**agent** | [**TestResultAgent**](TestResultAgent.md) | | [optional] **server_ip** | **str** | IP address of destination server | [optional] [readonly] **response_code** | **int** | HTTP response code | [optional] **num_redirects** | **int** | Number of redirects | [optional] @@ -30,6 +30,7 @@ Name | Type | Description | Notes **ssl_cipher** | **str** | Cipher suite | [optional] **ssl_version** | **str** | TLS version | [optional] **ssl_certificates** | [**List[SslCert]**](SslCert.md) | | [optional] +**health_score** | **float** | A normalized value (0.0-1.0) representing the web application connection health of the test target. Returns negative values as error codes. -1.0 indicates there was insufficient data to calculate the health score. | [optional] ## Example diff --git a/thousandeyes-sdk-test-results/docs/NetworkBGPTestMetricsApi.md b/thousandeyes-sdk-test-results/docs/NetworkBGPTestResultsApi.md similarity index 90% rename from thousandeyes-sdk-test-results/docs/NetworkBGPTestMetricsApi.md rename to thousandeyes-sdk-test-results/docs/NetworkBGPTestResultsApi.md index c37467db..7d228a29 100644 --- a/thousandeyes-sdk-test-results/docs/NetworkBGPTestMetricsApi.md +++ b/thousandeyes-sdk-test-results/docs/NetworkBGPTestResultsApi.md @@ -1,11 +1,11 @@ -# thousandeyes_sdk.test_results.NetworkBGPTestMetricsApi +# thousandeyes_sdk.test_results.NetworkBGPTestResultsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**get_test_bgp_results**](NetworkBGPTestMetricsApi.md#get_test_bgp_results) | **GET** /v7/test-results/{testId}/bgp | Get BGP test results -[**get_test_bgp_routes_prefix_round_results**](NetworkBGPTestMetricsApi.md#get_test_bgp_routes_prefix_round_results) | **GET** /v7/test-results/{testId}/bgp/routes/prefix/{prefixId}/round/{roundId} | Get BGP route test results by prefix +[**get_test_bgp_results**](NetworkBGPTestResultsApi.md#get_test_bgp_results) | **GET** /test-results/{testId}/bgp | Get BGP test results +[**get_test_bgp_routes_prefix_round_results**](NetworkBGPTestResultsApi.md#get_test_bgp_routes_prefix_round_results) | **GET** /test-results/{testId}/bgp/routes/prefix/{prefixId}/round/{roundId} | Get BGP route test results by prefix # **get_test_bgp_results** @@ -25,10 +25,10 @@ from thousandeyes_sdk.test_results.models.bgp_test_results import BgpTestResults from thousandeyes_sdk.test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -44,7 +44,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.test_results.NetworkBGPTestMetricsApi(api_client) + api_instance = thousandeyes_sdk.test_results.NetworkBGPTestResultsApi(api_client) test_id = '202701' # str | Test 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) window = '12h' # str | A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. (optional) @@ -55,10 +55,10 @@ with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: try: # Get BGP test results api_response = api_instance.get_test_bgp_results(test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor) - print("The response of NetworkBGPTestMetricsApi->get_test_bgp_results:\n") + print("The response of NetworkBGPTestResultsApi->get_test_bgp_results:\n") pprint(api_response) except Exception as e: - print("Exception when calling NetworkBGPTestMetricsApi->get_test_bgp_results: %s\n" % e) + print("Exception when calling NetworkBGPTestResultsApi->get_test_bgp_results: %s\n" % e) ``` @@ -121,10 +121,10 @@ from thousandeyes_sdk.test_results.models.bgp_test_route_information_results imp from thousandeyes_sdk.test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -140,7 +140,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.test_results.NetworkBGPTestMetricsApi(api_client) + api_instance = thousandeyes_sdk.test_results.NetworkBGPTestResultsApi(api_client) test_id = '202701' # str | Test ID prefix_id = '3789376546' # str | The ID of the prefix. You can get `prefixId` from the `/test-results/{testId}/bgp` endpoint. round_id = '1384309800' # str | Round ID @@ -149,10 +149,10 @@ with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: try: # Get BGP route test results by prefix api_response = api_instance.get_test_bgp_routes_prefix_round_results(test_id, prefix_id, round_id, aid=aid) - print("The response of NetworkBGPTestMetricsApi->get_test_bgp_routes_prefix_round_results:\n") + print("The response of NetworkBGPTestResultsApi->get_test_bgp_routes_prefix_round_results:\n") pprint(api_response) except Exception as e: - print("Exception when calling NetworkBGPTestMetricsApi->get_test_bgp_routes_prefix_round_results: %s\n" % e) + print("Exception when calling NetworkBGPTestResultsApi->get_test_bgp_routes_prefix_round_results: %s\n" % e) ``` diff --git a/thousandeyes-sdk-test-results/docs/NetworkTestResult.md b/thousandeyes-sdk-test-results/docs/NetworkTestResult.md index f8b8672b..268da354 100644 --- a/thousandeyes-sdk-test-results/docs/NetworkTestResult.md +++ b/thousandeyes-sdk-test-results/docs/NetworkTestResult.md @@ -19,9 +19,10 @@ Name | Type | Description | Notes **max_latency** | **float** | Maximum RTT for packets sent to destination | [optional] [readonly] **min_latency** | **float** | Minimum RTT for packets sent to destination | [optional] [readonly] **packets_by_second** | **List[List[int]]** | Number of packets sent and received in a second. | [optional] [readonly] -**agent** | [**Agent**](Agent.md) | | [optional] +**agent** | [**TestResultAgent**](TestResultAgent.md) | | [optional] **server_ip** | **str** | IP of target server | [optional] [readonly] **server** | **str** | Target server, including port (if method used is TCP) | [optional] [readonly] +**health_score** | **float** | A normalized value (0.0-1.0) representing the network connection health of the test target. Returns negative values as error codes. -1.0 indicates there was insufficient data to calculate the health score. | [optional] **direction** | [**TestDirection**](TestDirection.md) | | [optional] ## Example diff --git a/thousandeyes-sdk-test-results/docs/NetworkTestMetricsApi.md b/thousandeyes-sdk-test-results/docs/NetworkTestResultsApi.md similarity index 93% rename from thousandeyes-sdk-test-results/docs/NetworkTestMetricsApi.md rename to thousandeyes-sdk-test-results/docs/NetworkTestResultsApi.md index d47187bc..c58a8b41 100644 --- a/thousandeyes-sdk-test-results/docs/NetworkTestMetricsApi.md +++ b/thousandeyes-sdk-test-results/docs/NetworkTestResultsApi.md @@ -1,12 +1,12 @@ -# thousandeyes_sdk.test_results.NetworkTestMetricsApi +# thousandeyes_sdk.test_results.NetworkTestResultsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**get_test_network_results**](NetworkTestMetricsApi.md#get_test_network_results) | **GET** /v7/test-results/{testId}/network | Get network test results -[**get_test_path_vis_agent_round_results**](NetworkTestMetricsApi.md#get_test_path_vis_agent_round_results) | **GET** /v7/test-results/{testId}/path-vis/agent/{agentId}/round/{roundId} | Get path visualization test results by agent and round -[**get_test_path_vis_results**](NetworkTestMetricsApi.md#get_test_path_vis_results) | **GET** /v7/test-results/{testId}/path-vis | Get path visualization network test results +[**get_test_network_results**](NetworkTestResultsApi.md#get_test_network_results) | **GET** /test-results/{testId}/network | Get network test results +[**get_test_path_vis_agent_round_results**](NetworkTestResultsApi.md#get_test_path_vis_agent_round_results) | **GET** /test-results/{testId}/path-vis/agent/{agentId}/round/{roundId} | Get path visualization test results by agent and round +[**get_test_path_vis_results**](NetworkTestResultsApi.md#get_test_path_vis_results) | **GET** /test-results/{testId}/path-vis | Get path visualization network test results # **get_test_network_results** @@ -27,10 +27,10 @@ from thousandeyes_sdk.test_results.models.test_direction import TestDirection from thousandeyes_sdk.test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -46,7 +46,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.test_results.NetworkTestMetricsApi(api_client) + api_instance = thousandeyes_sdk.test_results.NetworkTestResultsApi(api_client) test_id = '202701' # str | Test 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) window = '12h' # str | A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. (optional) @@ -58,10 +58,10 @@ with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: try: # Get network test results api_response = api_instance.get_test_network_results(test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, direction=direction) - print("The response of NetworkTestMetricsApi->get_test_network_results:\n") + print("The response of NetworkTestResultsApi->get_test_network_results:\n") pprint(api_response) except Exception as e: - print("Exception when calling NetworkTestMetricsApi->get_test_network_results: %s\n" % e) + print("Exception when calling NetworkTestResultsApi->get_test_network_results: %s\n" % e) ``` @@ -126,10 +126,10 @@ from thousandeyes_sdk.test_results.models.path_vis_direction import PathVisDirec from thousandeyes_sdk.test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -145,7 +145,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.test_results.NetworkTestMetricsApi(api_client) + api_instance = thousandeyes_sdk.test_results.NetworkTestResultsApi(api_client) test_id = '202701' # str | Test ID agent_id = '11' # str | Agent ID round_id = '1384309800' # str | Round ID @@ -155,10 +155,10 @@ with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: try: # Get path visualization test results by agent and round api_response = api_instance.get_test_path_vis_agent_round_results(test_id, agent_id, round_id, aid=aid, direction=direction) - print("The response of NetworkTestMetricsApi->get_test_path_vis_agent_round_results:\n") + print("The response of NetworkTestResultsApi->get_test_path_vis_agent_round_results:\n") pprint(api_response) except Exception as e: - print("Exception when calling NetworkTestMetricsApi->get_test_path_vis_agent_round_results: %s\n" % e) + print("Exception when calling NetworkTestResultsApi->get_test_path_vis_agent_round_results: %s\n" % e) ``` @@ -221,10 +221,10 @@ from thousandeyes_sdk.test_results.models.path_vis_test_results import PathVisTe from thousandeyes_sdk.test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -240,7 +240,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.test_results.NetworkTestMetricsApi(api_client) + api_instance = thousandeyes_sdk.test_results.NetworkTestResultsApi(api_client) test_id = '202701' # str | Test 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) window = '12h' # str | A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. (optional) @@ -252,10 +252,10 @@ with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: try: # Get path visualization network test results api_response = api_instance.get_test_path_vis_results(test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, direction=direction) - print("The response of NetworkTestMetricsApi->get_test_path_vis_results:\n") + print("The response of NetworkTestResultsApi->get_test_path_vis_results:\n") pprint(api_response) except Exception as e: - print("Exception when calling NetworkTestMetricsApi->get_test_path_vis_results: %s\n" % e) + print("Exception when calling NetworkTestResultsApi->get_test_path_vis_results: %s\n" % e) ``` diff --git a/thousandeyes-sdk-test-results/docs/PageLoadDetailTestResult.md b/thousandeyes-sdk-test-results/docs/PageLoadDetailTestResult.md index 30ee3b07..7183dd39 100644 --- a/thousandeyes-sdk-test-results/docs/PageLoadDetailTestResult.md +++ b/thousandeyes-sdk-test-results/docs/PageLoadDetailTestResult.md @@ -10,7 +10,7 @@ Name | Type | Description | Notes **links** | [**TestResultAppLinks**](TestResultAppLinks.md) | | [optional] **start_time** | **int** | Epoch time (seconds) indicating the start time of the round | [optional] [readonly] **end_time** | **int** | Epoch time (seconds) indicating the end time of the round | [optional] [readonly] -**agent** | [**Agent**](Agent.md) | | [optional] +**agent** | [**TestResultAgent**](TestResultAgent.md) | | [optional] **response_time** | **float** | Time to first byte in milliseconds | [optional] [readonly] **total_size** | **int** | Sum of wire size of all objects on page in bytes | [optional] [readonly] **num_objects** | **int** | Number of objects found on the page | [optional] [readonly] diff --git a/thousandeyes-sdk-test-results/docs/PageLoadTestResult.md b/thousandeyes-sdk-test-results/docs/PageLoadTestResult.md index 141fa05a..1217130e 100644 --- a/thousandeyes-sdk-test-results/docs/PageLoadTestResult.md +++ b/thousandeyes-sdk-test-results/docs/PageLoadTestResult.md @@ -10,7 +10,7 @@ Name | Type | Description | Notes **links** | [**TestResultAppLinks**](TestResultAppLinks.md) | | [optional] **start_time** | **int** | Epoch time (seconds) indicating the start time of the round | [optional] [readonly] **end_time** | **int** | Epoch time (seconds) indicating the end time of the round | [optional] [readonly] -**agent** | [**Agent**](Agent.md) | | [optional] +**agent** | [**TestResultAgent**](TestResultAgent.md) | | [optional] **response_time** | **float** | Time to first byte in milliseconds | [optional] [readonly] **total_size** | **int** | Sum of wire size of all objects on page in bytes | [optional] [readonly] **num_objects** | **int** | Number of objects found on the page | [optional] [readonly] diff --git a/thousandeyes-sdk-test-results/docs/PathVisEndpoint.md b/thousandeyes-sdk-test-results/docs/PathTrace.md similarity index 68% rename from thousandeyes-sdk-test-results/docs/PathVisEndpoint.md rename to thousandeyes-sdk-test-results/docs/PathTrace.md index 965dcc24..862be972 100644 --- a/thousandeyes-sdk-test-results/docs/PathVisEndpoint.md +++ b/thousandeyes-sdk-test-results/docs/PathTrace.md @@ -1,4 +1,4 @@ -# PathVisEndpoint +# PathTrace ## Properties @@ -15,19 +15,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.test_results.models.path_vis_endpoint import PathVisEndpoint +from thousandeyes_sdk.test_results.models.path_trace import PathTrace # TODO update the JSON string below json = "{}" -# create an instance of PathVisEndpoint from a JSON string -path_vis_endpoint_instance = PathVisEndpoint.from_json(json) +# create an instance of PathTrace from a JSON string +path_trace_instance = PathTrace.from_json(json) # print the JSON string representation of the object -print(PathVisEndpoint.to_json()) +print(PathTrace.to_json()) # convert the object into a dict -path_vis_endpoint_dict = path_vis_endpoint_instance.to_dict() -# create an instance of PathVisEndpoint from a dict -path_vis_endpoint_from_dict = PathVisEndpoint.from_dict(path_vis_endpoint_dict) +path_trace_dict = path_trace_instance.to_dict() +# create an instance of PathTrace from a dict +path_trace_from_dict = PathTrace.from_dict(path_trace_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) diff --git a/thousandeyes-sdk-test-results/docs/PathVisBaseTestResult.md b/thousandeyes-sdk-test-results/docs/PathVisBaseTestResult.md index 2179992b..d6b0a689 100644 --- a/thousandeyes-sdk-test-results/docs/PathVisBaseTestResult.md +++ b/thousandeyes-sdk-test-results/docs/PathVisBaseTestResult.md @@ -10,7 +10,7 @@ Name | Type | Description | Notes **links** | [**TestResultAppLinks**](TestResultAppLinks.md) | | [optional] **start_time** | **int** | Epoch time (seconds) indicating the start time of the round | [optional] [readonly] **end_time** | **int** | Epoch time (seconds) indicating the end time of the round | [optional] [readonly] -**agent** | [**Agent**](Agent.md) | | [optional] +**agent** | [**TestResultAgent**](TestResultAgent.md) | | [optional] **server** | **str** | Target server, including port (if method used is TCP) | [optional] [readonly] **server_ip** | **str** | IP of target server | [optional] [readonly] **source_ip** | **str** | IP address of source agent | [optional] [readonly] diff --git a/thousandeyes-sdk-test-results/docs/PathVisDetailTestResult.md b/thousandeyes-sdk-test-results/docs/PathVisDetailTestResult.md index 690023b1..eed2cd1e 100644 --- a/thousandeyes-sdk-test-results/docs/PathVisDetailTestResult.md +++ b/thousandeyes-sdk-test-results/docs/PathVisDetailTestResult.md @@ -10,7 +10,7 @@ Name | Type | Description | Notes **links** | [**TestResultAppLinks**](TestResultAppLinks.md) | | [optional] **start_time** | **int** | Epoch time (seconds) indicating the start time of the round | [optional] [readonly] **end_time** | **int** | Epoch time (seconds) indicating the end time of the round | [optional] [readonly] -**agent** | [**Agent**](Agent.md) | | [optional] +**agent** | [**TestResultAgent**](TestResultAgent.md) | | [optional] **server** | **str** | Target server, including port (if method used is TCP) | [optional] [readonly] **server_ip** | **str** | IP of target server | [optional] [readonly] **source_ip** | **str** | IP address of source agent | [optional] [readonly] diff --git a/thousandeyes-sdk-test-results/docs/PathVisTestResult.md b/thousandeyes-sdk-test-results/docs/PathVisTestResult.md index e11b08b7..d7a365e0 100644 --- a/thousandeyes-sdk-test-results/docs/PathVisTestResult.md +++ b/thousandeyes-sdk-test-results/docs/PathVisTestResult.md @@ -10,14 +10,14 @@ Name | Type | Description | Notes **links** | [**TestResultAppLinks**](TestResultAppLinks.md) | | [optional] **start_time** | **int** | Epoch time (seconds) indicating the start time of the round | [optional] [readonly] **end_time** | **int** | Epoch time (seconds) indicating the end time of the round | [optional] [readonly] -**agent** | [**Agent**](Agent.md) | | [optional] +**agent** | [**TestResultAgent**](TestResultAgent.md) | | [optional] **server** | **str** | Target server, including port (if method used is TCP) | [optional] [readonly] **server_ip** | **str** | IP of target server | [optional] [readonly] **source_ip** | **str** | IP address of source agent | [optional] [readonly] **source_prefix** | **str** | IP prefix of source agent | [optional] [readonly] **target_is_proxy** | **bool** | Specifies whether the traces are targeting a proxy. If not set, it is considered as false. | [optional] [readonly] **direction** | [**PathVisDirection**](PathVisDirection.md) | | [optional] -**path_traces** | [**List[PathVisEndpoint]**](PathVisEndpoint.md) | Shows all iterations of path trace, with each iteration specified by a pathId | [optional] +**path_traces** | [**List[PathTrace]**](PathTrace.md) | Shows all iterations of path trace, with each iteration specified by a pathId | [optional] ## Example diff --git a/thousandeyes-sdk-test-results/docs/RtpStreamTestResult.md b/thousandeyes-sdk-test-results/docs/RtpStreamTestResult.md index feb3219f..d3609a16 100644 --- a/thousandeyes-sdk-test-results/docs/RtpStreamTestResult.md +++ b/thousandeyes-sdk-test-results/docs/RtpStreamTestResult.md @@ -10,7 +10,7 @@ Name | Type | Description | Notes **links** | [**TestResultAppLinks**](TestResultAppLinks.md) | | [optional] **start_time** | **int** | Epoch time (seconds) indicating the start time of the round | [optional] [readonly] **end_time** | **int** | Epoch time (seconds) indicating the end time of the round | [optional] [readonly] -**agent** | [**Agent**](Agent.md) | | [optional] +**agent** | [**TestResultAgent**](TestResultAgent.md) | | [optional] **server_ip** | **str** | Target agent IP address | [optional] [readonly] **dscp** | **str** | DSCP value received by the server from the agent | [optional] [readonly] **dscp_name** | **str** | Name of DSCP value received by the server from the agent | [optional] [readonly] diff --git a/thousandeyes-sdk-test-results/docs/SipServerTestResult.md b/thousandeyes-sdk-test-results/docs/SipServerTestResult.md index c5fa1617..971f99ce 100644 --- a/thousandeyes-sdk-test-results/docs/SipServerTestResult.md +++ b/thousandeyes-sdk-test-results/docs/SipServerTestResult.md @@ -11,7 +11,7 @@ Name | Type | Description | Notes **start_time** | **int** | Epoch time (seconds) indicating the start time of the round | [optional] [readonly] **end_time** | **int** | Epoch time (seconds) indicating the end time of the round | [optional] [readonly] **server_ip** | **str** | Target agent IP address | [optional] [readonly] -**agent** | [**Agent**](Agent.md) | | [optional] +**agent** | [**TestResultAgent**](TestResultAgent.md) | | [optional] **availability** | **float** | availability of the service | [optional] [readonly] **connect_time** | **int** | Time required to establish a TCP connection to the server in milliseconds, only available when TCP is configured as protocol | [optional] [readonly] **dns_time** | **int** | Time required to resolve DNS in milliseconds | [optional] [readonly] diff --git a/thousandeyes-sdk-test-results/docs/Agent.md b/thousandeyes-sdk-test-results/docs/TestResultAgent.md similarity index 61% rename from thousandeyes-sdk-test-results/docs/Agent.md rename to thousandeyes-sdk-test-results/docs/TestResultAgent.md index aa7b15ea..a63db229 100644 --- a/thousandeyes-sdk-test-results/docs/Agent.md +++ b/thousandeyes-sdk-test-results/docs/TestResultAgent.md @@ -1,4 +1,4 @@ -# Agent +# TestResultAgent ## Properties @@ -13,19 +13,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.test_results.models.agent import Agent +from thousandeyes_sdk.test_results.models.test_result_agent import TestResultAgent # TODO update the JSON string below json = "{}" -# create an instance of Agent from a JSON string -agent_instance = Agent.from_json(json) +# create an instance of TestResultAgent from a JSON string +test_result_agent_instance = TestResultAgent.from_json(json) # print the JSON string representation of the object -print(Agent.to_json()) +print(TestResultAgent.to_json()) # convert the object into a dict -agent_dict = agent_instance.to_dict() -# create an instance of Agent from a dict -agent_from_dict = Agent.from_dict(agent_dict) +test_result_agent_dict = test_result_agent_instance.to_dict() +# create an instance of TestResultAgent from a dict +test_result_agent_from_dict = TestResultAgent.from_dict(test_result_agent_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) diff --git a/thousandeyes-sdk-test-results/docs/Monitor.md b/thousandeyes-sdk-test-results/docs/TestResultMonitor.md similarity index 58% rename from thousandeyes-sdk-test-results/docs/Monitor.md rename to thousandeyes-sdk-test-results/docs/TestResultMonitor.md index 211d397e..f0e21965 100644 --- a/thousandeyes-sdk-test-results/docs/Monitor.md +++ b/thousandeyes-sdk-test-results/docs/TestResultMonitor.md @@ -1,4 +1,4 @@ -# Monitor +# TestResultMonitor ## Properties @@ -12,19 +12,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.test_results.models.monitor import Monitor +from thousandeyes_sdk.test_results.models.test_result_monitor import TestResultMonitor # TODO update the JSON string below json = "{}" -# create an instance of Monitor from a JSON string -monitor_instance = Monitor.from_json(json) +# create an instance of TestResultMonitor from a JSON string +test_result_monitor_instance = TestResultMonitor.from_json(json) # print the JSON string representation of the object -print(Monitor.to_json()) +print(TestResultMonitor.to_json()) # convert the object into a dict -monitor_dict = monitor_instance.to_dict() -# create an instance of Monitor from a dict -monitor_from_dict = Monitor.from_dict(monitor_dict) +test_result_monitor_dict = test_result_monitor_instance.to_dict() +# create an instance of TestResultMonitor from a dict +test_result_monitor_from_dict = TestResultMonitor.from_dict(test_result_monitor_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) diff --git a/thousandeyes-sdk-test-results/docs/VoiceRTPServerTestMetricsApi.md b/thousandeyes-sdk-test-results/docs/VoiceRTPServerTestResultsApi.md similarity index 92% rename from thousandeyes-sdk-test-results/docs/VoiceRTPServerTestMetricsApi.md rename to thousandeyes-sdk-test-results/docs/VoiceRTPServerTestResultsApi.md index 3557542d..15101504 100644 --- a/thousandeyes-sdk-test-results/docs/VoiceRTPServerTestMetricsApi.md +++ b/thousandeyes-sdk-test-results/docs/VoiceRTPServerTestResultsApi.md @@ -1,10 +1,10 @@ -# thousandeyes_sdk.test_results.VoiceRTPServerTestMetricsApi +# thousandeyes_sdk.test_results.VoiceRTPServerTestResultsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**get_test_rtp_server_results**](VoiceRTPServerTestMetricsApi.md#get_test_rtp_server_results) | **GET** /v7/test-results/{testId}/rtp-server | Retrieve RTP server test metrics +[**get_test_rtp_server_results**](VoiceRTPServerTestResultsApi.md#get_test_rtp_server_results) | **GET** /test-results/{testId}/rtp-server | Retrieve RTP server test metrics # **get_test_rtp_server_results** @@ -24,10 +24,10 @@ from thousandeyes_sdk.test_results.models.rtp_stream_test_results import RtpStre from thousandeyes_sdk.test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -43,7 +43,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.test_results.VoiceRTPServerTestMetricsApi(api_client) + api_instance = thousandeyes_sdk.test_results.VoiceRTPServerTestResultsApi(api_client) test_id = '202701' # str | Test 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) window = '12h' # str | A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. (optional) @@ -54,10 +54,10 @@ with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: try: # Retrieve RTP server test metrics api_response = api_instance.get_test_rtp_server_results(test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor) - print("The response of VoiceRTPServerTestMetricsApi->get_test_rtp_server_results:\n") + print("The response of VoiceRTPServerTestResultsApi->get_test_rtp_server_results:\n") pprint(api_response) except Exception as e: - print("Exception when calling VoiceRTPServerTestMetricsApi->get_test_rtp_server_results: %s\n" % e) + print("Exception when calling VoiceRTPServerTestResultsApi->get_test_rtp_server_results: %s\n" % e) ``` diff --git a/thousandeyes-sdk-test-results/docs/VoiceSIPServerTestMetricsApi.md b/thousandeyes-sdk-test-results/docs/VoiceSIPServerTestResultsApi.md similarity index 92% rename from thousandeyes-sdk-test-results/docs/VoiceSIPServerTestMetricsApi.md rename to thousandeyes-sdk-test-results/docs/VoiceSIPServerTestResultsApi.md index d154d0d8..ddefd4d3 100644 --- a/thousandeyes-sdk-test-results/docs/VoiceSIPServerTestMetricsApi.md +++ b/thousandeyes-sdk-test-results/docs/VoiceSIPServerTestResultsApi.md @@ -1,10 +1,10 @@ -# thousandeyes_sdk.test_results.VoiceSIPServerTestMetricsApi +# thousandeyes_sdk.test_results.VoiceSIPServerTestResultsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**get_test_sip_server_results**](VoiceSIPServerTestMetricsApi.md#get_test_sip_server_results) | **GET** /v7/test-results/{testId}/sip-server | Get SIP server test results +[**get_test_sip_server_results**](VoiceSIPServerTestResultsApi.md#get_test_sip_server_results) | **GET** /test-results/{testId}/sip-server | Get SIP server test results # **get_test_sip_server_results** @@ -24,10 +24,10 @@ from thousandeyes_sdk.test_results.models.sip_server_test_results import SipServ from thousandeyes_sdk.test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -43,7 +43,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.test_results.VoiceSIPServerTestMetricsApi(api_client) + api_instance = thousandeyes_sdk.test_results.VoiceSIPServerTestResultsApi(api_client) test_id = '202701' # str | Test 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) window = '12h' # str | A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. (optional) @@ -54,10 +54,10 @@ with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: try: # Get SIP server test results api_response = api_instance.get_test_sip_server_results(test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor) - print("The response of VoiceSIPServerTestMetricsApi->get_test_sip_server_results:\n") + print("The response of VoiceSIPServerTestResultsApi->get_test_sip_server_results:\n") pprint(api_response) except Exception as e: - print("Exception when calling VoiceSIPServerTestMetricsApi->get_test_sip_server_results: %s\n" % e) + print("Exception when calling VoiceSIPServerTestResultsApi->get_test_sip_server_results: %s\n" % e) ``` diff --git a/thousandeyes-sdk-test-results/docs/WebFTPServerTestMetricsApi.md b/thousandeyes-sdk-test-results/docs/WebFTPServerTestResultsApi.md similarity index 92% rename from thousandeyes-sdk-test-results/docs/WebFTPServerTestMetricsApi.md rename to thousandeyes-sdk-test-results/docs/WebFTPServerTestResultsApi.md index 4e16dc19..2d9d433b 100644 --- a/thousandeyes-sdk-test-results/docs/WebFTPServerTestMetricsApi.md +++ b/thousandeyes-sdk-test-results/docs/WebFTPServerTestResultsApi.md @@ -1,10 +1,10 @@ -# thousandeyes_sdk.test_results.WebFTPServerTestMetricsApi +# thousandeyes_sdk.test_results.WebFTPServerTestResultsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**get_test_ftp_server_results**](WebFTPServerTestMetricsApi.md#get_test_ftp_server_results) | **GET** /v7/test-results/{testId}/ftp-server | Get FTP server test results +[**get_test_ftp_server_results**](WebFTPServerTestResultsApi.md#get_test_ftp_server_results) | **GET** /test-results/{testId}/ftp-server | Get FTP server test results # **get_test_ftp_server_results** @@ -24,10 +24,10 @@ from thousandeyes_sdk.test_results.models.ftp_server_test_results import FtpServ from thousandeyes_sdk.test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -43,7 +43,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.test_results.WebFTPServerTestMetricsApi(api_client) + api_instance = thousandeyes_sdk.test_results.WebFTPServerTestResultsApi(api_client) test_id = '202701' # str | Test 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) window = '12h' # str | A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. (optional) @@ -54,10 +54,10 @@ with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: try: # Get FTP server test results api_response = api_instance.get_test_ftp_server_results(test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor) - print("The response of WebFTPServerTestMetricsApi->get_test_ftp_server_results:\n") + print("The response of WebFTPServerTestResultsApi->get_test_ftp_server_results:\n") pprint(api_response) except Exception as e: - print("Exception when calling WebFTPServerTestMetricsApi->get_test_ftp_server_results: %s\n" % e) + print("Exception when calling WebFTPServerTestResultsApi->get_test_ftp_server_results: %s\n" % e) ``` diff --git a/thousandeyes-sdk-test-results/docs/WebHTTPServerTestMetricsApi.md b/thousandeyes-sdk-test-results/docs/WebHTTPServerTestResultsApi.md similarity index 93% rename from thousandeyes-sdk-test-results/docs/WebHTTPServerTestMetricsApi.md rename to thousandeyes-sdk-test-results/docs/WebHTTPServerTestResultsApi.md index 218beea5..e5b76362 100644 --- a/thousandeyes-sdk-test-results/docs/WebHTTPServerTestMetricsApi.md +++ b/thousandeyes-sdk-test-results/docs/WebHTTPServerTestResultsApi.md @@ -1,10 +1,10 @@ -# thousandeyes_sdk.test_results.WebHTTPServerTestMetricsApi +# thousandeyes_sdk.test_results.WebHTTPServerTestResultsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**get_test_http_server_results**](WebHTTPServerTestMetricsApi.md#get_test_http_server_results) | **GET** /v7/test-results/{testId}/http-server | Get HTTP server test results +[**get_test_http_server_results**](WebHTTPServerTestResultsApi.md#get_test_http_server_results) | **GET** /test-results/{testId}/http-server | Get HTTP server test results # **get_test_http_server_results** @@ -25,10 +25,10 @@ from thousandeyes_sdk.test_results.models.http_test_results import HttpTestResul from thousandeyes_sdk.test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -44,7 +44,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.test_results.WebHTTPServerTestMetricsApi(api_client) + api_instance = thousandeyes_sdk.test_results.WebHTTPServerTestResultsApi(api_client) test_id = '202701' # str | Test 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) window = '12h' # str | A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. (optional) @@ -56,10 +56,10 @@ with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: try: # Get HTTP server test results api_response = api_instance.get_test_http_server_results(test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, expand=expand) - print("The response of WebHTTPServerTestMetricsApi->get_test_http_server_results:\n") + print("The response of WebHTTPServerTestResultsApi->get_test_http_server_results:\n") pprint(api_response) except Exception as e: - print("Exception when calling WebHTTPServerTestMetricsApi->get_test_http_server_results: %s\n" % e) + print("Exception when calling WebHTTPServerTestResultsApi->get_test_http_server_results: %s\n" % e) ``` diff --git a/thousandeyes-sdk-test-results/docs/WebPageLoadTestMetricsApi.md b/thousandeyes-sdk-test-results/docs/WebPageLoadTestResultsApi.md similarity index 91% rename from thousandeyes-sdk-test-results/docs/WebPageLoadTestMetricsApi.md rename to thousandeyes-sdk-test-results/docs/WebPageLoadTestResultsApi.md index a82d37a1..977cf808 100644 --- a/thousandeyes-sdk-test-results/docs/WebPageLoadTestMetricsApi.md +++ b/thousandeyes-sdk-test-results/docs/WebPageLoadTestResultsApi.md @@ -1,11 +1,11 @@ -# thousandeyes_sdk.test_results.WebPageLoadTestMetricsApi +# thousandeyes_sdk.test_results.WebPageLoadTestResultsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**get_test_page_load_agent_round_results**](WebPageLoadTestMetricsApi.md#get_test_page_load_agent_round_results) | **GET** /v7/test-results/{testId}/page-load/agent/{agentId}/round/{roundId} | Get page load server test results by agent and round -[**get_test_page_load_results**](WebPageLoadTestMetricsApi.md#get_test_page_load_results) | **GET** /v7/test-results/{testId}/page-load | Get page load server test results +[**get_test_page_load_agent_round_results**](WebPageLoadTestResultsApi.md#get_test_page_load_agent_round_results) | **GET** /test-results/{testId}/page-load/agent/{agentId}/round/{roundId} | Get page load server test results by agent and round +[**get_test_page_load_results**](WebPageLoadTestResultsApi.md#get_test_page_load_results) | **GET** /test-results/{testId}/page-load | Get page load server test results # **get_test_page_load_agent_round_results** @@ -25,10 +25,10 @@ from thousandeyes_sdk.test_results.models.page_load_detail_test_results import P from thousandeyes_sdk.test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -44,7 +44,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.test_results.WebPageLoadTestMetricsApi(api_client) + api_instance = thousandeyes_sdk.test_results.WebPageLoadTestResultsApi(api_client) test_id = '202701' # str | Test ID agent_id = '11' # str | Agent ID round_id = '1384309800' # str | Round ID @@ -53,10 +53,10 @@ with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: try: # Get page load server test results by agent and round api_response = api_instance.get_test_page_load_agent_round_results(test_id, agent_id, round_id, aid=aid) - print("The response of WebPageLoadTestMetricsApi->get_test_page_load_agent_round_results:\n") + print("The response of WebPageLoadTestResultsApi->get_test_page_load_agent_round_results:\n") pprint(api_response) except Exception as e: - print("Exception when calling WebPageLoadTestMetricsApi->get_test_page_load_agent_round_results: %s\n" % e) + print("Exception when calling WebPageLoadTestResultsApi->get_test_page_load_agent_round_results: %s\n" % e) ``` @@ -117,10 +117,10 @@ from thousandeyes_sdk.test_results.models.page_load_test_results import PageLoad from thousandeyes_sdk.test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -136,7 +136,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.test_results.WebPageLoadTestMetricsApi(api_client) + api_instance = thousandeyes_sdk.test_results.WebPageLoadTestResultsApi(api_client) test_id = '202701' # str | Test 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) window = '12h' # str | A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. (optional) @@ -147,10 +147,10 @@ with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: try: # Get page load server test results api_response = api_instance.get_test_page_load_results(test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor) - print("The response of WebPageLoadTestMetricsApi->get_test_page_load_results:\n") + print("The response of WebPageLoadTestResultsApi->get_test_page_load_results:\n") pprint(api_response) except Exception as e: - print("Exception when calling WebPageLoadTestMetricsApi->get_test_page_load_results: %s\n" % e) + print("Exception when calling WebPageLoadTestResultsApi->get_test_page_load_results: %s\n" % e) ``` diff --git a/thousandeyes-sdk-test-results/docs/WebTransactionDetailTestResult.md b/thousandeyes-sdk-test-results/docs/WebTransactionDetailTestResult.md index 2e500354..20d830de 100644 --- a/thousandeyes-sdk-test-results/docs/WebTransactionDetailTestResult.md +++ b/thousandeyes-sdk-test-results/docs/WebTransactionDetailTestResult.md @@ -10,7 +10,7 @@ Name | Type | Description | Notes **links** | [**TestResultAppLinks**](TestResultAppLinks.md) | | [optional] **start_time** | **int** | Epoch time (seconds) indicating the start time of the round | [optional] [readonly] **end_time** | **int** | Epoch time (seconds) indicating the end time of the round | [optional] [readonly] -**agent** | [**Agent**](Agent.md) | | [optional] +**agent** | [**TestResultAgent**](TestResultAgent.md) | | [optional] **component_errors** | **int** | Number of components which did not successfully load | [optional] [readonly] **transaction_time** | **int** | Elapsed execution time of the web transaction script in milliseconds | [optional] [readonly] **error_type** | **str** | Type of error encountered; corresponds to phase of connection | [optional] [readonly] diff --git a/thousandeyes-sdk-test-results/docs/WebTransactionPageDetailTestResult.md b/thousandeyes-sdk-test-results/docs/WebTransactionPageDetailTestResult.md index 6f6837b7..41171439 100644 --- a/thousandeyes-sdk-test-results/docs/WebTransactionPageDetailTestResult.md +++ b/thousandeyes-sdk-test-results/docs/WebTransactionPageDetailTestResult.md @@ -10,7 +10,7 @@ Name | Type | Description | Notes **links** | [**TestResultAppLinks**](TestResultAppLinks.md) | | [optional] **start_time** | **int** | Epoch time (seconds) indicating the start time of the round | [optional] [readonly] **end_time** | **int** | Epoch time (seconds) indicating the end time of the round | [optional] [readonly] -**agent** | [**Agent**](Agent.md) | | [optional] +**agent** | [**TestResultAgent**](TestResultAgent.md) | | [optional] **component_errors** | **int** | Number of components which did not successfully load | [optional] [readonly] **transaction_time** | **int** | Elapsed execution time of the web transaction script in milliseconds | [optional] [readonly] **error_type** | **str** | Type of error encountered; corresponds to phase of connection | [optional] [readonly] diff --git a/thousandeyes-sdk-test-results/docs/WebTransactionTestResult.md b/thousandeyes-sdk-test-results/docs/WebTransactionTestResult.md index aa47a86d..77cb1cca 100644 --- a/thousandeyes-sdk-test-results/docs/WebTransactionTestResult.md +++ b/thousandeyes-sdk-test-results/docs/WebTransactionTestResult.md @@ -10,7 +10,7 @@ Name | Type | Description | Notes **links** | [**TestResultAppLinks**](TestResultAppLinks.md) | | [optional] **start_time** | **int** | Epoch time (seconds) indicating the start time of the round | [optional] [readonly] **end_time** | **int** | Epoch time (seconds) indicating the end time of the round | [optional] [readonly] -**agent** | [**Agent**](Agent.md) | | [optional] +**agent** | [**TestResultAgent**](TestResultAgent.md) | | [optional] **component_errors** | **int** | Number of components which did not successfully load | [optional] [readonly] **transaction_time** | **int** | Elapsed execution time of the web transaction script in milliseconds | [optional] [readonly] **error_type** | **str** | Type of error encountered; corresponds to phase of connection | [optional] [readonly] diff --git a/thousandeyes-sdk-test-results/docs/WebTransactionsTestMetricsApi.md b/thousandeyes-sdk-test-results/docs/WebTransactionsTestResultsApi.md similarity index 90% rename from thousandeyes-sdk-test-results/docs/WebTransactionsTestMetricsApi.md rename to thousandeyes-sdk-test-results/docs/WebTransactionsTestResultsApi.md index 8f1a7470..392fa124 100644 --- a/thousandeyes-sdk-test-results/docs/WebTransactionsTestMetricsApi.md +++ b/thousandeyes-sdk-test-results/docs/WebTransactionsTestResultsApi.md @@ -1,12 +1,12 @@ -# thousandeyes_sdk.test_results.WebTransactionsTestMetricsApi +# thousandeyes_sdk.test_results.WebTransactionsTestResultsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**get_test_web_transaction_agent_round_page_results**](WebTransactionsTestMetricsApi.md#get_test_web_transaction_agent_round_page_results) | **GET** /v7/test-results/{testId}/web-transactions/agent/{agentId}/round/{roundId}/page/{pageId} | Get detailed web transactions test result by agent, round, and page -[**get_test_web_transaction_agent_round_results**](WebTransactionsTestMetricsApi.md#get_test_web_transaction_agent_round_results) | **GET** /v7/test-results/{testId}/web-transactions/agent/{agentId}/round/{roundId} | Get web transactions test results by agent and round -[**get_test_web_transaction_results**](WebTransactionsTestMetricsApi.md#get_test_web_transaction_results) | **GET** /v7/test-results/{testId}/web-transactions | Get web transactions test results +[**get_test_web_transaction_agent_round_page_results**](WebTransactionsTestResultsApi.md#get_test_web_transaction_agent_round_page_results) | **GET** /test-results/{testId}/web-transactions/agent/{agentId}/round/{roundId}/page/{pageId} | Get detailed web transactions test result by agent, round, and page +[**get_test_web_transaction_agent_round_results**](WebTransactionsTestResultsApi.md#get_test_web_transaction_agent_round_results) | **GET** /test-results/{testId}/web-transactions/agent/{agentId}/round/{roundId} | Get web transactions test results by agent and round +[**get_test_web_transaction_results**](WebTransactionsTestResultsApi.md#get_test_web_transaction_results) | **GET** /test-results/{testId}/web-transactions | Get web transactions test results # **get_test_web_transaction_agent_round_page_results** @@ -26,10 +26,10 @@ from thousandeyes_sdk.test_results.models.web_transaction_page_detail_test_resul from thousandeyes_sdk.test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -45,7 +45,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.test_results.WebTransactionsTestMetricsApi(api_client) + api_instance = thousandeyes_sdk.test_results.WebTransactionsTestResultsApi(api_client) test_id = '202701' # str | Test ID agent_id = '11' # str | Agent ID round_id = '1384309800' # str | Round ID @@ -55,10 +55,10 @@ with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: try: # Get detailed web transactions test result by agent, round, and page api_response = api_instance.get_test_web_transaction_agent_round_page_results(test_id, agent_id, round_id, page_id, aid=aid) - print("The response of WebTransactionsTestMetricsApi->get_test_web_transaction_agent_round_page_results:\n") + print("The response of WebTransactionsTestResultsApi->get_test_web_transaction_agent_round_page_results:\n") pprint(api_response) except Exception as e: - print("Exception when calling WebTransactionsTestMetricsApi->get_test_web_transaction_agent_round_page_results: %s\n" % e) + print("Exception when calling WebTransactionsTestResultsApi->get_test_web_transaction_agent_round_page_results: %s\n" % e) ``` @@ -120,10 +120,10 @@ from thousandeyes_sdk.test_results.models.web_transaction_detail_test_results im from thousandeyes_sdk.test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -139,7 +139,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.test_results.WebTransactionsTestMetricsApi(api_client) + api_instance = thousandeyes_sdk.test_results.WebTransactionsTestResultsApi(api_client) test_id = '202701' # str | Test ID agent_id = '11' # str | Agent ID round_id = '1384309800' # str | Round ID @@ -148,10 +148,10 @@ with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: try: # Get web transactions test results by agent and round api_response = api_instance.get_test_web_transaction_agent_round_results(test_id, agent_id, round_id, aid=aid) - print("The response of WebTransactionsTestMetricsApi->get_test_web_transaction_agent_round_results:\n") + print("The response of WebTransactionsTestResultsApi->get_test_web_transaction_agent_round_results:\n") pprint(api_response) except Exception as e: - print("Exception when calling WebTransactionsTestMetricsApi->get_test_web_transaction_agent_round_results: %s\n" % e) + print("Exception when calling WebTransactionsTestResultsApi->get_test_web_transaction_agent_round_results: %s\n" % e) ``` @@ -212,10 +212,10 @@ from thousandeyes_sdk.test_results.models.web_transaction_test_results import We from thousandeyes_sdk.test_results.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -231,7 +231,7 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.test_results.WebTransactionsTestMetricsApi(api_client) + api_instance = thousandeyes_sdk.test_results.WebTransactionsTestResultsApi(api_client) test_id = '202701' # str | Test 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) window = '12h' # str | A dynamic time interval up to the current time of the request. Specify the interval as a number followed by an optional type: `s` for seconds (default if no type is specified), `m` for minutes, `h` for hours, `d` for days, and `w` for weeks. For a precise date range, use `startDate` and `endDate`. (optional) @@ -242,10 +242,10 @@ with thousandeyes_sdk.test_results.ApiClient(configuration) as api_client: try: # Get web transactions test results api_response = api_instance.get_test_web_transaction_results(test_id, aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor) - print("The response of WebTransactionsTestMetricsApi->get_test_web_transaction_results:\n") + print("The response of WebTransactionsTestResultsApi->get_test_web_transaction_results:\n") pprint(api_response) except Exception as e: - print("Exception when calling WebTransactionsTestMetricsApi->get_test_web_transaction_results: %s\n" % e) + print("Exception when calling WebTransactionsTestResultsApi->get_test_web_transaction_results: %s\n" % e) ``` diff --git a/thousandeyes-sdk-test-results/pyproject.toml b/thousandeyes-sdk-test-results/pyproject.toml index e4382520..c4489116 100644 --- a/thousandeyes-sdk-test-results/pyproject.toml +++ b/thousandeyes-sdk-test-results/pyproject.toml @@ -9,9 +9,9 @@ description = "ThousandEyes SDK Test Results API" license = { file = "LICENSE" } requires-python = ">= 3.8" dependencies = [ - "urllib3 >= 1.25.3", + "urllib3 >= 2.0.0", "python-dateutil >=2.8.2", - "pydantic >=2", + "pydantic >=2.1.0", "typing-extensions >=4.7.1", "thousandeyes-sdk-core", ] diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/__init__.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/__init__.py index 02e70dc3..8d9093a3 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/__init__.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/__init__.py @@ -7,7 +7,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -15,22 +14,21 @@ # import apis into sdk package -from thousandeyes_sdk.test_results.api.api_test_metrics_api import APITestMetricsApi -from thousandeyes_sdk.test_results.api.dnssec_test_metrics_api import DNSSECTestMetricsApi -from thousandeyes_sdk.test_results.api.dns_server_test_metrics_api import DNSServerTestMetricsApi -from thousandeyes_sdk.test_results.api.dns_trace_test_metrics_api import DNSTraceTestMetricsApi -from thousandeyes_sdk.test_results.api.network_bgp_test_metrics_api import NetworkBGPTestMetricsApi -from thousandeyes_sdk.test_results.api.network_test_metrics_api import NetworkTestMetricsApi -from thousandeyes_sdk.test_results.api.voice_rtp_server_test_metrics_api import VoiceRTPServerTestMetricsApi -from thousandeyes_sdk.test_results.api.voice_sip_server_test_metrics_api import VoiceSIPServerTestMetricsApi -from thousandeyes_sdk.test_results.api.web_ftp_server_test_metrics_api import WebFTPServerTestMetricsApi -from thousandeyes_sdk.test_results.api.web_http_server_test_metrics_api import WebHTTPServerTestMetricsApi -from thousandeyes_sdk.test_results.api.web_page_load_test_metrics_api import WebPageLoadTestMetricsApi -from thousandeyes_sdk.test_results.api.web_transactions_test_metrics_api import WebTransactionsTestMetricsApi +from thousandeyes_sdk.test_results.api.api_test_results_api import APITestResultsApi +from thousandeyes_sdk.test_results.api.dnssec_test_results_api import DNSSECTestResultsApi +from thousandeyes_sdk.test_results.api.dns_server_test_results_api import DNSServerTestResultsApi +from thousandeyes_sdk.test_results.api.dns_trace_test_results_api import DNSTraceTestResultsApi +from thousandeyes_sdk.test_results.api.network_bgp_test_results_api import NetworkBGPTestResultsApi +from thousandeyes_sdk.test_results.api.network_test_results_api import NetworkTestResultsApi +from thousandeyes_sdk.test_results.api.voice_rtp_server_test_results_api import VoiceRTPServerTestResultsApi +from thousandeyes_sdk.test_results.api.voice_sip_server_test_results_api import VoiceSIPServerTestResultsApi +from thousandeyes_sdk.test_results.api.web_ftp_server_test_results_api import WebFTPServerTestResultsApi +from thousandeyes_sdk.test_results.api.web_http_server_test_results_api import WebHTTPServerTestResultsApi +from thousandeyes_sdk.test_results.api.web_page_load_test_results_api import WebPageLoadTestResultsApi +from thousandeyes_sdk.test_results.api.web_transactions_test_results_api import WebTransactionsTestResultsApi # import models into sdk package -from thousandeyes_sdk.test_results.models.agent import Agent from thousandeyes_sdk.test_results.models.api_detail_test_result import ApiDetailTestResult from thousandeyes_sdk.test_results.models.api_detail_test_results import ApiDetailTestResults from thousandeyes_sdk.test_results.models.api_request_detail import ApiRequestDetail @@ -60,7 +58,6 @@ from thousandeyes_sdk.test_results.models.http_test_result_headers import HttpTe from thousandeyes_sdk.test_results.models.http_test_results import HttpTestResults from thousandeyes_sdk.test_results.models.link import Link from thousandeyes_sdk.test_results.models.marker import Marker -from thousandeyes_sdk.test_results.models.monitor import Monitor from thousandeyes_sdk.test_results.models.network_test_result import NetworkTestResult from thousandeyes_sdk.test_results.models.network_test_results import NetworkTestResults from thousandeyes_sdk.test_results.models.page import Page @@ -69,11 +66,11 @@ from thousandeyes_sdk.test_results.models.page_load_detail_test_results import P from thousandeyes_sdk.test_results.models.page_load_test_result import PageLoadTestResult from thousandeyes_sdk.test_results.models.page_load_test_results import PageLoadTestResults from thousandeyes_sdk.test_results.models.pagination_links import PaginationLinks +from thousandeyes_sdk.test_results.models.path_trace import PathTrace from thousandeyes_sdk.test_results.models.path_vis_base_test_result import PathVisBaseTestResult from thousandeyes_sdk.test_results.models.path_vis_detail_test_result import PathVisDetailTestResult from thousandeyes_sdk.test_results.models.path_vis_detail_test_results import PathVisDetailTestResults from thousandeyes_sdk.test_results.models.path_vis_direction import PathVisDirection -from thousandeyes_sdk.test_results.models.path_vis_endpoint import PathVisEndpoint from thousandeyes_sdk.test_results.models.path_vis_hop import PathVisHop from thousandeyes_sdk.test_results.models.path_vis_route import PathVisRoute from thousandeyes_sdk.test_results.models.path_vis_test_result import PathVisTestResult @@ -90,7 +87,9 @@ from thousandeyes_sdk.test_results.models.test_direction import TestDirection from thousandeyes_sdk.test_results.models.test_interval import TestInterval from thousandeyes_sdk.test_results.models.test_links import TestLinks from thousandeyes_sdk.test_results.models.test_result import TestResult +from thousandeyes_sdk.test_results.models.test_result_agent import TestResultAgent from thousandeyes_sdk.test_results.models.test_result_app_links import TestResultAppLinks +from thousandeyes_sdk.test_results.models.test_result_monitor import TestResultMonitor from thousandeyes_sdk.test_results.models.test_self_link import TestSelfLink from thousandeyes_sdk.test_results.models.test_type import TestType from thousandeyes_sdk.test_results.models.unauthorized_error import UnauthorizedError diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/__init__.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/__init__.py index 98ab0c9c..cfd53f1b 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/__init__.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/__init__.py @@ -1,16 +1,16 @@ # flake8: noqa # import apis into api package -from thousandeyes_sdk.test_results.api.api_test_metrics_api import APITestMetricsApi -from thousandeyes_sdk.test_results.api.dnssec_test_metrics_api import DNSSECTestMetricsApi -from thousandeyes_sdk.test_results.api.dns_server_test_metrics_api import DNSServerTestMetricsApi -from thousandeyes_sdk.test_results.api.dns_trace_test_metrics_api import DNSTraceTestMetricsApi -from thousandeyes_sdk.test_results.api.network_bgp_test_metrics_api import NetworkBGPTestMetricsApi -from thousandeyes_sdk.test_results.api.network_test_metrics_api import NetworkTestMetricsApi -from thousandeyes_sdk.test_results.api.voice_rtp_server_test_metrics_api import VoiceRTPServerTestMetricsApi -from thousandeyes_sdk.test_results.api.voice_sip_server_test_metrics_api import VoiceSIPServerTestMetricsApi -from thousandeyes_sdk.test_results.api.web_ftp_server_test_metrics_api import WebFTPServerTestMetricsApi -from thousandeyes_sdk.test_results.api.web_http_server_test_metrics_api import WebHTTPServerTestMetricsApi -from thousandeyes_sdk.test_results.api.web_page_load_test_metrics_api import WebPageLoadTestMetricsApi -from thousandeyes_sdk.test_results.api.web_transactions_test_metrics_api import WebTransactionsTestMetricsApi +from thousandeyes_sdk.test_results.api.api_test_results_api import APITestResultsApi +from thousandeyes_sdk.test_results.api.dnssec_test_results_api import DNSSECTestResultsApi +from thousandeyes_sdk.test_results.api.dns_server_test_results_api import DNSServerTestResultsApi +from thousandeyes_sdk.test_results.api.dns_trace_test_results_api import DNSTraceTestResultsApi +from thousandeyes_sdk.test_results.api.network_bgp_test_results_api import NetworkBGPTestResultsApi +from thousandeyes_sdk.test_results.api.network_test_results_api import NetworkTestResultsApi +from thousandeyes_sdk.test_results.api.voice_rtp_server_test_results_api import VoiceRTPServerTestResultsApi +from thousandeyes_sdk.test_results.api.voice_sip_server_test_results_api import VoiceSIPServerTestResultsApi +from thousandeyes_sdk.test_results.api.web_ftp_server_test_results_api import WebFTPServerTestResultsApi +from thousandeyes_sdk.test_results.api.web_http_server_test_results_api import WebHTTPServerTestResultsApi +from thousandeyes_sdk.test_results.api.web_page_load_test_results_api import WebPageLoadTestResultsApi +from thousandeyes_sdk.test_results.api.web_transactions_test_results_api import WebTransactionsTestResultsApi diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/api_test_metrics_api.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/api_test_results_api.py similarity index 99% rename from thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/api_test_metrics_api.py rename to thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/api_test_results_api.py index 225d5cc0..437e91eb 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/api_test_metrics_api.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/api_test_results_api.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -31,7 +30,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class APITestMetricsApi: +class APITestResultsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -359,7 +358,7 @@ class APITestMetricsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/test-results/{testId}/api/agent/{agentId}/round/{roundId}', + resource_path='/test-results/{testId}/api/agent/{agentId}/round/{roundId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -745,7 +744,7 @@ class APITestMetricsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/test-results/{testId}/api', + resource_path='/test-results/{testId}/api', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/dns_server_test_metrics_api.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/dns_server_test_results_api.py similarity index 99% rename from thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/dns_server_test_metrics_api.py rename to thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/dns_server_test_results_api.py index bfc405f8..c51e27ba 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/dns_server_test_metrics_api.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/dns_server_test_results_api.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -30,7 +29,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class DNSServerTestMetricsApi: +class DNSServerTestResultsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -429,7 +428,7 @@ class DNSServerTestMetricsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/test-results/{testId}/dns-server/{serverId}', + resource_path='/test-results/{testId}/dns-server/{serverId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -815,7 +814,7 @@ class DNSServerTestMetricsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/test-results/{testId}/dns-server', + resource_path='/test-results/{testId}/dns-server', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/dns_trace_test_metrics_api.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/dns_trace_test_results_api.py similarity index 99% rename from thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/dns_trace_test_metrics_api.py rename to thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/dns_trace_test_results_api.py index 05eebf0e..42057fe1 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/dns_trace_test_metrics_api.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/dns_trace_test_results_api.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -30,7 +29,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class DNSTraceTestMetricsApi: +class DNSTraceTestResultsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -414,7 +413,7 @@ class DNSTraceTestMetricsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/test-results/{testId}/dns-trace', + resource_path='/test-results/{testId}/dns-trace', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/dnssec_test_metrics_api.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/dnssec_test_results_api.py similarity index 99% rename from thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/dnssec_test_metrics_api.py rename to thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/dnssec_test_results_api.py index 7277e337..6427d676 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/dnssec_test_metrics_api.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/dnssec_test_results_api.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -30,7 +29,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class DNSSECTestMetricsApi: +class DNSSECTestResultsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -414,7 +413,7 @@ class DNSSECTestMetricsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/test-results/{testId}/dnssec', + resource_path='/test-results/{testId}/dnssec', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/network_bgp_test_metrics_api.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/network_bgp_test_results_api.py similarity index 99% rename from thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/network_bgp_test_metrics_api.py rename to thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/network_bgp_test_results_api.py index 1b8849e0..f47bb5fa 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/network_bgp_test_metrics_api.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/network_bgp_test_results_api.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -31,7 +30,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class NetworkBGPTestMetricsApi: +class NetworkBGPTestResultsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -415,7 +414,7 @@ class NetworkBGPTestMetricsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/test-results/{testId}/bgp', + resource_path='/test-results/{testId}/bgp', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -745,7 +744,7 @@ class NetworkBGPTestMetricsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/test-results/{testId}/bgp/routes/prefix/{prefixId}/round/{roundId}', + resource_path='/test-results/{testId}/bgp/routes/prefix/{prefixId}/round/{roundId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/network_test_metrics_api.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/network_test_results_api.py similarity index 99% rename from thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/network_test_metrics_api.py rename to thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/network_test_results_api.py index 289d3a7e..1bb03e00 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/network_test_metrics_api.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/network_test_results_api.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -34,7 +33,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class NetworkTestMetricsApi: +class NetworkTestResultsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -435,7 +434,7 @@ class NetworkTestMetricsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/test-results/{testId}/network', + resource_path='/test-results/{testId}/network', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -782,7 +781,7 @@ class NetworkTestMetricsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/test-results/{testId}/path-vis/agent/{agentId}/round/{roundId}', + resource_path='/test-results/{testId}/path-vis/agent/{agentId}/round/{roundId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1185,7 +1184,7 @@ class NetworkTestMetricsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/test-results/{testId}/path-vis', + resource_path='/test-results/{testId}/path-vis', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/voice_rtp_server_test_metrics_api.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/voice_rtp_server_test_results_api.py similarity index 99% rename from thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/voice_rtp_server_test_metrics_api.py rename to thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/voice_rtp_server_test_results_api.py index 942c9cbb..a0df42d2 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/voice_rtp_server_test_metrics_api.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/voice_rtp_server_test_results_api.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -30,7 +29,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class VoiceRTPServerTestMetricsApi: +class VoiceRTPServerTestResultsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -414,7 +413,7 @@ class VoiceRTPServerTestMetricsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/test-results/{testId}/rtp-server', + resource_path='/test-results/{testId}/rtp-server', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/voice_sip_server_test_metrics_api.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/voice_sip_server_test_results_api.py similarity index 99% rename from thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/voice_sip_server_test_metrics_api.py rename to thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/voice_sip_server_test_results_api.py index ee9891f6..1717c133 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/voice_sip_server_test_metrics_api.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/voice_sip_server_test_results_api.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -30,7 +29,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class VoiceSIPServerTestMetricsApi: +class VoiceSIPServerTestResultsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -414,7 +413,7 @@ class VoiceSIPServerTestMetricsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/test-results/{testId}/sip-server', + resource_path='/test-results/{testId}/sip-server', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/web_ftp_server_test_metrics_api.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/web_ftp_server_test_results_api.py similarity index 99% rename from thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/web_ftp_server_test_metrics_api.py rename to thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/web_ftp_server_test_results_api.py index 2bcacc30..44309e90 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/web_ftp_server_test_metrics_api.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/web_ftp_server_test_results_api.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -30,7 +29,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class WebFTPServerTestMetricsApi: +class WebFTPServerTestResultsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -414,7 +413,7 @@ class WebFTPServerTestMetricsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/test-results/{testId}/ftp-server', + resource_path='/test-results/{testId}/ftp-server', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/web_http_server_test_metrics_api.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/web_http_server_test_results_api.py similarity index 99% rename from thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/web_http_server_test_metrics_api.py rename to thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/web_http_server_test_results_api.py index 8c28b4d3..7dcb604c 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/web_http_server_test_metrics_api.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/web_http_server_test_results_api.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -31,7 +30,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class WebHTTPServerTestMetricsApi: +class WebHTTPServerTestResultsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -433,7 +432,7 @@ class WebHTTPServerTestMetricsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/test-results/{testId}/http-server', + resource_path='/test-results/{testId}/http-server', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/web_page_load_test_metrics_api.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/web_page_load_test_results_api.py similarity index 99% rename from thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/web_page_load_test_metrics_api.py rename to thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/web_page_load_test_results_api.py index 5c99c0e4..05f7166f 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/web_page_load_test_metrics_api.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/web_page_load_test_results_api.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -31,7 +30,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class WebPageLoadTestMetricsApi: +class WebPageLoadTestResultsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -359,7 +358,7 @@ class WebPageLoadTestMetricsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/test-results/{testId}/page-load/agent/{agentId}/round/{roundId}', + resource_path='/test-results/{testId}/page-load/agent/{agentId}/round/{roundId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -745,7 +744,7 @@ class WebPageLoadTestMetricsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/test-results/{testId}/page-load', + resource_path='/test-results/{testId}/page-load', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/web_transactions_test_metrics_api.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/web_transactions_test_results_api.py similarity index 99% rename from thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/web_transactions_test_metrics_api.py rename to thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/web_transactions_test_results_api.py index 35309ab6..0b45e393 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/web_transactions_test_metrics_api.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/api/web_transactions_test_results_api.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -32,7 +31,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class WebTransactionsTestMetricsApi: +class WebTransactionsTestResultsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -375,7 +374,7 @@ class WebTransactionsTestMetricsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/test-results/{testId}/web-transactions/agent/{agentId}/round/{roundId}/page/{pageId}', + resource_path='/test-results/{testId}/web-transactions/agent/{agentId}/round/{roundId}/page/{pageId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -705,7 +704,7 @@ class WebTransactionsTestMetricsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/test-results/{testId}/web-transactions/agent/{agentId}/round/{roundId}', + resource_path='/test-results/{testId}/web-transactions/agent/{agentId}/round/{roundId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1091,7 +1090,7 @@ class WebTransactionsTestMetricsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/test-results/{testId}/web-transactions', + resource_path='/test-results/{testId}/web-transactions', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/__init__.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/__init__.py index 1a62d7f3..89d1f4ed 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/__init__.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/__init__.py @@ -6,7 +6,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -14,7 +13,6 @@ # import models into model package -from thousandeyes_sdk.test_results.models.agent import Agent from thousandeyes_sdk.test_results.models.api_detail_test_result import ApiDetailTestResult from thousandeyes_sdk.test_results.models.api_detail_test_results import ApiDetailTestResults from thousandeyes_sdk.test_results.models.api_request_detail import ApiRequestDetail @@ -44,7 +42,6 @@ from thousandeyes_sdk.test_results.models.http_test_result_headers import HttpTe from thousandeyes_sdk.test_results.models.http_test_results import HttpTestResults from thousandeyes_sdk.test_results.models.link import Link from thousandeyes_sdk.test_results.models.marker import Marker -from thousandeyes_sdk.test_results.models.monitor import Monitor from thousandeyes_sdk.test_results.models.network_test_result import NetworkTestResult from thousandeyes_sdk.test_results.models.network_test_results import NetworkTestResults from thousandeyes_sdk.test_results.models.page import Page @@ -53,11 +50,11 @@ from thousandeyes_sdk.test_results.models.page_load_detail_test_results import P from thousandeyes_sdk.test_results.models.page_load_test_result import PageLoadTestResult from thousandeyes_sdk.test_results.models.page_load_test_results import PageLoadTestResults from thousandeyes_sdk.test_results.models.pagination_links import PaginationLinks +from thousandeyes_sdk.test_results.models.path_trace import PathTrace from thousandeyes_sdk.test_results.models.path_vis_base_test_result import PathVisBaseTestResult from thousandeyes_sdk.test_results.models.path_vis_detail_test_result import PathVisDetailTestResult from thousandeyes_sdk.test_results.models.path_vis_detail_test_results import PathVisDetailTestResults from thousandeyes_sdk.test_results.models.path_vis_direction import PathVisDirection -from thousandeyes_sdk.test_results.models.path_vis_endpoint import PathVisEndpoint from thousandeyes_sdk.test_results.models.path_vis_hop import PathVisHop from thousandeyes_sdk.test_results.models.path_vis_route import PathVisRoute from thousandeyes_sdk.test_results.models.path_vis_test_result import PathVisTestResult @@ -74,7 +71,9 @@ from thousandeyes_sdk.test_results.models.test_direction import TestDirection from thousandeyes_sdk.test_results.models.test_interval import TestInterval from thousandeyes_sdk.test_results.models.test_links import TestLinks from thousandeyes_sdk.test_results.models.test_result import TestResult +from thousandeyes_sdk.test_results.models.test_result_agent import TestResultAgent from thousandeyes_sdk.test_results.models.test_result_app_links import TestResultAppLinks +from thousandeyes_sdk.test_results.models.test_result_monitor import TestResultMonitor from thousandeyes_sdk.test_results.models.test_self_link import TestSelfLink from thousandeyes_sdk.test_results.models.test_type import TestType from thousandeyes_sdk.test_results.models.unauthorized_error import UnauthorizedError diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/api_detail_test_result.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/api_detail_test_result.py index 21661c0c..1b38cb8b 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/api_detail_test_result.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/api_detail_test_result.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,8 +19,8 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional, Union -from thousandeyes_sdk.test_results.models.agent import Agent from thousandeyes_sdk.test_results.models.api_request_detail import ApiRequestDetail +from thousandeyes_sdk.test_results.models.test_result_agent import TestResultAgent from thousandeyes_sdk.test_results.models.test_result_app_links import TestResultAppLinks from typing import Optional, Set from typing_extensions import Self @@ -35,7 +34,7 @@ class ApiDetailTestResult(BaseModel): links: Optional[TestResultAppLinks] = Field(default=None, alias="_links") start_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the start time of the round", alias="startTime") end_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the end time of the round", alias="endTime") - agent: Optional[Agent] = None + agent: Optional[TestResultAgent] = None api_transaction_time: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Elapsed execution time of the API steps.", alias="apiTransactionTime") completion: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Percentage of steps which completed successfully and passed assertions.") error_type: Optional[StrictStr] = Field(default=None, description="Type of error encountered.", alias="errorType") @@ -129,7 +128,7 @@ class ApiDetailTestResult(BaseModel): "_links": TestResultAppLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, "startTime": obj.get("startTime"), "endTime": obj.get("endTime"), - "agent": Agent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, + "agent": TestResultAgent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, "apiTransactionTime": obj.get("apiTransactionTime"), "completion": obj.get("completion"), "errorType": obj.get("errorType"), diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/api_detail_test_results.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/api_detail_test_results.py index 487e4ff1..ed30fa8d 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/api_detail_test_results.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/api_detail_test_results.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/api_request_detail.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/api_request_detail.py index 9c69874c..d44d020d 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/api_request_detail.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/api_request_detail.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/api_request_detail_assertion.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/api_request_detail_assertion.py index fa0a6e81..821fa0d9 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/api_request_detail_assertion.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/api_request_detail_assertion.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/api_test_result.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/api_test_result.py index 9a554d79..fb7fda1f 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/api_test_result.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/api_test_result.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,7 +19,7 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional, Union -from thousandeyes_sdk.test_results.models.agent import Agent +from thousandeyes_sdk.test_results.models.test_result_agent import TestResultAgent from thousandeyes_sdk.test_results.models.test_result_app_links import TestResultAppLinks from typing import Optional, Set from typing_extensions import Self @@ -34,7 +33,7 @@ class ApiTestResult(BaseModel): links: Optional[TestResultAppLinks] = Field(default=None, alias="_links") start_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the start time of the round", alias="startTime") end_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the end time of the round", alias="endTime") - agent: Optional[Agent] = None + agent: Optional[TestResultAgent] = None api_transaction_time: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Elapsed execution time of the API steps.", alias="apiTransactionTime") completion: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Percentage of steps which completed successfully and passed assertions.") error_type: Optional[StrictStr] = Field(default=None, description="Type of error encountered.", alias="errorType") @@ -120,7 +119,7 @@ class ApiTestResult(BaseModel): "_links": TestResultAppLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, "startTime": obj.get("startTime"), "endTime": obj.get("endTime"), - "agent": Agent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, + "agent": TestResultAgent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, "apiTransactionTime": obj.get("apiTransactionTime"), "completion": obj.get("completion"), "errorType": obj.get("errorType"), diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/api_test_results.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/api_test_results.py index af4a74f5..bf9a9c18 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/api_test_results.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/api_test_results.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/app_links.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/app_links.py index 487a8935..565d4c41 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/app_links.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/app_links.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/bgp_basic_test_result.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/bgp_basic_test_result.py index 08097266..050e6c75 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/bgp_basic_test_result.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/bgp_basic_test_result.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,8 +19,8 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.test_results.models.monitor import Monitor from thousandeyes_sdk.test_results.models.test_result_app_links import TestResultAppLinks +from thousandeyes_sdk.test_results.models.test_result_monitor import TestResultMonitor from typing import Optional, Set from typing_extensions import Self @@ -32,7 +31,7 @@ class BgpBasicTestResult(BaseModel): var_date: Optional[datetime] = Field(default=None, description="Data point date UTC (ISO date-time format).", alias="date") round_id: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the start time of the round", alias="roundId") links: Optional[TestResultAppLinks] = Field(default=None, alias="_links") - monitor: Optional[Monitor] = None + monitor: Optional[TestResultMonitor] = None prefix_id: Optional[StrictStr] = Field(default=None, description="Internally tracked prefix ID.", alias="prefixId") prefix: Optional[StrictStr] = Field(default=None, description="Prefix being tracked.") __properties: ClassVar[List[str]] = ["date", "roundId", "_links", "monitor", "prefixId", "prefix"] @@ -102,7 +101,7 @@ class BgpBasicTestResult(BaseModel): "date": obj.get("date"), "roundId": obj.get("roundId"), "_links": TestResultAppLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, - "monitor": Monitor.from_dict(obj["monitor"]) if obj.get("monitor") is not None else None, + "monitor": TestResultMonitor.from_dict(obj["monitor"]) if obj.get("monitor") is not None else None, "prefixId": obj.get("prefixId"), "prefix": obj.get("prefix") }) diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/bgp_hop.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/bgp_hop.py index 2b139ad4..ba94a61a 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/bgp_hop.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/bgp_hop.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/bgp_test_result.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/bgp_test_result.py index 78d6e1cf..46cb2855 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/bgp_test_result.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/bgp_test_result.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,8 +19,8 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional, Union -from thousandeyes_sdk.test_results.models.monitor import Monitor from thousandeyes_sdk.test_results.models.test_result_app_links import TestResultAppLinks +from thousandeyes_sdk.test_results.models.test_result_monitor import TestResultMonitor from typing import Optional, Set from typing_extensions import Self @@ -32,7 +31,7 @@ class BgpTestResult(BaseModel): var_date: Optional[datetime] = Field(default=None, description="Data point date UTC (ISO date-time format).", alias="date") round_id: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the start time of the round", alias="roundId") links: Optional[TestResultAppLinks] = Field(default=None, alias="_links") - monitor: Optional[Monitor] = None + monitor: Optional[TestResultMonitor] = None prefix_id: Optional[StrictStr] = Field(default=None, description="Internally tracked prefix ID.", alias="prefixId") prefix: Optional[StrictStr] = Field(default=None, description="Prefix being tracked.") start_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the start time of the round", alias="startTime") @@ -111,7 +110,7 @@ class BgpTestResult(BaseModel): "date": obj.get("date"), "roundId": obj.get("roundId"), "_links": TestResultAppLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, - "monitor": Monitor.from_dict(obj["monitor"]) if obj.get("monitor") is not None else None, + "monitor": TestResultMonitor.from_dict(obj["monitor"]) if obj.get("monitor") is not None else None, "prefixId": obj.get("prefixId"), "prefix": obj.get("prefix"), "startTime": obj.get("startTime"), diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/bgp_test_results.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/bgp_test_results.py index b0e18460..2909b560 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/bgp_test_results.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/bgp_test_results.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/bgp_test_route_information_result.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/bgp_test_route_information_result.py index e2766bb7..f03af2f3 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/bgp_test_route_information_result.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/bgp_test_route_information_result.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,8 +20,8 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.test_results.models.bgp_hop import BgpHop -from thousandeyes_sdk.test_results.models.monitor import Monitor from thousandeyes_sdk.test_results.models.test_result_app_links import TestResultAppLinks +from thousandeyes_sdk.test_results.models.test_result_monitor import TestResultMonitor from typing import Optional, Set from typing_extensions import Self @@ -33,7 +32,7 @@ class BgpTestRouteInformationResult(BaseModel): var_date: Optional[datetime] = Field(default=None, description="Data point date UTC (ISO date-time format).", alias="date") round_id: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the start time of the round", alias="roundId") links: Optional[TestResultAppLinks] = Field(default=None, alias="_links") - monitor: Optional[Monitor] = None + monitor: Optional[TestResultMonitor] = None prefix_id: Optional[StrictStr] = Field(default=None, description="Internally tracked prefix ID.", alias="prefixId") prefix: Optional[StrictStr] = Field(default=None, description="Prefix being tracked.") is_active: Optional[StrictBool] = Field(default=None, description="Represents whether the route is active or inactive. An inactive route was an active route in the previous test round and is now superseded by another active (preferred) route. When requesting data for the test round in which a route change happened, both routes (active and inactive one) are included in the response.", alias="isActive") @@ -112,7 +111,7 @@ class BgpTestRouteInformationResult(BaseModel): "date": obj.get("date"), "roundId": obj.get("roundId"), "_links": TestResultAppLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, - "monitor": Monitor.from_dict(obj["monitor"]) if obj.get("monitor") is not None else None, + "monitor": TestResultMonitor.from_dict(obj["monitor"]) if obj.get("monitor") is not None else None, "prefixId": obj.get("prefixId"), "prefix": obj.get("prefix"), "isActive": obj.get("isActive"), diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/bgp_test_route_information_results.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/bgp_test_route_information_results.py index 6e91221f..f3b9bfba 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/bgp_test_route_information_results.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/bgp_test_route_information_results.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/dns_server_test_result.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/dns_server_test_result.py index ef4bb971..4c838742 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/dns_server_test_result.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/dns_server_test_result.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,7 +19,7 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.test_results.models.agent import Agent +from thousandeyes_sdk.test_results.models.test_result_agent import TestResultAgent from thousandeyes_sdk.test_results.models.test_result_app_links import TestResultAppLinks from typing import Optional, Set from typing_extensions import Self @@ -34,7 +33,7 @@ class DnsServerTestResult(BaseModel): links: Optional[TestResultAppLinks] = Field(default=None, alias="_links") start_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the start time of the round", alias="startTime") end_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the end time of the round", alias="endTime") - agent: Optional[Agent] = None + agent: Optional[TestResultAgent] = None server_id: Optional[StrictStr] = Field(default=None, description="Internal ID of DNS server being tested", alias="serverId") server: Optional[StrictStr] = Field(default=None, description="Canonical name of server being tested") resolution_time: Optional[StrictInt] = Field(default=None, description="How long it took to run the query against the serverow long it took to run the query against the server", alias="resolutionTime") @@ -123,7 +122,7 @@ class DnsServerTestResult(BaseModel): "_links": TestResultAppLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, "startTime": obj.get("startTime"), "endTime": obj.get("endTime"), - "agent": Agent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, + "agent": TestResultAgent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, "serverId": obj.get("serverId"), "server": obj.get("server"), "resolutionTime": obj.get("resolutionTime"), diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/dns_server_test_results.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/dns_server_test_results.py index d6f7319c..451ed1be 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/dns_server_test_results.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/dns_server_test_results.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/dns_trace_test_result.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/dns_trace_test_result.py index 46d801f5..3544cdd6 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/dns_trace_test_result.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/dns_trace_test_result.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,7 +19,7 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.test_results.models.agent import Agent +from thousandeyes_sdk.test_results.models.test_result_agent import TestResultAgent from thousandeyes_sdk.test_results.models.test_result_app_links import TestResultAppLinks from typing import Optional, Set from typing_extensions import Self @@ -34,7 +33,7 @@ class DnsTraceTestResult(BaseModel): links: Optional[TestResultAppLinks] = Field(default=None, alias="_links") start_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the start time of the round", alias="startTime") end_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the end time of the round", alias="endTime") - agent: Optional[Agent] = None + agent: Optional[TestResultAgent] = None output: Optional[StrictStr] = Field(default=None, description="Verbose output from the trace request") error_details: Optional[StrictStr] = Field(default=None, description="Error details, if an error were encountered", alias="errorDetails") queries: Optional[StrictInt] = Field(default=None, description="How many queries were required to get to the requested result") @@ -129,7 +128,7 @@ class DnsTraceTestResult(BaseModel): "_links": TestResultAppLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, "startTime": obj.get("startTime"), "endTime": obj.get("endTime"), - "agent": Agent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, + "agent": TestResultAgent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, "output": obj.get("output"), "errorDetails": obj.get("errorDetails"), "queries": obj.get("queries"), diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/dns_trace_test_results.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/dns_trace_test_results.py index 1671202d..e3204183 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/dns_trace_test_results.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/dns_trace_test_results.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/dnssec_test_result.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/dnssec_test_result.py index da5b5ed4..16dbd12c 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/dnssec_test_result.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/dnssec_test_result.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,7 +19,7 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.test_results.models.agent import Agent +from thousandeyes_sdk.test_results.models.test_result_agent import TestResultAgent from thousandeyes_sdk.test_results.models.test_result_app_links import TestResultAppLinks from typing import Optional, Set from typing_extensions import Self @@ -34,7 +33,7 @@ class DnssecTestResult(BaseModel): links: Optional[TestResultAppLinks] = Field(default=None, alias="_links") start_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the start time of the round", alias="startTime") end_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the end time of the round", alias="endTime") - agent: Optional[Agent] = None + agent: Optional[TestResultAgent] = None is_valid: Optional[StrictBool] = Field(default=None, description="Indicates if keychain is valid (if false see errorDetails field)", alias="isValid") error_details: Optional[StrictStr] = Field(default=None, description="Error details, if an error were encountered", alias="errorDetails") __properties: ClassVar[List[str]] = ["date", "roundId", "_links", "startTime", "endTime", "agent", "isValid", "errorDetails"] @@ -114,7 +113,7 @@ class DnssecTestResult(BaseModel): "_links": TestResultAppLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, "startTime": obj.get("startTime"), "endTime": obj.get("endTime"), - "agent": Agent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, + "agent": TestResultAgent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, "isValid": obj.get("isValid"), "errorDetails": obj.get("errorDetails") }) diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/dnssec_test_results.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/dnssec_test_results.py index 9f3eebcd..83874aa2 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/dnssec_test_results.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/dnssec_test_results.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/epoch_time_window.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/epoch_time_window.py index 6c3f807a..2213655c 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/epoch_time_window.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/epoch_time_window.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/error.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/error.py index dcbf8ee8..8fdc5864 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/error.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/error.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/expand.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/expand.py index b740ffd8..40c7060b 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/expand.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/expand.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class Expand(str, Enum): """ HEADER = 'header' CERTIFICATE = 'certificate' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of Expand from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/ftp_server_test_result.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/ftp_server_test_result.py index 810dc5de..04b5c00c 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/ftp_server_test_result.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/ftp_server_test_result.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,7 +19,7 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional, Union -from thousandeyes_sdk.test_results.models.agent import Agent +from thousandeyes_sdk.test_results.models.test_result_agent import TestResultAgent from thousandeyes_sdk.test_results.models.test_result_app_links import TestResultAppLinks from typing import Optional, Set from typing_extensions import Self @@ -34,7 +33,7 @@ class FtpServerTestResult(BaseModel): links: Optional[TestResultAppLinks] = Field(default=None, alias="_links") start_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the start time of the round", alias="startTime") end_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the end time of the round", alias="endTime") - agent: Optional[Agent] = None + agent: Optional[TestResultAgent] = None server_ip: Optional[StrictStr] = Field(default=None, description="IP address of destination server", alias="serverIp") response_code: Optional[StrictInt] = Field(default=None, description="FTP response code", alias="responseCode") dns_time: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Time required to resolve DNS in milliseconds", alias="dnsTime") @@ -147,7 +146,7 @@ class FtpServerTestResult(BaseModel): "_links": TestResultAppLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, "startTime": obj.get("startTime"), "endTime": obj.get("endTime"), - "agent": Agent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, + "agent": TestResultAgent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, "serverIp": obj.get("serverIp"), "responseCode": obj.get("responseCode"), "dnsTime": obj.get("dnsTime"), diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/ftp_server_test_results.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/ftp_server_test_results.py index 30ce50f5..19b8feaf 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/ftp_server_test_results.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/ftp_server_test_results.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/http_test_result.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/http_test_result.py index 349b25f7..0230c654 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/http_test_result.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/http_test_result.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,9 +19,9 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional, Union -from thousandeyes_sdk.test_results.models.agent import Agent from thousandeyes_sdk.test_results.models.http_test_result_headers import HttpTestResultHeaders from thousandeyes_sdk.test_results.models.ssl_cert import SslCert +from thousandeyes_sdk.test_results.models.test_result_agent import TestResultAgent from thousandeyes_sdk.test_results.models.test_result_app_links import TestResultAppLinks from typing import Optional, Set from typing_extensions import Self @@ -36,7 +35,7 @@ class HttpTestResult(BaseModel): links: Optional[TestResultAppLinks] = Field(default=None, alias="_links") start_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the start time of the round", alias="startTime") end_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the end time of the round", alias="endTime") - agent: Optional[Agent] = None + agent: Optional[TestResultAgent] = None server_ip: Optional[StrictStr] = Field(default=None, description="IP address of destination server", alias="serverIp") response_code: Optional[StrictInt] = Field(default=None, description="HTTP response code", alias="responseCode") num_redirects: Optional[StrictInt] = Field(default=None, description="Number of redirects", alias="numRedirects") @@ -56,7 +55,8 @@ class HttpTestResult(BaseModel): ssl_cipher: Optional[StrictStr] = Field(default=None, description="Cipher suite", alias="sslCipher") ssl_version: Optional[StrictStr] = Field(default=None, description="TLS version", alias="sslVersion") ssl_certificates: Optional[List[SslCert]] = Field(default=None, alias="sslCertificates") - __properties: ClassVar[List[str]] = ["date", "roundId", "_links", "startTime", "endTime", "agent", "serverIp", "responseCode", "numRedirects", "redirectTime", "dnsTime", "sslTime", "connectTime", "waitTime", "receiveTime", "wireSize", "responseTime", "throughput", "totalTime", "headers", "errorType", "errorDetails", "sslCipher", "sslVersion", "sslCertificates"] + health_score: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="A normalized value (0.0-1.0) representing the web application connection health of the test target. Returns negative values as error codes. -1.0 indicates there was insufficient data to calculate the health score.", alias="healthScore") + __properties: ClassVar[List[str]] = ["date", "roundId", "_links", "startTime", "endTime", "agent", "serverIp", "responseCode", "numRedirects", "redirectTime", "dnsTime", "sslTime", "connectTime", "waitTime", "receiveTime", "wireSize", "responseTime", "throughput", "totalTime", "headers", "errorType", "errorDetails", "sslCipher", "sslVersion", "sslCertificates", "healthScore"] model_config = ConfigDict( populate_by_name=True, @@ -145,7 +145,7 @@ class HttpTestResult(BaseModel): "_links": TestResultAppLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, "startTime": obj.get("startTime"), "endTime": obj.get("endTime"), - "agent": Agent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, + "agent": TestResultAgent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, "serverIp": obj.get("serverIp"), "responseCode": obj.get("responseCode"), "numRedirects": obj.get("numRedirects"), @@ -164,7 +164,8 @@ class HttpTestResult(BaseModel): "errorDetails": obj.get("errorDetails"), "sslCipher": obj.get("sslCipher"), "sslVersion": obj.get("sslVersion"), - "sslCertificates": [SslCert.from_dict(_item) for _item in obj["sslCertificates"]] if obj.get("sslCertificates") is not None else None + "sslCertificates": [SslCert.from_dict(_item) for _item in obj["sslCertificates"]] if obj.get("sslCertificates") is not None else None, + "healthScore": obj.get("healthScore") }) return _obj diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/http_test_result_headers.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/http_test_result_headers.py index 5a04e507..a0580831 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/http_test_result_headers.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/http_test_result_headers.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/http_test_results.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/http_test_results.py index 62eec007..b960add6 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/http_test_results.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/http_test_results.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/link.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/link.py index b8cb4781..8a77f06e 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/link.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/link.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/marker.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/marker.py index 1f3cbe43..16189e0a 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/marker.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/marker.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/network_test_result.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/network_test_result.py index 2d0dce2a..69a140c2 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/network_test_result.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/network_test_result.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,8 +19,8 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional, Union -from thousandeyes_sdk.test_results.models.agent import Agent from thousandeyes_sdk.test_results.models.test_direction import TestDirection +from thousandeyes_sdk.test_results.models.test_result_agent import TestResultAgent from thousandeyes_sdk.test_results.models.test_result_app_links import TestResultAppLinks from typing import Optional, Set from typing_extensions import Self @@ -44,11 +43,12 @@ class NetworkTestResult(BaseModel): max_latency: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Maximum RTT for packets sent to destination", alias="maxLatency") min_latency: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Minimum RTT for packets sent to destination", alias="minLatency") packets_by_second: Optional[List[List[StrictInt]]] = Field(default=None, description="Number of packets sent and received in a second.", alias="packetsBySecond") - agent: Optional[Agent] = None + agent: Optional[TestResultAgent] = None server_ip: Optional[StrictStr] = Field(default=None, description="IP of target server", alias="serverIp") server: Optional[StrictStr] = Field(default=None, description="Target server, including port (if method used is TCP)") + health_score: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="A normalized value (0.0-1.0) representing the network connection health of the test target. Returns negative values as error codes. -1.0 indicates there was insufficient data to calculate the health score.", alias="healthScore") direction: Optional[TestDirection] = None - __properties: ClassVar[List[str]] = ["date", "roundId", "_links", "startTime", "endTime", "availableBandwidth", "avgLatency", "bandwidth", "capacity", "jitter", "loss", "maxLatency", "minLatency", "packetsBySecond", "agent", "serverIp", "server", "direction"] + __properties: ClassVar[List[str]] = ["date", "roundId", "_links", "startTime", "endTime", "availableBandwidth", "avgLatency", "bandwidth", "capacity", "jitter", "loss", "maxLatency", "minLatency", "packetsBySecond", "agent", "serverIp", "server", "healthScore", "direction"] model_config = ConfigDict( populate_by_name=True, @@ -152,9 +152,10 @@ class NetworkTestResult(BaseModel): "maxLatency": obj.get("maxLatency"), "minLatency": obj.get("minLatency"), "packetsBySecond": obj.get("packetsBySecond"), - "agent": Agent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, + "agent": TestResultAgent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, "serverIp": obj.get("serverIp"), "server": obj.get("server"), + "healthScore": obj.get("healthScore"), "direction": obj.get("direction") }) return _obj diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/network_test_results.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/network_test_results.py index 5e1fe528..6171952a 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/network_test_results.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/network_test_results.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/page.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/page.py index 860072f9..69f156f8 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/page.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/page.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/page_load_detail_test_result.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/page_load_detail_test_result.py index 10739797..95a4866d 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/page_load_detail_test_result.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/page_load_detail_test_result.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,7 +19,7 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt from typing import Any, ClassVar, Dict, List, Optional, Union -from thousandeyes_sdk.test_results.models.agent import Agent +from thousandeyes_sdk.test_results.models.test_result_agent import TestResultAgent from thousandeyes_sdk.test_results.models.test_result_app_links import TestResultAppLinks from typing import Optional, Set from typing_extensions import Self @@ -34,7 +33,7 @@ class PageLoadDetailTestResult(BaseModel): links: Optional[TestResultAppLinks] = Field(default=None, alias="_links") start_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the start time of the round", alias="startTime") end_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the end time of the round", alias="endTime") - agent: Optional[Agent] = None + agent: Optional[TestResultAgent] = None response_time: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Time to first byte in milliseconds", alias="responseTime") total_size: Optional[StrictInt] = Field(default=None, description="Sum of wire size of all objects on page in bytes", alias="totalSize") num_objects: Optional[StrictInt] = Field(default=None, description="Number of objects found on the page", alias="numObjects") @@ -129,7 +128,7 @@ class PageLoadDetailTestResult(BaseModel): "_links": TestResultAppLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, "startTime": obj.get("startTime"), "endTime": obj.get("endTime"), - "agent": Agent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, + "agent": TestResultAgent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, "responseTime": obj.get("responseTime"), "totalSize": obj.get("totalSize"), "numObjects": obj.get("numObjects"), diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/page_load_detail_test_results.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/page_load_detail_test_results.py index 91880bbe..1c561feb 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/page_load_detail_test_results.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/page_load_detail_test_results.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/page_load_test_result.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/page_load_test_result.py index 82fa4428..9fb8721c 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/page_load_test_result.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/page_load_test_result.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,7 +19,7 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt from typing import Any, ClassVar, Dict, List, Optional, Union -from thousandeyes_sdk.test_results.models.agent import Agent +from thousandeyes_sdk.test_results.models.test_result_agent import TestResultAgent from thousandeyes_sdk.test_results.models.test_result_app_links import TestResultAppLinks from typing import Optional, Set from typing_extensions import Self @@ -34,7 +33,7 @@ class PageLoadTestResult(BaseModel): links: Optional[TestResultAppLinks] = Field(default=None, alias="_links") start_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the start time of the round", alias="startTime") end_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the end time of the round", alias="endTime") - agent: Optional[Agent] = None + agent: Optional[TestResultAgent] = None response_time: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Time to first byte in milliseconds", alias="responseTime") total_size: Optional[StrictInt] = Field(default=None, description="Sum of wire size of all objects on page in bytes", alias="totalSize") num_objects: Optional[StrictInt] = Field(default=None, description="Number of objects found on the page", alias="numObjects") @@ -126,7 +125,7 @@ class PageLoadTestResult(BaseModel): "_links": TestResultAppLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, "startTime": obj.get("startTime"), "endTime": obj.get("endTime"), - "agent": Agent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, + "agent": TestResultAgent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, "responseTime": obj.get("responseTime"), "totalSize": obj.get("totalSize"), "numObjects": obj.get("numObjects"), diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/page_load_test_results.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/page_load_test_results.py index 729db009..4267b058 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/page_load_test_results.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/page_load_test_results.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/pagination_links.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/pagination_links.py index efae3995..8b6694c3 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/pagination_links.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/pagination_links.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_endpoint.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_trace.py similarity index 94% rename from thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_endpoint.py rename to thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_trace.py index 563e1f91..dff3f58a 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_endpoint.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_trace.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,9 +21,9 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self -class PathVisEndpoint(BaseModel): +class PathTrace(BaseModel): """ - PathVisEndpoint + PathTrace """ # noqa: E501 ip_address: Optional[StrictStr] = Field(default=None, description="IP address of the hop", alias="ipAddress") mss: Optional[StrictInt] = Field(default=None, description="Maximum segment size in bytes") @@ -53,7 +52,7 @@ class PathVisEndpoint(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of PathVisEndpoint from a JSON string""" + """Create an instance of PathTrace from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -90,7 +89,7 @@ class PathVisEndpoint(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of PathVisEndpoint from a dict""" + """Create an instance of PathTrace from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_base_test_result.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_base_test_result.py index f0d92390..b7cf520d 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_base_test_result.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_base_test_result.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,8 +19,8 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.test_results.models.agent import Agent from thousandeyes_sdk.test_results.models.path_vis_direction import PathVisDirection +from thousandeyes_sdk.test_results.models.test_result_agent import TestResultAgent from thousandeyes_sdk.test_results.models.test_result_app_links import TestResultAppLinks from typing import Optional, Set from typing_extensions import Self @@ -35,7 +34,7 @@ class PathVisBaseTestResult(BaseModel): links: Optional[TestResultAppLinks] = Field(default=None, alias="_links") start_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the start time of the round", alias="startTime") end_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the end time of the round", alias="endTime") - agent: Optional[Agent] = None + agent: Optional[TestResultAgent] = None server: Optional[StrictStr] = Field(default=None, description="Target server, including port (if method used is TCP)") server_ip: Optional[StrictStr] = Field(default=None, description="IP of target server", alias="serverIp") source_ip: Optional[StrictStr] = Field(default=None, description="IP address of source agent", alias="sourceIp") @@ -125,7 +124,7 @@ class PathVisBaseTestResult(BaseModel): "_links": TestResultAppLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, "startTime": obj.get("startTime"), "endTime": obj.get("endTime"), - "agent": Agent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, + "agent": TestResultAgent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, "server": obj.get("server"), "serverIp": obj.get("serverIp"), "sourceIp": obj.get("sourceIp"), diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_detail_test_result.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_detail_test_result.py index 93522d45..c475f3e9 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_detail_test_result.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_detail_test_result.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,9 +19,9 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.test_results.models.agent import Agent from thousandeyes_sdk.test_results.models.path_vis_direction import PathVisDirection from thousandeyes_sdk.test_results.models.path_vis_route import PathVisRoute +from thousandeyes_sdk.test_results.models.test_result_agent import TestResultAgent from thousandeyes_sdk.test_results.models.test_result_app_links import TestResultAppLinks from typing import Optional, Set from typing_extensions import Self @@ -36,7 +35,7 @@ class PathVisDetailTestResult(BaseModel): links: Optional[TestResultAppLinks] = Field(default=None, alias="_links") start_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the start time of the round", alias="startTime") end_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the end time of the round", alias="endTime") - agent: Optional[Agent] = None + agent: Optional[TestResultAgent] = None server: Optional[StrictStr] = Field(default=None, description="Target server, including port (if method used is TCP)") server_ip: Optional[StrictStr] = Field(default=None, description="IP of target server", alias="serverIp") source_ip: Optional[StrictStr] = Field(default=None, description="IP address of source agent", alias="sourceIp") @@ -134,7 +133,7 @@ class PathVisDetailTestResult(BaseModel): "_links": TestResultAppLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, "startTime": obj.get("startTime"), "endTime": obj.get("endTime"), - "agent": Agent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, + "agent": TestResultAgent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, "server": obj.get("server"), "serverIp": obj.get("serverIp"), "sourceIp": obj.get("sourceIp"), diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_detail_test_results.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_detail_test_results.py index 447f4401..da266555 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_detail_test_results.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_detail_test_results.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_direction.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_direction.py index 61c0d64f..9d1e37a1 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_direction.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_direction.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class PathVisDirection(str, Enum): """ TO_MINUS_TARGET = 'to-target' FROM_MINUS_TARGET = 'from-target' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of PathVisDirection from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_hop.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_hop.py index 1a8f4072..b2026696 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_hop.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_hop.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_route.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_route.py index 641bf6ec..fb846037 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_route.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_route.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_test_result.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_test_result.py index 12aec12a..daa8db6b 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_test_result.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_test_result.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,9 +19,9 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.test_results.models.agent import Agent +from thousandeyes_sdk.test_results.models.path_trace import PathTrace from thousandeyes_sdk.test_results.models.path_vis_direction import PathVisDirection -from thousandeyes_sdk.test_results.models.path_vis_endpoint import PathVisEndpoint +from thousandeyes_sdk.test_results.models.test_result_agent import TestResultAgent from thousandeyes_sdk.test_results.models.test_result_app_links import TestResultAppLinks from typing import Optional, Set from typing_extensions import Self @@ -36,14 +35,14 @@ class PathVisTestResult(BaseModel): links: Optional[TestResultAppLinks] = Field(default=None, alias="_links") start_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the start time of the round", alias="startTime") end_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the end time of the round", alias="endTime") - agent: Optional[Agent] = None + agent: Optional[TestResultAgent] = None server: Optional[StrictStr] = Field(default=None, description="Target server, including port (if method used is TCP)") server_ip: Optional[StrictStr] = Field(default=None, description="IP of target server", alias="serverIp") source_ip: Optional[StrictStr] = Field(default=None, description="IP address of source agent", alias="sourceIp") source_prefix: Optional[StrictStr] = Field(default=None, description="IP prefix of source agent", alias="sourcePrefix") target_is_proxy: Optional[StrictBool] = Field(default=None, description="Specifies whether the traces are targeting a proxy. If not set, it is considered as false.", alias="targetIsProxy") direction: Optional[PathVisDirection] = None - path_traces: Optional[List[PathVisEndpoint]] = Field(default=None, description="Shows all iterations of path trace, with each iteration specified by a pathId", alias="pathTraces") + path_traces: Optional[List[PathTrace]] = Field(default=None, description="Shows all iterations of path trace, with each iteration specified by a pathId", alias="pathTraces") __properties: ClassVar[List[str]] = ["date", "roundId", "_links", "startTime", "endTime", "agent", "server", "serverIp", "sourceIp", "sourcePrefix", "targetIsProxy", "direction", "pathTraces"] model_config = ConfigDict( @@ -134,14 +133,14 @@ class PathVisTestResult(BaseModel): "_links": TestResultAppLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, "startTime": obj.get("startTime"), "endTime": obj.get("endTime"), - "agent": Agent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, + "agent": TestResultAgent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, "server": obj.get("server"), "serverIp": obj.get("serverIp"), "sourceIp": obj.get("sourceIp"), "sourcePrefix": obj.get("sourcePrefix"), "targetIsProxy": obj.get("targetIsProxy"), "direction": obj.get("direction"), - "pathTraces": [PathVisEndpoint.from_dict(_item) for _item in obj["pathTraces"]] if obj.get("pathTraces") is not None else None + "pathTraces": [PathTrace.from_dict(_item) for _item in obj["pathTraces"]] if obj.get("pathTraces") is not None else None }) return _obj diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_test_results.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_test_results.py index 2b514932..1444ff8b 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_test_results.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/path_vis_test_results.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/rtp_stream_test_result.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/rtp_stream_test_result.py index ac67ce6c..037572b7 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/rtp_stream_test_result.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/rtp_stream_test_result.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,7 +19,7 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional, Union -from thousandeyes_sdk.test_results.models.agent import Agent +from thousandeyes_sdk.test_results.models.test_result_agent import TestResultAgent from thousandeyes_sdk.test_results.models.test_result_app_links import TestResultAppLinks from typing import Optional, Set from typing_extensions import Self @@ -34,7 +33,7 @@ class RtpStreamTestResult(BaseModel): links: Optional[TestResultAppLinks] = Field(default=None, alias="_links") start_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the start time of the round", alias="startTime") end_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the end time of the round", alias="endTime") - agent: Optional[Agent] = None + agent: Optional[TestResultAgent] = None server_ip: Optional[StrictStr] = Field(default=None, description="Target agent IP address", alias="serverIp") dscp: Optional[StrictStr] = Field(default=None, description="DSCP value received by the server from the agent") dscp_name: Optional[StrictStr] = Field(default=None, description="Name of DSCP value received by the server from the agent", alias="dscpName") @@ -141,7 +140,7 @@ class RtpStreamTestResult(BaseModel): "_links": TestResultAppLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, "startTime": obj.get("startTime"), "endTime": obj.get("endTime"), - "agent": Agent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, + "agent": TestResultAgent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, "serverIp": obj.get("serverIp"), "dscp": obj.get("dscp"), "dscpName": obj.get("dscpName"), diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/rtp_stream_test_results.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/rtp_stream_test_results.py index 2e06fe38..4b50b850 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/rtp_stream_test_results.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/rtp_stream_test_results.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/self_links.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/self_links.py index 0583284d..007964e5 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/self_links.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/self_links.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/simple_test.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/simple_test.py index 49b2c3a3..5aebb29c 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/simple_test.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/simple_test.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/sip_server_error_type.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/sip_server_error_type.py index 565f5201..2cdd297f 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/sip_server_error_type.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/sip_server_error_type.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -34,10 +33,15 @@ class SipServerErrorType(str, Enum): OPTION = 'option' SERVER = 'server' SSL = 'ssl' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of SipServerErrorType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/sip_server_test_result.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/sip_server_test_result.py index 58af8234..da244a77 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/sip_server_test_result.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/sip_server_test_result.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,8 +19,8 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional, Union -from thousandeyes_sdk.test_results.models.agent import Agent from thousandeyes_sdk.test_results.models.sip_server_error_type import SipServerErrorType +from thousandeyes_sdk.test_results.models.test_result_agent import TestResultAgent from thousandeyes_sdk.test_results.models.test_result_app_links import TestResultAppLinks from typing import Optional, Set from typing_extensions import Self @@ -36,7 +35,7 @@ class SipServerTestResult(BaseModel): start_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the start time of the round", alias="startTime") end_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the end time of the round", alias="endTime") server_ip: Optional[StrictStr] = Field(default=None, description="Target agent IP address", alias="serverIp") - agent: Optional[Agent] = None + agent: Optional[TestResultAgent] = None availability: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="availability of the service") connect_time: Optional[StrictInt] = Field(default=None, description="Time required to establish a TCP connection to the server in milliseconds, only available when TCP is configured as protocol", alias="connectTime") dns_time: Optional[StrictInt] = Field(default=None, description="Time required to resolve DNS in milliseconds", alias="dnsTime") @@ -156,7 +155,7 @@ class SipServerTestResult(BaseModel): "startTime": obj.get("startTime"), "endTime": obj.get("endTime"), "serverIp": obj.get("serverIp"), - "agent": Agent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, + "agent": TestResultAgent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, "availability": obj.get("availability"), "connectTime": obj.get("connectTime"), "dnsTime": obj.get("dnsTime"), diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/sip_server_test_results.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/sip_server_test_results.py index dc6a5e7f..e1757cbf 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/sip_server_test_results.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/sip_server_test_results.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/ssl_cert.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/ssl_cert.py index 9b27d10e..53bd53e0 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/ssl_cert.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/ssl_cert.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_direction.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_direction.py index db5f8d14..10ecf327 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_direction.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_direction.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class TestDirection(str, Enum): TO_MINUS_TARGET = 'to-target' FROM_MINUS_TARGET = 'from-target' BIDIRECTIONAL = 'bidirectional' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestDirection from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_interval.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_interval.py index 0eb4486b..0ee6c337 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_interval.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_interval.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -33,10 +32,15 @@ class TestInterval(int, Enum): NUMBER_900 = 900 NUMBER_1800 = 1800 NUMBER_3600 = 3600 + NUMBER_11184809 = 11184809 @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestInterval from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_links.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_links.py index 19433e0e..3c0ed309 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_links.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_links.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_result.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_result.py index 2652075c..65fcedb8 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_result.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_result.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/agent.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_result_agent.py similarity index 94% rename from thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/agent.py rename to thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_result_agent.py index 118abf32..fc40e9be 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/agent.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_result_agent.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,9 +21,9 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self -class Agent(BaseModel): +class TestResultAgent(BaseModel): """ - Agent + TestResultAgent """ # noqa: E501 agent_id: Optional[StrictStr] = Field(default=None, description="Unique agent ID", alias="agentId") agent_name: Optional[StrictStr] = Field(default=None, description="Agent name", alias="agentName") @@ -51,7 +50,7 @@ class Agent(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of Agent from a JSON string""" + """Create an instance of TestResultAgent from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -84,7 +83,7 @@ class Agent(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of Agent from a dict""" + """Create an instance of TestResultAgent from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_result_app_links.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_result_app_links.py index 7ceaedc5..19bac068 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_result_app_links.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_result_app_links.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/monitor.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_result_monitor.py similarity index 93% rename from thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/monitor.py rename to thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_result_monitor.py index 5689bca7..a4cb074d 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/monitor.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_result_monitor.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,9 +21,9 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self -class Monitor(BaseModel): +class TestResultMonitor(BaseModel): """ - Monitor + TestResultMonitor """ # noqa: E501 monitor_id: Optional[StrictStr] = Field(default=None, description="Unique monitor ID.", alias="monitorId") monitor_name: Optional[StrictStr] = Field(default=None, description="The name of the Monitor.", alias="monitorName") @@ -50,7 +49,7 @@ class Monitor(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of Monitor from a JSON string""" + """Create an instance of TestResultMonitor from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -81,7 +80,7 @@ class Monitor(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of Monitor from a dict""" + """Create an instance of TestResultMonitor from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_self_link.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_self_link.py index bef0a53e..bcc30e34 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_self_link.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_self_link.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_type.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_type.py index b0c547d0..a20d59d3 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_type.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/test_type.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -39,10 +38,15 @@ class TestType(str, Enum): DNSSEC = 'dnssec' SIP_MINUS_SERVER = 'sip-server' VOICE = 'voice' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/unauthorized_error.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/unauthorized_error.py index d16f0801..dd75481f 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/unauthorized_error.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/unauthorized_error.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/validation_error.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/validation_error.py index 46e488ba..c908fb96 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/validation_error.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/validation_error.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/validation_error_item.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/validation_error_item.py index e4575f3f..25a5f8b3 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/validation_error_item.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/validation_error_item.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/web_transaction_detail_test_result.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/web_transaction_detail_test_result.py index 923d5cba..77fece36 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/web_transaction_detail_test_result.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/web_transaction_detail_test_result.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,9 +19,9 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.test_results.models.agent import Agent from thousandeyes_sdk.test_results.models.marker import Marker from thousandeyes_sdk.test_results.models.page import Page +from thousandeyes_sdk.test_results.models.test_result_agent import TestResultAgent from thousandeyes_sdk.test_results.models.test_result_app_links import TestResultAppLinks from typing import Optional, Set from typing_extensions import Self @@ -36,7 +35,7 @@ class WebTransactionDetailTestResult(BaseModel): links: Optional[TestResultAppLinks] = Field(default=None, alias="_links") start_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the start time of the round", alias="startTime") end_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the end time of the round", alias="endTime") - agent: Optional[Agent] = None + agent: Optional[TestResultAgent] = None component_errors: Optional[StrictInt] = Field(default=None, description="Number of components which did not successfully load", alias="componentErrors") transaction_time: Optional[StrictInt] = Field(default=None, description="Elapsed execution time of the web transaction script in milliseconds", alias="transactionTime") error_type: Optional[StrictStr] = Field(default=None, description="Type of error encountered; corresponds to phase of connection", alias="errorType") @@ -138,7 +137,7 @@ class WebTransactionDetailTestResult(BaseModel): "_links": TestResultAppLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, "startTime": obj.get("startTime"), "endTime": obj.get("endTime"), - "agent": Agent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, + "agent": TestResultAgent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, "componentErrors": obj.get("componentErrors"), "transactionTime": obj.get("transactionTime"), "errorType": obj.get("errorType"), diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/web_transaction_detail_test_results.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/web_transaction_detail_test_results.py index 62d9f2d5..963d853a 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/web_transaction_detail_test_results.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/web_transaction_detail_test_results.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/web_transaction_page_detail_test_result.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/web_transaction_page_detail_test_result.py index 10492c9b..94a728b2 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/web_transaction_page_detail_test_result.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/web_transaction_page_detail_test_result.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,9 +19,9 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.test_results.models.agent import Agent from thousandeyes_sdk.test_results.models.marker import Marker from thousandeyes_sdk.test_results.models.page import Page +from thousandeyes_sdk.test_results.models.test_result_agent import TestResultAgent from thousandeyes_sdk.test_results.models.test_result_app_links import TestResultAppLinks from typing import Optional, Set from typing_extensions import Self @@ -36,7 +35,7 @@ class WebTransactionPageDetailTestResult(BaseModel): links: Optional[TestResultAppLinks] = Field(default=None, alias="_links") start_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the start time of the round", alias="startTime") end_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the end time of the round", alias="endTime") - agent: Optional[Agent] = None + agent: Optional[TestResultAgent] = None component_errors: Optional[StrictInt] = Field(default=None, description="Number of components which did not successfully load", alias="componentErrors") transaction_time: Optional[StrictInt] = Field(default=None, description="Elapsed execution time of the web transaction script in milliseconds", alias="transactionTime") error_type: Optional[StrictStr] = Field(default=None, description="Type of error encountered; corresponds to phase of connection", alias="errorType") @@ -141,7 +140,7 @@ class WebTransactionPageDetailTestResult(BaseModel): "_links": TestResultAppLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, "startTime": obj.get("startTime"), "endTime": obj.get("endTime"), - "agent": Agent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, + "agent": TestResultAgent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, "componentErrors": obj.get("componentErrors"), "transactionTime": obj.get("transactionTime"), "errorType": obj.get("errorType"), diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/web_transaction_page_detail_test_results.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/web_transaction_page_detail_test_results.py index d4368806..971f04cc 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/web_transaction_page_detail_test_results.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/web_transaction_page_detail_test_results.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/web_transaction_test_result.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/web_transaction_test_result.py index a7592f84..435d0a09 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/web_transaction_test_result.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/web_transaction_test_result.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,7 +19,7 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.test_results.models.agent import Agent +from thousandeyes_sdk.test_results.models.test_result_agent import TestResultAgent from thousandeyes_sdk.test_results.models.test_result_app_links import TestResultAppLinks from typing import Optional, Set from typing_extensions import Self @@ -34,7 +33,7 @@ class WebTransactionTestResult(BaseModel): links: Optional[TestResultAppLinks] = Field(default=None, alias="_links") start_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the start time of the round", alias="startTime") end_time: Optional[StrictInt] = Field(default=None, description="Epoch time (seconds) indicating the end time of the round", alias="endTime") - agent: Optional[Agent] = None + agent: Optional[TestResultAgent] = None component_errors: Optional[StrictInt] = Field(default=None, description="Number of components which did not successfully load", alias="componentErrors") transaction_time: Optional[StrictInt] = Field(default=None, description="Elapsed execution time of the web transaction script in milliseconds", alias="transactionTime") error_type: Optional[StrictStr] = Field(default=None, description="Type of error encountered; corresponds to phase of connection", alias="errorType") @@ -120,7 +119,7 @@ class WebTransactionTestResult(BaseModel): "_links": TestResultAppLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, "startTime": obj.get("startTime"), "endTime": obj.get("endTime"), - "agent": Agent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, + "agent": TestResultAgent.from_dict(obj["agent"]) if obj.get("agent") is not None else None, "componentErrors": obj.get("componentErrors"), "transactionTime": obj.get("transactionTime"), "errorType": obj.get("errorType"), diff --git a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/web_transaction_test_results.py b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/web_transaction_test_results.py index d4475e05..3caac9ae 100644 --- a/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/web_transaction_test_results.py +++ b/thousandeyes-sdk-test-results/src/thousandeyes_sdk/test_results/models/web_transaction_test_results.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-test-results/test/test_api_test_metrics_api.py b/thousandeyes-sdk-test-results/test/test_api_test_results_api.py similarity index 97% rename from thousandeyes-sdk-test-results/test/test_api_test_metrics_api.py rename to thousandeyes-sdk-test-results/test/test_api_test_results_api.py index d3876766..d7050cf2 100644 --- a/thousandeyes-sdk-test-results/test/test_api_test_metrics_api.py +++ b/thousandeyes-sdk-test-results/test/test_api_test_results_api.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.test_results.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.test_results.api.api_test_metrics_api import APITestMetricsApi +from thousandeyes_sdk.test_results.api.api_test_results_api import APITestResultsApi -class TestAPITestMetricsApi(unittest.TestCase): - """APITestMetricsApi unit test stubs""" +class TestAPITestResultsApi(unittest.TestCase): + """APITestResultsApi unit test stubs""" def setUp(self) -> None: - self.api = APITestMetricsApi() + self.api = APITestResultsApi() def tearDown(self) -> None: pass @@ -60,7 +59,7 @@ class TestAPITestMetricsApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, @@ -284,7 +283,7 @@ class TestAPITestMetricsApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, diff --git a/thousandeyes-sdk-test-results/test/test_dns_server_test_metrics_api.py b/thousandeyes-sdk-test-results/test/test_dns_server_test_results_api.py similarity index 97% rename from thousandeyes-sdk-test-results/test/test_dns_server_test_metrics_api.py rename to thousandeyes-sdk-test-results/test/test_dns_server_test_results_api.py index 02b02701..316d7922 100644 --- a/thousandeyes-sdk-test-results/test/test_dns_server_test_metrics_api.py +++ b/thousandeyes-sdk-test-results/test/test_dns_server_test_results_api.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.test_results.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.test_results.api.dns_server_test_metrics_api import DNSServerTestMetricsApi +from thousandeyes_sdk.test_results.api.dns_server_test_results_api import DNSServerTestResultsApi -class TestDNSServerTestMetricsApi(unittest.TestCase): - """DNSServerTestMetricsApi unit test stubs""" +class TestDNSServerTestResultsApi(unittest.TestCase): + """DNSServerTestResultsApi unit test stubs""" def setUp(self) -> None: - self.api = DNSServerTestMetricsApi() + self.api = DNSServerTestResultsApi() def tearDown(self) -> None: pass @@ -60,7 +59,7 @@ class TestDNSServerTestMetricsApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, @@ -194,7 +193,7 @@ class TestDNSServerTestMetricsApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, diff --git a/thousandeyes-sdk-test-results/test/test_dns_trace_test_metrics_api.py b/thousandeyes-sdk-test-results/test/test_dns_trace_test_results_api.py similarity index 96% rename from thousandeyes-sdk-test-results/test/test_dns_trace_test_metrics_api.py rename to thousandeyes-sdk-test-results/test/test_dns_trace_test_results_api.py index db905c04..88521fa5 100644 --- a/thousandeyes-sdk-test-results/test/test_dns_trace_test_metrics_api.py +++ b/thousandeyes-sdk-test-results/test/test_dns_trace_test_results_api.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.test_results.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.test_results.api.dns_trace_test_metrics_api import DNSTraceTestMetricsApi +from thousandeyes_sdk.test_results.api.dns_trace_test_results_api import DNSTraceTestResultsApi -class TestDNSTraceTestMetricsApi(unittest.TestCase): - """DNSTraceTestMetricsApi unit test stubs""" +class TestDNSTraceTestResultsApi(unittest.TestCase): + """DNSTraceTestResultsApi unit test stubs""" def setUp(self) -> None: - self.api = DNSTraceTestMetricsApi() + self.api = DNSTraceTestResultsApi() def tearDown(self) -> None: pass @@ -60,7 +59,7 @@ class TestDNSTraceTestMetricsApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, diff --git a/thousandeyes-sdk-test-results/test/test_dnssec_test_metrics_api.py b/thousandeyes-sdk-test-results/test/test_dnssec_test_results_api.py similarity index 95% rename from thousandeyes-sdk-test-results/test/test_dnssec_test_metrics_api.py rename to thousandeyes-sdk-test-results/test/test_dnssec_test_results_api.py index 9fb084e1..0a8bbdff 100644 --- a/thousandeyes-sdk-test-results/test/test_dnssec_test_metrics_api.py +++ b/thousandeyes-sdk-test-results/test/test_dnssec_test_results_api.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.test_results.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.test_results.api.dnssec_test_metrics_api import DNSSECTestMetricsApi +from thousandeyes_sdk.test_results.api.dnssec_test_results_api import DNSSECTestResultsApi -class TestDNSSECTestMetricsApi(unittest.TestCase): - """DNSSECTestMetricsApi unit test stubs""" +class TestDNSSECTestResultsApi(unittest.TestCase): + """DNSSECTestResultsApi unit test stubs""" def setUp(self) -> None: - self.api = DNSSECTestMetricsApi() + self.api = DNSSECTestResultsApi() def tearDown(self) -> None: pass @@ -60,7 +59,7 @@ class TestDNSSECTestMetricsApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, diff --git a/thousandeyes-sdk-test-results/test/test_network_bgp_test_metrics_api.py b/thousandeyes-sdk-test-results/test/test_network_bgp_test_results_api.py similarity index 96% rename from thousandeyes-sdk-test-results/test/test_network_bgp_test_metrics_api.py rename to thousandeyes-sdk-test-results/test/test_network_bgp_test_results_api.py index 8ba48131..2a2847fc 100644 --- a/thousandeyes-sdk-test-results/test/test_network_bgp_test_metrics_api.py +++ b/thousandeyes-sdk-test-results/test/test_network_bgp_test_results_api.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.test_results.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.test_results.api.network_bgp_test_metrics_api import NetworkBGPTestMetricsApi +from thousandeyes_sdk.test_results.api.network_bgp_test_results_api import NetworkBGPTestResultsApi -class TestNetworkBGPTestMetricsApi(unittest.TestCase): - """NetworkBGPTestMetricsApi unit test stubs""" +class TestNetworkBGPTestResultsApi(unittest.TestCase): + """NetworkBGPTestResultsApi unit test stubs""" def setUp(self) -> None: - self.api = NetworkBGPTestMetricsApi() + self.api = NetworkBGPTestResultsApi() def tearDown(self) -> None: pass @@ -60,7 +59,7 @@ class TestNetworkBGPTestMetricsApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, @@ -192,7 +191,7 @@ class TestNetworkBGPTestMetricsApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, diff --git a/thousandeyes-sdk-test-results/test/test_network_test_metrics_api.py b/thousandeyes-sdk-test-results/test/test_network_test_results_api.py similarity index 98% rename from thousandeyes-sdk-test-results/test/test_network_test_metrics_api.py rename to thousandeyes-sdk-test-results/test/test_network_test_results_api.py index c1be2982..a13109c5 100644 --- a/thousandeyes-sdk-test-results/test/test_network_test_metrics_api.py +++ b/thousandeyes-sdk-test-results/test/test_network_test_results_api.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.test_results.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.test_results.api.network_test_metrics_api import NetworkTestMetricsApi +from thousandeyes_sdk.test_results.api.network_test_results_api import NetworkTestResultsApi -class TestNetworkTestMetricsApi(unittest.TestCase): - """NetworkTestMetricsApi unit test stubs""" +class TestNetworkTestResultsApi(unittest.TestCase): + """NetworkTestResultsApi unit test stubs""" def setUp(self) -> None: - self.api = NetworkTestMetricsApi() + self.api = NetworkTestResultsApi() def tearDown(self) -> None: pass @@ -60,7 +59,7 @@ class TestNetworkTestMetricsApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, @@ -126,6 +125,7 @@ class TestNetworkTestMetricsApi(unittest.TestCase): } }, "maxLatency" : 168.0, + "healthScore" : 0.98, "capacity" : 210.10854, "loss" : 0.0, "jitter" : 0.076808, @@ -161,6 +161,7 @@ class TestNetworkTestMetricsApi(unittest.TestCase): } }, "maxLatency" : 168.0, + "healthScore" : 0.98, "capacity" : 210.10854, "loss" : 0.0, "jitter" : 0.076808, @@ -208,7 +209,7 @@ class TestNetworkTestMetricsApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, @@ -408,7 +409,7 @@ class TestNetworkTestMetricsApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, diff --git a/thousandeyes-sdk-test-results/test/test_voice_rtp_server_test_metrics_api.py b/thousandeyes-sdk-test-results/test/test_voice_rtp_server_test_results_api.py similarity index 95% rename from thousandeyes-sdk-test-results/test/test_voice_rtp_server_test_metrics_api.py rename to thousandeyes-sdk-test-results/test/test_voice_rtp_server_test_results_api.py index c57799e7..ac7e94fd 100644 --- a/thousandeyes-sdk-test-results/test/test_voice_rtp_server_test_metrics_api.py +++ b/thousandeyes-sdk-test-results/test/test_voice_rtp_server_test_results_api.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.test_results.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.test_results.api.voice_rtp_server_test_metrics_api import VoiceRTPServerTestMetricsApi +from thousandeyes_sdk.test_results.api.voice_rtp_server_test_results_api import VoiceRTPServerTestResultsApi -class TestVoiceRTPServerTestMetricsApi(unittest.TestCase): - """VoiceRTPServerTestMetricsApi unit test stubs""" +class TestVoiceRTPServerTestResultsApi(unittest.TestCase): + """VoiceRTPServerTestResultsApi unit test stubs""" def setUp(self) -> None: - self.api = VoiceRTPServerTestMetricsApi() + self.api = VoiceRTPServerTestResultsApi() def tearDown(self) -> None: pass @@ -60,7 +59,7 @@ class TestVoiceRTPServerTestMetricsApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, diff --git a/thousandeyes-sdk-test-results/test/test_voice_sip_server_test_metrics_api.py b/thousandeyes-sdk-test-results/test/test_voice_sip_server_test_results_api.py similarity index 97% rename from thousandeyes-sdk-test-results/test/test_voice_sip_server_test_metrics_api.py rename to thousandeyes-sdk-test-results/test/test_voice_sip_server_test_results_api.py index 13d307fd..b756d940 100644 --- a/thousandeyes-sdk-test-results/test/test_voice_sip_server_test_metrics_api.py +++ b/thousandeyes-sdk-test-results/test/test_voice_sip_server_test_results_api.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.test_results.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.test_results.api.voice_sip_server_test_metrics_api import VoiceSIPServerTestMetricsApi +from thousandeyes_sdk.test_results.api.voice_sip_server_test_results_api import VoiceSIPServerTestResultsApi -class TestVoiceSIPServerTestMetricsApi(unittest.TestCase): - """VoiceSIPServerTestMetricsApi unit test stubs""" +class TestVoiceSIPServerTestResultsApi(unittest.TestCase): + """VoiceSIPServerTestResultsApi unit test stubs""" def setUp(self) -> None: - self.api = VoiceSIPServerTestMetricsApi() + self.api = VoiceSIPServerTestResultsApi() def tearDown(self) -> None: pass @@ -60,7 +59,7 @@ class TestVoiceSIPServerTestMetricsApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, diff --git a/thousandeyes-sdk-test-results/test/test_web_ftp_server_test_metrics_api.py b/thousandeyes-sdk-test-results/test/test_web_ftp_server_test_results_api.py similarity index 95% rename from thousandeyes-sdk-test-results/test/test_web_ftp_server_test_metrics_api.py rename to thousandeyes-sdk-test-results/test/test_web_ftp_server_test_results_api.py index 934b94f9..1e356e80 100644 --- a/thousandeyes-sdk-test-results/test/test_web_ftp_server_test_metrics_api.py +++ b/thousandeyes-sdk-test-results/test/test_web_ftp_server_test_results_api.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.test_results.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.test_results.api.web_ftp_server_test_metrics_api import WebFTPServerTestMetricsApi +from thousandeyes_sdk.test_results.api.web_ftp_server_test_results_api import WebFTPServerTestResultsApi -class TestWebFTPServerTestMetricsApi(unittest.TestCase): - """WebFTPServerTestMetricsApi unit test stubs""" +class TestWebFTPServerTestResultsApi(unittest.TestCase): + """WebFTPServerTestResultsApi unit test stubs""" def setUp(self) -> None: - self.api = WebFTPServerTestMetricsApi() + self.api = WebFTPServerTestResultsApi() def tearDown(self) -> None: pass @@ -60,7 +59,7 @@ class TestWebFTPServerTestMetricsApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, diff --git a/thousandeyes-sdk-test-results/test/test_web_http_server_test_metrics_api.py b/thousandeyes-sdk-test-results/test/test_web_http_server_test_results_api.py similarity index 96% rename from thousandeyes-sdk-test-results/test/test_web_http_server_test_metrics_api.py rename to thousandeyes-sdk-test-results/test/test_web_http_server_test_results_api.py index a1ec4b28..3e5d513c 100644 --- a/thousandeyes-sdk-test-results/test/test_web_http_server_test_metrics_api.py +++ b/thousandeyes-sdk-test-results/test/test_web_http_server_test_results_api.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.test_results.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.test_results.api.web_http_server_test_metrics_api import WebHTTPServerTestMetricsApi +from thousandeyes_sdk.test_results.api.web_http_server_test_results_api import WebHTTPServerTestResultsApi -class TestWebHTTPServerTestMetricsApi(unittest.TestCase): - """WebHTTPServerTestMetricsApi unit test stubs""" +class TestWebHTTPServerTestResultsApi(unittest.TestCase): + """WebHTTPServerTestResultsApi unit test stubs""" def setUp(self) -> None: - self.api = WebHTTPServerTestMetricsApi() + self.api = WebHTTPServerTestResultsApi() def tearDown(self) -> None: pass @@ -60,7 +59,7 @@ class TestWebHTTPServerTestMetricsApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, @@ -122,6 +121,7 @@ class TestWebHTTPServerTestMetricsApi(unittest.TestCase): }, "numRedirects" : 0, "errorType" : "None", + "healthScore" : 0.98, "responseCode" : 200, "connectTime" : 2, "startTime" : 1384309800, @@ -185,6 +185,7 @@ class TestWebHTTPServerTestMetricsApi(unittest.TestCase): }, "numRedirects" : 0, "errorType" : "None", + "healthScore" : 0.98, "responseCode" : 200, "connectTime" : 2, "startTime" : 1384309800, diff --git a/thousandeyes-sdk-test-results/test/test_web_page_load_test_metrics_api.py b/thousandeyes-sdk-test-results/test/test_web_page_load_test_results_api.py similarity index 98% rename from thousandeyes-sdk-test-results/test/test_web_page_load_test_metrics_api.py rename to thousandeyes-sdk-test-results/test/test_web_page_load_test_results_api.py index 55a79149..c3ff6027 100644 --- a/thousandeyes-sdk-test-results/test/test_web_page_load_test_metrics_api.py +++ b/thousandeyes-sdk-test-results/test/test_web_page_load_test_results_api.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.test_results.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.test_results.api.web_page_load_test_metrics_api import WebPageLoadTestMetricsApi +from thousandeyes_sdk.test_results.api.web_page_load_test_results_api import WebPageLoadTestResultsApi -class TestWebPageLoadTestMetricsApi(unittest.TestCase): - """WebPageLoadTestMetricsApi unit test stubs""" +class TestWebPageLoadTestResultsApi(unittest.TestCase): + """WebPageLoadTestResultsApi unit test stubs""" def setUp(self) -> None: - self.api = WebPageLoadTestMetricsApi() + self.api = WebPageLoadTestResultsApi() def tearDown(self) -> None: pass @@ -60,7 +59,7 @@ class TestWebPageLoadTestMetricsApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, @@ -626,7 +625,7 @@ class TestWebPageLoadTestMetricsApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, diff --git a/thousandeyes-sdk-test-results/test/test_web_transactions_test_metrics_api.py b/thousandeyes-sdk-test-results/test/test_web_transactions_test_results_api.py similarity index 98% rename from thousandeyes-sdk-test-results/test/test_web_transactions_test_metrics_api.py rename to thousandeyes-sdk-test-results/test/test_web_transactions_test_results_api.py index 98a1d570..454133cc 100644 --- a/thousandeyes-sdk-test-results/test/test_web_transactions_test_metrics_api.py +++ b/thousandeyes-sdk-test-results/test/test_web_transactions_test_results_api.py @@ -5,7 +5,6 @@ Get test result metrics for Cloud and Enterprise Agent tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.test_results.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.test_results.api.web_transactions_test_metrics_api import WebTransactionsTestMetricsApi +from thousandeyes_sdk.test_results.api.web_transactions_test_results_api import WebTransactionsTestResultsApi -class TestWebTransactionsTestMetricsApi(unittest.TestCase): - """WebTransactionsTestMetricsApi unit test stubs""" +class TestWebTransactionsTestResultsApi(unittest.TestCase): + """WebTransactionsTestResultsApi unit test stubs""" def setUp(self) -> None: - self.api = WebTransactionsTestMetricsApi() + self.api = WebTransactionsTestResultsApi() def tearDown(self) -> None: pass @@ -60,7 +59,7 @@ class TestWebTransactionsTestMetricsApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, @@ -662,7 +661,7 @@ class TestWebTransactionsTestMetricsApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, @@ -832,7 +831,7 @@ class TestWebTransactionsTestMetricsApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, diff --git a/thousandeyes-sdk-tests/.openapi-generator/FILES b/thousandeyes-sdk-tests/.openapi-generator/FILES index 051b37cc..f25c2ace 100644 --- a/thousandeyes-sdk-tests/.openapi-generator/FILES +++ b/thousandeyes-sdk-tests/.openapi-generator/FILES @@ -1,26 +1,29 @@ .openapi-generator-ignore MANIFEST.in README.md -docs/APIApi.md -docs/Agent.md +docs/APITestsApi.md docs/AgentBase.md -docs/AgentRequest.md -docs/AgentToAgentApi.md +docs/AgentInterfaces.md +docs/AgentResponse.md docs/AgentToAgentInstantTest.md docs/AgentToAgentProperties.md docs/AgentToAgentTest.md docs/AgentToAgentTestProtocol.md +docs/AgentToAgentTestRequest.md +docs/AgentToAgentTestResponse.md docs/AgentToAgentTests.md -docs/AgentToServerApi.md +docs/AgentToAgentTestsApi.md docs/AgentToServerInstantTest.md docs/AgentToServerProperties.md docs/AgentToServerTest.md +docs/AgentToServerTestRequest.md +docs/AgentToServerTestResponse.md docs/AgentToServerTests.md +docs/AgentToServerTestsApi.md docs/AlertDirection.md docs/AlertRoundsViolationMode.md docs/AlertRule.md docs/AlertType.md -docs/AllTestTypesApi.md docs/ApiInstantTest.md docs/ApiPredefinedVariable.md docs/ApiProperties.md @@ -33,43 +36,59 @@ docs/ApiRequestHeader.md docs/ApiRequestMethod.md docs/ApiRequestVariable.md docs/ApiTest.md +docs/ApiTestRequest.md +docs/ApiTestResponse.md docs/ApiTests.md -docs/BGPApi.md +docs/BGPTestsApi.md docs/BaseBgpTest.md docs/BaseRequest.md docs/BaseTest.md docs/BgpTest.md +docs/BgpTestRequest.md +docs/BgpTestResponse.md docs/BgpTests.md docs/CloudEnterpriseAgentType.md -docs/DNSSECApi.md -docs/DNSServerApi.md -docs/DNSTraceApi.md +docs/DNSSECTestsApi.md +docs/DNSServerTestsApi.md +docs/DNSTraceTestsApi.md docs/DnsQueryClass.md docs/DnsSecInstantTest.md docs/DnsSecProperties.md docs/DnsSecTest.md +docs/DnsSecTestRequest.md +docs/DnsSecTestResponse.md docs/DnsSecTests.md docs/DnsServerInstantTest.md docs/DnsServerProperties.md docs/DnsServerTest.md +docs/DnsServerTestRequest.md +docs/DnsServerTestResponse.md docs/DnsServerTests.md docs/DnsServersRequest.md docs/DnsTraceInstantTest.md docs/DnsTraceProperties.md docs/DnsTraceTest.md +docs/DnsTraceTestRequest.md +docs/DnsTraceTestResponse.md docs/DnsTraceTests.md docs/Error.md -docs/Expand.md -docs/FTPServerApi.md +docs/ExpandBgpTestOptions.md +docs/ExpandTestOptions.md +docs/FTPServerTestsApi.md docs/FtpServerInstantTest.md docs/FtpServerProperties.md docs/FtpServerRequestType.md docs/FtpServerTest.md +docs/FtpServerTestRequest.md +docs/FtpServerTestResponse.md docs/FtpServerTests.md -docs/HTTPServerApi.md +docs/HTTPServerTestsApi.md +docs/HttpServerBaseProperties.md docs/HttpServerInstantTest.md docs/HttpServerProperties.md docs/HttpServerTest.md +docs/HttpServerTestRequest.md +docs/HttpServerTestResponse.md docs/HttpServerTests.md docs/InstantTest.md docs/InterfaceGroup.md @@ -78,25 +97,31 @@ docs/Link.md docs/Monitor.md docs/MonitorType.md docs/MonitorsRequest.md -docs/PageLoadApi.md +docs/OAuth.md docs/PageLoadInstantTest.md docs/PageLoadProperties.md docs/PageLoadTest.md +docs/PageLoadTestRequest.md +docs/PageLoadTestResponse.md docs/PageLoadTests.md +docs/PageLoadTestsApi.md docs/PathVisualizationInterfaceGroupsApi.md -docs/SIPServerApi.md +docs/RequestMethod.md +docs/SIPServerTestsApi.md docs/SelfLinks.md +docs/SensitivityLevel.md docs/Severity.md docs/SharedWithAccount.md docs/SimpleAgent.md docs/SimpleTest.md docs/SipServerInstantTest.md -docs/SipServerInstantTestRequest.md -docs/SipServerInstantTestResponse.md docs/SipServerProperties.md docs/SipServerTest.md +docs/SipServerTestRequest.md +docs/SipServerTestResponse.md docs/SipServerTests.md docs/SipTestProtocol.md +docs/TestAgentRequest.md docs/TestAuthType.md docs/TestCustomHeaders.md docs/TestDirection.md @@ -120,6 +145,7 @@ docs/TestSslVersionId.md docs/TestSubInterval.md docs/TestType.md docs/Tests.md +docs/TestsApi.md docs/UnauthorizedError.md docs/UnexpandedAgentToAgentTest.md docs/UnexpandedAgentToServerTest.md @@ -136,64 +162,59 @@ docs/UnexpandedSipServerTest.md docs/UnexpandedTest.md docs/UnexpandedVoiceTest.md docs/UnexpandedWebTransactionTest.md -docs/UpdateAgentToAgentTest.md -docs/UpdateAgentToServerTest.md -docs/UpdateApiTest.md -docs/UpdateBgpTest.md docs/UpdateBgpTestRequest.md -docs/UpdateDnsSecTest.md -docs/UpdateDnsServerTest.md -docs/UpdateDnsTraceTest.md -docs/UpdateFtpServerTest.md -docs/UpdateHttpServerTest.md -docs/UpdatePageLoadTest.md docs/UpdateSipServerTest.md -docs/UpdateSipServerTest1.md -docs/UpdateVoiceTest.md -docs/UpdateWebTransactionTest.md docs/ValidationError.md docs/ValidationErrorItem.md -docs/VoiceApi.md docs/VoiceInstantTest.md docs/VoiceProperties.md docs/VoiceTest.md +docs/VoiceTestRequest.md +docs/VoiceTestResponse.md docs/VoiceTests.md -docs/WebTransactionApi.md +docs/VoiceTestsApi.md docs/WebTransactionInstantTest.md docs/WebTransactionProperties.md docs/WebTransactionTest.md +docs/WebTransactionTestRequest.md +docs/WebTransactionTestResponse.md docs/WebTransactionTests.md +docs/WebTransactionTestsApi.md pyproject.toml setup.cfg src/thousandeyes_sdk/tests/__init__.py src/thousandeyes_sdk/tests/api/__init__.py -src/thousandeyes_sdk/tests/api/agent_to_agent_api.py -src/thousandeyes_sdk/tests/api/agent_to_server_api.py -src/thousandeyes_sdk/tests/api/all_test_types_api.py -src/thousandeyes_sdk/tests/api/api_api.py -src/thousandeyes_sdk/tests/api/bgp_api.py -src/thousandeyes_sdk/tests/api/dns_server_api.py -src/thousandeyes_sdk/tests/api/dns_trace_api.py -src/thousandeyes_sdk/tests/api/dnssec_api.py -src/thousandeyes_sdk/tests/api/ftp_server_api.py -src/thousandeyes_sdk/tests/api/http_server_api.py -src/thousandeyes_sdk/tests/api/page_load_api.py +src/thousandeyes_sdk/tests/api/agent_to_agent_tests_api.py +src/thousandeyes_sdk/tests/api/agent_to_server_tests_api.py +src/thousandeyes_sdk/tests/api/api_tests_api.py +src/thousandeyes_sdk/tests/api/bgp_tests_api.py +src/thousandeyes_sdk/tests/api/dns_server_tests_api.py +src/thousandeyes_sdk/tests/api/dns_trace_tests_api.py +src/thousandeyes_sdk/tests/api/dnssec_tests_api.py +src/thousandeyes_sdk/tests/api/ftp_server_tests_api.py +src/thousandeyes_sdk/tests/api/http_server_tests_api.py +src/thousandeyes_sdk/tests/api/page_load_tests_api.py src/thousandeyes_sdk/tests/api/path_visualization_interface_groups_api.py -src/thousandeyes_sdk/tests/api/sip_server_api.py -src/thousandeyes_sdk/tests/api/voice_api.py -src/thousandeyes_sdk/tests/api/web_transaction_api.py +src/thousandeyes_sdk/tests/api/sip_server_tests_api.py +src/thousandeyes_sdk/tests/api/tests_api.py +src/thousandeyes_sdk/tests/api/voice_tests_api.py +src/thousandeyes_sdk/tests/api/web_transaction_tests_api.py src/thousandeyes_sdk/tests/models/__init__.py -src/thousandeyes_sdk/tests/models/agent.py src/thousandeyes_sdk/tests/models/agent_base.py -src/thousandeyes_sdk/tests/models/agent_request.py +src/thousandeyes_sdk/tests/models/agent_interfaces.py +src/thousandeyes_sdk/tests/models/agent_response.py src/thousandeyes_sdk/tests/models/agent_to_agent_instant_test.py src/thousandeyes_sdk/tests/models/agent_to_agent_properties.py src/thousandeyes_sdk/tests/models/agent_to_agent_test.py src/thousandeyes_sdk/tests/models/agent_to_agent_test_protocol.py +src/thousandeyes_sdk/tests/models/agent_to_agent_test_request.py +src/thousandeyes_sdk/tests/models/agent_to_agent_test_response.py src/thousandeyes_sdk/tests/models/agent_to_agent_tests.py src/thousandeyes_sdk/tests/models/agent_to_server_instant_test.py src/thousandeyes_sdk/tests/models/agent_to_server_properties.py src/thousandeyes_sdk/tests/models/agent_to_server_test.py +src/thousandeyes_sdk/tests/models/agent_to_server_test_request.py +src/thousandeyes_sdk/tests/models/agent_to_server_test_response.py src/thousandeyes_sdk/tests/models/agent_to_server_tests.py src/thousandeyes_sdk/tests/models/alert_direction.py src/thousandeyes_sdk/tests/models/alert_rounds_violation_mode.py @@ -211,37 +232,53 @@ src/thousandeyes_sdk/tests/models/api_request_header.py src/thousandeyes_sdk/tests/models/api_request_method.py src/thousandeyes_sdk/tests/models/api_request_variable.py src/thousandeyes_sdk/tests/models/api_test.py +src/thousandeyes_sdk/tests/models/api_test_request.py +src/thousandeyes_sdk/tests/models/api_test_response.py src/thousandeyes_sdk/tests/models/api_tests.py src/thousandeyes_sdk/tests/models/base_bgp_test.py src/thousandeyes_sdk/tests/models/base_request.py src/thousandeyes_sdk/tests/models/base_test.py src/thousandeyes_sdk/tests/models/bgp_test.py +src/thousandeyes_sdk/tests/models/bgp_test_request.py +src/thousandeyes_sdk/tests/models/bgp_test_response.py src/thousandeyes_sdk/tests/models/bgp_tests.py src/thousandeyes_sdk/tests/models/cloud_enterprise_agent_type.py src/thousandeyes_sdk/tests/models/dns_query_class.py src/thousandeyes_sdk/tests/models/dns_sec_instant_test.py src/thousandeyes_sdk/tests/models/dns_sec_properties.py src/thousandeyes_sdk/tests/models/dns_sec_test.py +src/thousandeyes_sdk/tests/models/dns_sec_test_request.py +src/thousandeyes_sdk/tests/models/dns_sec_test_response.py src/thousandeyes_sdk/tests/models/dns_sec_tests.py src/thousandeyes_sdk/tests/models/dns_server_instant_test.py src/thousandeyes_sdk/tests/models/dns_server_properties.py src/thousandeyes_sdk/tests/models/dns_server_test.py +src/thousandeyes_sdk/tests/models/dns_server_test_request.py +src/thousandeyes_sdk/tests/models/dns_server_test_response.py src/thousandeyes_sdk/tests/models/dns_server_tests.py src/thousandeyes_sdk/tests/models/dns_servers_request.py src/thousandeyes_sdk/tests/models/dns_trace_instant_test.py src/thousandeyes_sdk/tests/models/dns_trace_properties.py src/thousandeyes_sdk/tests/models/dns_trace_test.py +src/thousandeyes_sdk/tests/models/dns_trace_test_request.py +src/thousandeyes_sdk/tests/models/dns_trace_test_response.py src/thousandeyes_sdk/tests/models/dns_trace_tests.py src/thousandeyes_sdk/tests/models/error.py -src/thousandeyes_sdk/tests/models/expand.py +src/thousandeyes_sdk/tests/models/expand_bgp_test_options.py +src/thousandeyes_sdk/tests/models/expand_test_options.py src/thousandeyes_sdk/tests/models/ftp_server_instant_test.py src/thousandeyes_sdk/tests/models/ftp_server_properties.py src/thousandeyes_sdk/tests/models/ftp_server_request_type.py src/thousandeyes_sdk/tests/models/ftp_server_test.py +src/thousandeyes_sdk/tests/models/ftp_server_test_request.py +src/thousandeyes_sdk/tests/models/ftp_server_test_response.py src/thousandeyes_sdk/tests/models/ftp_server_tests.py +src/thousandeyes_sdk/tests/models/http_server_base_properties.py src/thousandeyes_sdk/tests/models/http_server_instant_test.py src/thousandeyes_sdk/tests/models/http_server_properties.py src/thousandeyes_sdk/tests/models/http_server_test.py +src/thousandeyes_sdk/tests/models/http_server_test_request.py +src/thousandeyes_sdk/tests/models/http_server_test_response.py src/thousandeyes_sdk/tests/models/http_server_tests.py src/thousandeyes_sdk/tests/models/instant_test.py src/thousandeyes_sdk/tests/models/interface_group.py @@ -250,22 +287,28 @@ src/thousandeyes_sdk/tests/models/link.py src/thousandeyes_sdk/tests/models/monitor.py src/thousandeyes_sdk/tests/models/monitor_type.py src/thousandeyes_sdk/tests/models/monitors_request.py +src/thousandeyes_sdk/tests/models/o_auth.py src/thousandeyes_sdk/tests/models/page_load_instant_test.py src/thousandeyes_sdk/tests/models/page_load_properties.py src/thousandeyes_sdk/tests/models/page_load_test.py +src/thousandeyes_sdk/tests/models/page_load_test_request.py +src/thousandeyes_sdk/tests/models/page_load_test_response.py src/thousandeyes_sdk/tests/models/page_load_tests.py +src/thousandeyes_sdk/tests/models/request_method.py src/thousandeyes_sdk/tests/models/self_links.py +src/thousandeyes_sdk/tests/models/sensitivity_level.py src/thousandeyes_sdk/tests/models/severity.py src/thousandeyes_sdk/tests/models/shared_with_account.py src/thousandeyes_sdk/tests/models/simple_agent.py src/thousandeyes_sdk/tests/models/simple_test.py src/thousandeyes_sdk/tests/models/sip_server_instant_test.py -src/thousandeyes_sdk/tests/models/sip_server_instant_test_request.py -src/thousandeyes_sdk/tests/models/sip_server_instant_test_response.py src/thousandeyes_sdk/tests/models/sip_server_properties.py src/thousandeyes_sdk/tests/models/sip_server_test.py +src/thousandeyes_sdk/tests/models/sip_server_test_request.py +src/thousandeyes_sdk/tests/models/sip_server_test_response.py src/thousandeyes_sdk/tests/models/sip_server_tests.py src/thousandeyes_sdk/tests/models/sip_test_protocol.py +src/thousandeyes_sdk/tests/models/test_agent_request.py src/thousandeyes_sdk/tests/models/test_auth_type.py src/thousandeyes_sdk/tests/models/test_custom_headers.py src/thousandeyes_sdk/tests/models/test_direction.py @@ -305,46 +348,37 @@ src/thousandeyes_sdk/tests/models/unexpanded_sip_server_test.py src/thousandeyes_sdk/tests/models/unexpanded_test.py src/thousandeyes_sdk/tests/models/unexpanded_voice_test.py src/thousandeyes_sdk/tests/models/unexpanded_web_transaction_test.py -src/thousandeyes_sdk/tests/models/update_agent_to_agent_test.py -src/thousandeyes_sdk/tests/models/update_agent_to_server_test.py -src/thousandeyes_sdk/tests/models/update_api_test.py -src/thousandeyes_sdk/tests/models/update_bgp_test.py src/thousandeyes_sdk/tests/models/update_bgp_test_request.py -src/thousandeyes_sdk/tests/models/update_dns_sec_test.py -src/thousandeyes_sdk/tests/models/update_dns_server_test.py -src/thousandeyes_sdk/tests/models/update_dns_trace_test.py -src/thousandeyes_sdk/tests/models/update_ftp_server_test.py -src/thousandeyes_sdk/tests/models/update_http_server_test.py -src/thousandeyes_sdk/tests/models/update_page_load_test.py src/thousandeyes_sdk/tests/models/update_sip_server_test.py -src/thousandeyes_sdk/tests/models/update_sip_server_test1.py -src/thousandeyes_sdk/tests/models/update_voice_test.py -src/thousandeyes_sdk/tests/models/update_web_transaction_test.py src/thousandeyes_sdk/tests/models/validation_error.py src/thousandeyes_sdk/tests/models/validation_error_item.py src/thousandeyes_sdk/tests/models/voice_instant_test.py src/thousandeyes_sdk/tests/models/voice_properties.py src/thousandeyes_sdk/tests/models/voice_test.py +src/thousandeyes_sdk/tests/models/voice_test_request.py +src/thousandeyes_sdk/tests/models/voice_test_response.py src/thousandeyes_sdk/tests/models/voice_tests.py src/thousandeyes_sdk/tests/models/web_transaction_instant_test.py src/thousandeyes_sdk/tests/models/web_transaction_properties.py src/thousandeyes_sdk/tests/models/web_transaction_test.py +src/thousandeyes_sdk/tests/models/web_transaction_test_request.py +src/thousandeyes_sdk/tests/models/web_transaction_test_response.py src/thousandeyes_sdk/tests/models/web_transaction_tests.py src/thousandeyes_sdk/tests/py.typed test/__init__.py -test/test_agent_to_agent_api.py -test/test_agent_to_server_api.py -test/test_all_test_types_api.py -test/test_api_api.py -test/test_bgp_api.py -test/test_dns_server_api.py -test/test_dns_trace_api.py -test/test_dnssec_api.py -test/test_ftp_server_api.py -test/test_http_server_api.py -test/test_page_load_api.py +test/test_agent_to_agent_tests_api.py +test/test_agent_to_server_tests_api.py +test/test_api_tests_api.py +test/test_bgp_tests_api.py +test/test_dns_server_tests_api.py +test/test_dns_trace_tests_api.py +test/test_dnssec_tests_api.py +test/test_ftp_server_tests_api.py +test/test_http_server_tests_api.py +test/test_page_load_tests_api.py test/test_path_visualization_interface_groups_api.py -test/test_sip_server_api.py +test/test_sip_server_tests_api.py +test/test_tests_api.py test/test_utils.py -test/test_voice_api.py -test/test_web_transaction_api.py +test/test_voice_tests_api.py +test/test_web_transaction_tests_api.py diff --git a/thousandeyes-sdk-tests/README.md b/thousandeyes-sdk-tests/README.md index 1d1fcc4c..4adb9a2d 100644 --- a/thousandeyes-sdk-tests/README.md +++ b/thousandeyes-sdk-tests/README.md @@ -4,7 +4,7 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 7.0.8 +- API version: 7.0.20 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator @@ -56,10 +56,10 @@ import thousandeyes_sdk.tests from thousandeyes_sdk.core.exceptions import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -76,112 +76,116 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.core.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.APIApi(api_client) - update_api_test = thousandeyes_sdk.tests.UpdateApiTest() # UpdateApiTest | + api_instance = thousandeyes_sdk.tests.APITestsApi(api_client) + api_test_request = thousandeyes_sdk.tests.ApiTestRequest() # ApiTestRequest | 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.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Create API test - api_response = api_instance.create_api_test(update_api_test, aid=aid, expand=expand) - print("The response of APIApi->create_api_test:\n") + api_response = api_instance.create_api_test(api_test_request, aid=aid, expand=expand) + print("The response of APITestsApi->create_api_test:\n") pprint(api_response) except ApiException as e: - print("Exception when calling APIApi->create_api_test: %s\n" % e) + print("Exception when calling APITestsApi->create_api_test: %s\n" % e) ``` ## Documentation for API Endpoints -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- -*APIApi* | [**create_api_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/APIApi.md#create_api_test) | **POST** /v7/tests/api | Create API test -*APIApi* | [**delete_api_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/APIApi.md#delete_api_test) | **DELETE** /v7/tests/api/{testId} | Delete API test -*APIApi* | [**get_api_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/APIApi.md#get_api_test) | **GET** /v7/tests/api/{testId} | Get API test -*APIApi* | [**get_api_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/APIApi.md#get_api_tests) | **GET** /v7/tests/api | List API tests -*APIApi* | [**update_api_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/APIApi.md#update_api_test) | **PUT** /v7/tests/api/{testId} | Update API test -*AgentToAgentApi* | [**create_agent_to_agent_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToAgentApi.md#create_agent_to_agent_test) | **POST** /v7/tests/agent-to-agent | Create Agent to Agent test -*AgentToAgentApi* | [**delete_agent_to_agent_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToAgentApi.md#delete_agent_to_agent_test) | **DELETE** /v7/tests/agent-to-agent/{testId} | Delete Agent to Agent test -*AgentToAgentApi* | [**get_agent_to_agent_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToAgentApi.md#get_agent_to_agent_test) | **GET** /v7/tests/agent-to-agent/{testId} | Get Agent to Agent test -*AgentToAgentApi* | [**get_agent_to_agent_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToAgentApi.md#get_agent_to_agent_tests) | **GET** /v7/tests/agent-to-agent | List Agent to Agent tests -*AgentToAgentApi* | [**update_agent_to_agent_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToAgentApi.md#update_agent_to_agent_test) | **PUT** /v7/tests/agent-to-agent/{testId} | Update Agent to Agent test -*AgentToServerApi* | [**create_agent_to_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToServerApi.md#create_agent_to_server_test) | **POST** /v7/tests/agent-to-server | Create Agent to Server test -*AgentToServerApi* | [**delete_agent_to_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToServerApi.md#delete_agent_to_server_test) | **DELETE** /v7/tests/agent-to-server/{testId} | Delete Agent to Server test -*AgentToServerApi* | [**get_agent_to_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToServerApi.md#get_agent_to_server_test) | **GET** /v7/tests/agent-to-server/{testId} | Get Agent to Server test -*AgentToServerApi* | [**get_agent_to_server_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToServerApi.md#get_agent_to_server_tests) | **GET** /v7/tests/agent-to-server | List Agent to Server tests -*AgentToServerApi* | [**update_agent_to_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToServerApi.md#update_agent_to_server_test) | **PUT** /v7/tests/agent-to-server/{testId} | Update Agent to Server test -*AllTestTypesApi* | [**get_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AllTestTypesApi.md#get_tests) | **GET** /v7/tests | List configured tests -*BGPApi* | [**create_bgp_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/BGPApi.md#create_bgp_test) | **POST** /v7/tests/bgp | Create BGP test -*BGPApi* | [**delete_bgp_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/BGPApi.md#delete_bgp_test) | **DELETE** /v7/tests/bgp/{testId} | Delete BGP test -*BGPApi* | [**get_bgp_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/BGPApi.md#get_bgp_test) | **GET** /v7/tests/bgp/{testId} | Get BGP test -*BGPApi* | [**get_bgp_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/BGPApi.md#get_bgp_tests) | **GET** /v7/tests/bgp | List BGP tests -*BGPApi* | [**update_bgp_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/BGPApi.md#update_bgp_test) | **PUT** /v7/tests/bgp/{testId} | Update BGP test -*DNSSECApi* | [**create_dns_sec_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DNSSECApi.md#create_dns_sec_test) | **POST** /v7/tests/dnssec | Create DNSSEC test -*DNSSECApi* | [**delete_dns_sec_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DNSSECApi.md#delete_dns_sec_test) | **DELETE** /v7/tests/dnssec/{testId} | Delete DNSSEC test -*DNSSECApi* | [**get_dns_sec_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DNSSECApi.md#get_dns_sec_test) | **GET** /v7/tests/dnssec/{testId} | Get DNSSEC test -*DNSSECApi* | [**get_dns_sec_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DNSSECApi.md#get_dns_sec_tests) | **GET** /v7/tests/dnssec | List DNSSEC tests -*DNSSECApi* | [**update_dns_sec_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DNSSECApi.md#update_dns_sec_test) | **PUT** /v7/tests/dnssec/{testId} | Update DNSSEC test -*DNSServerApi* | [**create_dns_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DNSServerApi.md#create_dns_server_test) | **POST** /v7/tests/dns-server | Create DNS Server test -*DNSServerApi* | [**delete_dns_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DNSServerApi.md#delete_dns_server_test) | **DELETE** /v7/tests/dns-server/{testId} | Delete DNS Server test -*DNSServerApi* | [**get_dns_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DNSServerApi.md#get_dns_server_test) | **GET** /v7/tests/dns-server/{testId} | Get DNS Server test -*DNSServerApi* | [**get_dns_server_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DNSServerApi.md#get_dns_server_tests) | **GET** /v7/tests/dns-server | List DNS Server tests -*DNSServerApi* | [**update_dns_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DNSServerApi.md#update_dns_server_test) | **PUT** /v7/tests/dns-server/{testId} | Update DNS Server test -*DNSTraceApi* | [**create_dns_trace_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DNSTraceApi.md#create_dns_trace_test) | **POST** /v7/tests/dns-trace | Create DNS Trace test -*DNSTraceApi* | [**delete_dns_trace_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DNSTraceApi.md#delete_dns_trace_test) | **DELETE** /v7/tests/dns-trace/{testId} | Delete DNS Trace test -*DNSTraceApi* | [**get_dns_trace_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DNSTraceApi.md#get_dns_trace_test) | **GET** /v7/tests/dns-trace/{testId} | Get DNS Trace test -*DNSTraceApi* | [**get_dns_trace_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DNSTraceApi.md#get_dns_trace_tests) | **GET** /v7/tests/dns-trace | List DNS Trace tests -*DNSTraceApi* | [**update_dns_trace_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DNSTraceApi.md#update_dns_trace_test) | **PUT** /v7/tests/dns-trace/{testId} | Update DNS Trace test -*FTPServerApi* | [**create_ftp_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/FTPServerApi.md#create_ftp_server_test) | **POST** /v7/tests/ftp-server | Create FTP Server test -*FTPServerApi* | [**delete_ftp_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/FTPServerApi.md#delete_ftp_server_test) | **DELETE** /v7/tests/ftp-server/{testId} | Delete FTP Server test -*FTPServerApi* | [**get_ftp_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/FTPServerApi.md#get_ftp_server_test) | **GET** /v7/tests/ftp-server/{testId} | Get FTP Server test -*FTPServerApi* | [**get_ftp_server_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/FTPServerApi.md#get_ftp_server_tests) | **GET** /v7/tests/ftp-server | List FTP Server tests -*FTPServerApi* | [**update_ftp_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/FTPServerApi.md#update_ftp_server_test) | **PUT** /v7/tests/ftp-server/{testId} | Update FTP Server test -*HTTPServerApi* | [**create_http_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/HTTPServerApi.md#create_http_server_test) | **POST** /v7/tests/http-server | Create HTTP Server test -*HTTPServerApi* | [**delete_http_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/HTTPServerApi.md#delete_http_server_test) | **DELETE** /v7/tests/http-server/{testId} | Delete HTTP Server test -*HTTPServerApi* | [**get_http_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/HTTPServerApi.md#get_http_server_test) | **GET** /v7/tests/http-server/{testId} | Get HTTP Server test -*HTTPServerApi* | [**get_http_server_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/HTTPServerApi.md#get_http_server_tests) | **GET** /v7/tests/http-server | List HTTP Server tests -*HTTPServerApi* | [**update_http_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/HTTPServerApi.md#update_http_server_test) | **PUT** /v7/tests/http-server/{testId} | Update HTTP Server test -*PageLoadApi* | [**create_page_load_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/PageLoadApi.md#create_page_load_test) | **POST** /v7/tests/page-load | Create Page Load test -*PageLoadApi* | [**delete_page_load_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/PageLoadApi.md#delete_page_load_test) | **DELETE** /v7/tests/page-load/{testId} | Delete Page Load test -*PageLoadApi* | [**get_page_load_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/PageLoadApi.md#get_page_load_test) | **GET** /v7/tests/page-load/{testId} | Get Page Load test -*PageLoadApi* | [**get_page_load_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/PageLoadApi.md#get_page_load_tests) | **GET** /v7/tests/page-load | List Page Load tests -*PageLoadApi* | [**update_page_load_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/PageLoadApi.md#update_page_load_test) | **PUT** /v7/tests/page-load/{testId} | Update Page Load test -*PathVisualizationInterfaceGroupsApi* | [**create_path_vis_interface_groups**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/PathVisualizationInterfaceGroupsApi.md#create_path_vis_interface_groups) | **POST** /v7/network/path-vis/interface-groups | Create interface group for path visualization -*PathVisualizationInterfaceGroupsApi* | [**delete_path_vis_interface_group**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/PathVisualizationInterfaceGroupsApi.md#delete_path_vis_interface_group) | **DELETE** /v7/network/path-vis/interface-groups/{interfaceGroupId} | Delete interface group -*PathVisualizationInterfaceGroupsApi* | [**get_path_vis_interface_groups**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/PathVisualizationInterfaceGroupsApi.md#get_path_vis_interface_groups) | **GET** /v7/network/path-vis/interface-groups | List interface groups for path visualization -*PathVisualizationInterfaceGroupsApi* | [**update_path_vis_interface_group**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/PathVisualizationInterfaceGroupsApi.md#update_path_vis_interface_group) | **PUT** /v7/network/path-vis/interface-groups/{interfaceGroupId} | Update interface group -*SIPServerApi* | [**create_sip_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/SIPServerApi.md#create_sip_server_test) | **POST** /v7/tests/sip-server | Create SIP Server test -*SIPServerApi* | [**delete_sip_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/SIPServerApi.md#delete_sip_server_test) | **DELETE** /v7/tests/sip-server/{testId} | Delete SIP Server test -*SIPServerApi* | [**get_sip_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/SIPServerApi.md#get_sip_server_test) | **GET** /v7/tests/sip-server/{testId} | Get SIP Server test -*SIPServerApi* | [**get_sip_server_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/SIPServerApi.md#get_sip_server_tests) | **GET** /v7/tests/sip-server | List SIP Server tests -*SIPServerApi* | [**update_sip_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/SIPServerApi.md#update_sip_server_test) | **PUT** /v7/tests/sip-server/{testId} | Update SIP Server test -*VoiceApi* | [**create_voice_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/VoiceApi.md#create_voice_test) | **POST** /v7/tests/voice | Create Voice test -*VoiceApi* | [**delete_voice_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/VoiceApi.md#delete_voice_test) | **DELETE** /v7/tests/voice/{testId} | Delete Voice test -*VoiceApi* | [**get_voice_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/VoiceApi.md#get_voice_test) | **GET** /v7/tests/voice/{testId} | Get Voice test -*VoiceApi* | [**get_voice_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/VoiceApi.md#get_voice_tests) | **GET** /v7/tests/voice | List Voice tests -*VoiceApi* | [**update_voice_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/VoiceApi.md#update_voice_test) | **PUT** /v7/tests/voice/{testId} | Update Voice test -*WebTransactionApi* | [**create_web_transactions_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/WebTransactionApi.md#create_web_transactions_test) | **POST** /v7/tests/web-transactions | Create Web Transactions test -*WebTransactionApi* | [**delete_web_transactions_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/WebTransactionApi.md#delete_web_transactions_test) | **DELETE** /v7/tests/web-transactions/{testId} | Delete Web Transactions test -*WebTransactionApi* | [**get_web_transactions_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/WebTransactionApi.md#get_web_transactions_test) | **GET** /v7/tests/web-transactions/{testId} | Get Web Transactions test -*WebTransactionApi* | [**get_web_transactions_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/WebTransactionApi.md#get_web_transactions_tests) | **GET** /v7/tests/web-transactions | List Web Transactions tests -*WebTransactionApi* | [**update_web_transactions_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/WebTransactionApi.md#update_web_transactions_test) | **PUT** /v7/tests/web-transactions/{testId} | Update Web Transactions test +*APITestsApi* | [**create_api_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/APITestsApi.md#create_api_test) | **POST** /tests/api | Create API test +*APITestsApi* | [**delete_api_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/APITestsApi.md#delete_api_test) | **DELETE** /tests/api/{testId} | Delete API test +*APITestsApi* | [**get_api_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/APITestsApi.md#get_api_test) | **GET** /tests/api/{testId} | Get API test +*APITestsApi* | [**get_api_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/APITestsApi.md#get_api_tests) | **GET** /tests/api | List API tests +*APITestsApi* | [**update_api_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/APITestsApi.md#update_api_test) | **PUT** /tests/api/{testId} | Update API test +*AgentToAgentTestsApi* | [**create_agent_to_agent_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToAgentTestsApi.md#create_agent_to_agent_test) | **POST** /tests/agent-to-agent | Create Agent to Agent test +*AgentToAgentTestsApi* | [**delete_agent_to_agent_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToAgentTestsApi.md#delete_agent_to_agent_test) | **DELETE** /tests/agent-to-agent/{testId} | Delete Agent to Agent test +*AgentToAgentTestsApi* | [**get_agent_to_agent_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToAgentTestsApi.md#get_agent_to_agent_test) | **GET** /tests/agent-to-agent/{testId} | Get Agent to Agent test +*AgentToAgentTestsApi* | [**get_agent_to_agent_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToAgentTestsApi.md#get_agent_to_agent_tests) | **GET** /tests/agent-to-agent | List Agent to Agent tests +*AgentToAgentTestsApi* | [**update_agent_to_agent_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToAgentTestsApi.md#update_agent_to_agent_test) | **PUT** /tests/agent-to-agent/{testId} | Update Agent to Agent test +*AgentToServerTestsApi* | [**create_agent_to_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToServerTestsApi.md#create_agent_to_server_test) | **POST** /tests/agent-to-server | Create Agent to Server test +*AgentToServerTestsApi* | [**delete_agent_to_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToServerTestsApi.md#delete_agent_to_server_test) | **DELETE** /tests/agent-to-server/{testId} | Delete Agent to Server test +*AgentToServerTestsApi* | [**get_agent_to_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToServerTestsApi.md#get_agent_to_server_test) | **GET** /tests/agent-to-server/{testId} | Get Agent to Server test +*AgentToServerTestsApi* | [**get_agent_to_server_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToServerTestsApi.md#get_agent_to_server_tests) | **GET** /tests/agent-to-server | List Agent to Server tests +*AgentToServerTestsApi* | [**update_agent_to_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToServerTestsApi.md#update_agent_to_server_test) | **PUT** /tests/agent-to-server/{testId} | Update Agent to Server test +*BGPTestsApi* | [**create_bgp_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/BGPTestsApi.md#create_bgp_test) | **POST** /tests/bgp | Create BGP test +*BGPTestsApi* | [**delete_bgp_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/BGPTestsApi.md#delete_bgp_test) | **DELETE** /tests/bgp/{testId} | Delete BGP test +*BGPTestsApi* | [**get_bgp_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/BGPTestsApi.md#get_bgp_test) | **GET** /tests/bgp/{testId} | Get BGP test +*BGPTestsApi* | [**get_bgp_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/BGPTestsApi.md#get_bgp_tests) | **GET** /tests/bgp | List BGP tests +*BGPTestsApi* | [**update_bgp_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/BGPTestsApi.md#update_bgp_test) | **PUT** /tests/bgp/{testId} | Update BGP test +*DNSSECTestsApi* | [**create_dns_sec_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DNSSECTestsApi.md#create_dns_sec_test) | **POST** /tests/dnssec | Create DNSSEC test +*DNSSECTestsApi* | [**delete_dns_sec_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DNSSECTestsApi.md#delete_dns_sec_test) | **DELETE** /tests/dnssec/{testId} | Delete DNSSEC test +*DNSSECTestsApi* | [**get_dns_sec_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DNSSECTestsApi.md#get_dns_sec_test) | **GET** /tests/dnssec/{testId} | Get DNSSEC test +*DNSSECTestsApi* | [**get_dns_sec_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DNSSECTestsApi.md#get_dns_sec_tests) | **GET** /tests/dnssec | List DNSSEC tests +*DNSSECTestsApi* | [**update_dns_sec_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DNSSECTestsApi.md#update_dns_sec_test) | **PUT** /tests/dnssec/{testId} | Update DNSSEC test +*DNSServerTestsApi* | [**create_dns_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DNSServerTestsApi.md#create_dns_server_test) | **POST** /tests/dns-server | Create DNS Server test +*DNSServerTestsApi* | [**delete_dns_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DNSServerTestsApi.md#delete_dns_server_test) | **DELETE** /tests/dns-server/{testId} | Delete DNS Server test +*DNSServerTestsApi* | [**get_dns_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DNSServerTestsApi.md#get_dns_server_test) | **GET** /tests/dns-server/{testId} | Get DNS Server test +*DNSServerTestsApi* | [**get_dns_server_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DNSServerTestsApi.md#get_dns_server_tests) | **GET** /tests/dns-server | List DNS Server tests +*DNSServerTestsApi* | [**update_dns_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DNSServerTestsApi.md#update_dns_server_test) | **PUT** /tests/dns-server/{testId} | Update DNS Server test +*DNSTraceTestsApi* | [**create_dns_trace_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DNSTraceTestsApi.md#create_dns_trace_test) | **POST** /tests/dns-trace | Create DNS Trace test +*DNSTraceTestsApi* | [**delete_dns_trace_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DNSTraceTestsApi.md#delete_dns_trace_test) | **DELETE** /tests/dns-trace/{testId} | Delete DNS Trace test +*DNSTraceTestsApi* | [**get_dns_trace_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DNSTraceTestsApi.md#get_dns_trace_test) | **GET** /tests/dns-trace/{testId} | Get DNS Trace test +*DNSTraceTestsApi* | [**get_dns_trace_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DNSTraceTestsApi.md#get_dns_trace_tests) | **GET** /tests/dns-trace | List DNS Trace tests +*DNSTraceTestsApi* | [**update_dns_trace_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DNSTraceTestsApi.md#update_dns_trace_test) | **PUT** /tests/dns-trace/{testId} | Update DNS Trace test +*FTPServerTestsApi* | [**create_ftp_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/FTPServerTestsApi.md#create_ftp_server_test) | **POST** /tests/ftp-server | Create FTP Server test +*FTPServerTestsApi* | [**delete_ftp_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/FTPServerTestsApi.md#delete_ftp_server_test) | **DELETE** /tests/ftp-server/{testId} | Delete FTP Server test +*FTPServerTestsApi* | [**get_ftp_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/FTPServerTestsApi.md#get_ftp_server_test) | **GET** /tests/ftp-server/{testId} | Get FTP Server test +*FTPServerTestsApi* | [**get_ftp_server_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/FTPServerTestsApi.md#get_ftp_server_tests) | **GET** /tests/ftp-server | List FTP Server tests +*FTPServerTestsApi* | [**update_ftp_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/FTPServerTestsApi.md#update_ftp_server_test) | **PUT** /tests/ftp-server/{testId} | Update FTP Server test +*HTTPServerTestsApi* | [**create_http_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/HTTPServerTestsApi.md#create_http_server_test) | **POST** /tests/http-server | Create HTTP Server test +*HTTPServerTestsApi* | [**delete_http_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/HTTPServerTestsApi.md#delete_http_server_test) | **DELETE** /tests/http-server/{testId} | Delete HTTP Server test +*HTTPServerTestsApi* | [**get_http_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/HTTPServerTestsApi.md#get_http_server_test) | **GET** /tests/http-server/{testId} | Get HTTP Server test +*HTTPServerTestsApi* | [**get_http_server_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/HTTPServerTestsApi.md#get_http_server_tests) | **GET** /tests/http-server | List HTTP Server tests +*HTTPServerTestsApi* | [**update_http_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/HTTPServerTestsApi.md#update_http_server_test) | **PUT** /tests/http-server/{testId} | Update HTTP Server test +*PageLoadTestsApi* | [**create_page_load_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/PageLoadTestsApi.md#create_page_load_test) | **POST** /tests/page-load | Create Page Load test +*PageLoadTestsApi* | [**delete_page_load_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/PageLoadTestsApi.md#delete_page_load_test) | **DELETE** /tests/page-load/{testId} | Delete Page Load test +*PageLoadTestsApi* | [**get_page_load_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/PageLoadTestsApi.md#get_page_load_test) | **GET** /tests/page-load/{testId} | Get Page Load test +*PageLoadTestsApi* | [**get_page_load_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/PageLoadTestsApi.md#get_page_load_tests) | **GET** /tests/page-load | List Page Load tests +*PageLoadTestsApi* | [**update_page_load_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/PageLoadTestsApi.md#update_page_load_test) | **PUT** /tests/page-load/{testId} | Update Page Load test +*PathVisualizationInterfaceGroupsApi* | [**create_path_vis_interface_groups**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/PathVisualizationInterfaceGroupsApi.md#create_path_vis_interface_groups) | **POST** /network/path-vis/interface-groups | Create interface group for path visualization +*PathVisualizationInterfaceGroupsApi* | [**delete_path_vis_interface_group**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/PathVisualizationInterfaceGroupsApi.md#delete_path_vis_interface_group) | **DELETE** /network/path-vis/interface-groups/{interfaceGroupId} | Delete interface group +*PathVisualizationInterfaceGroupsApi* | [**get_path_vis_interface_groups**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/PathVisualizationInterfaceGroupsApi.md#get_path_vis_interface_groups) | **GET** /network/path-vis/interface-groups | List interface groups for path visualization +*PathVisualizationInterfaceGroupsApi* | [**update_path_vis_interface_group**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/PathVisualizationInterfaceGroupsApi.md#update_path_vis_interface_group) | **PUT** /network/path-vis/interface-groups/{interfaceGroupId} | Update interface group +*SIPServerTestsApi* | [**create_sip_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/SIPServerTestsApi.md#create_sip_server_test) | **POST** /tests/sip-server | Create SIP Server test +*SIPServerTestsApi* | [**delete_sip_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/SIPServerTestsApi.md#delete_sip_server_test) | **DELETE** /tests/sip-server/{testId} | Delete SIP Server test +*SIPServerTestsApi* | [**get_sip_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/SIPServerTestsApi.md#get_sip_server_test) | **GET** /tests/sip-server/{testId} | Get SIP Server test +*SIPServerTestsApi* | [**get_sip_server_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/SIPServerTestsApi.md#get_sip_server_tests) | **GET** /tests/sip-server | List SIP Server tests +*SIPServerTestsApi* | [**update_sip_server_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/SIPServerTestsApi.md#update_sip_server_test) | **PUT** /tests/sip-server/{testId} | Update SIP Server test +*TestsApi* | [**get_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/TestsApi.md#get_tests) | **GET** /tests | List configured tests +*VoiceTestsApi* | [**create_voice_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/VoiceTestsApi.md#create_voice_test) | **POST** /tests/voice | Create Voice test +*VoiceTestsApi* | [**delete_voice_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/VoiceTestsApi.md#delete_voice_test) | **DELETE** /tests/voice/{testId} | Delete Voice test +*VoiceTestsApi* | [**get_voice_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/VoiceTestsApi.md#get_voice_test) | **GET** /tests/voice/{testId} | Get Voice test +*VoiceTestsApi* | [**get_voice_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/VoiceTestsApi.md#get_voice_tests) | **GET** /tests/voice | List Voice tests +*VoiceTestsApi* | [**update_voice_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/VoiceTestsApi.md#update_voice_test) | **PUT** /tests/voice/{testId} | Update Voice test +*WebTransactionTestsApi* | [**create_web_transactions_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/WebTransactionTestsApi.md#create_web_transactions_test) | **POST** /tests/web-transactions | Create Web Transactions test +*WebTransactionTestsApi* | [**delete_web_transactions_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/WebTransactionTestsApi.md#delete_web_transactions_test) | **DELETE** /tests/web-transactions/{testId} | Delete Web Transactions test +*WebTransactionTestsApi* | [**get_web_transactions_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/WebTransactionTestsApi.md#get_web_transactions_test) | **GET** /tests/web-transactions/{testId} | Get Web Transactions test +*WebTransactionTestsApi* | [**get_web_transactions_tests**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/WebTransactionTestsApi.md#get_web_transactions_tests) | **GET** /tests/web-transactions | List Web Transactions tests +*WebTransactionTestsApi* | [**update_web_transactions_test**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/WebTransactionTestsApi.md#update_web_transactions_test) | **PUT** /tests/web-transactions/{testId} | Update Web Transactions test ## Documentation For Models - - [Agent](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/Agent.md) - [AgentBase](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentBase.md) - - [AgentRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentRequest.md) + - [AgentInterfaces](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentInterfaces.md) + - [AgentResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentResponse.md) - [AgentToAgentInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToAgentInstantTest.md) - [AgentToAgentProperties](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToAgentProperties.md) - [AgentToAgentTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToAgentTest.md) - [AgentToAgentTestProtocol](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToAgentTestProtocol.md) + - [AgentToAgentTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToAgentTestRequest.md) + - [AgentToAgentTestResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToAgentTestResponse.md) - [AgentToAgentTests](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToAgentTests.md) - [AgentToServerInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToServerInstantTest.md) - [AgentToServerProperties](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToServerProperties.md) - [AgentToServerTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToServerTest.md) + - [AgentToServerTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToServerTestRequest.md) + - [AgentToServerTestResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToServerTestResponse.md) - [AgentToServerTests](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AgentToServerTests.md) - [AlertDirection](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AlertDirection.md) - [AlertRoundsViolationMode](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/AlertRoundsViolationMode.md) @@ -199,37 +203,53 @@ Class | Method | HTTP request | Description - [ApiRequestMethod](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/ApiRequestMethod.md) - [ApiRequestVariable](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/ApiRequestVariable.md) - [ApiTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/ApiTest.md) + - [ApiTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/ApiTestRequest.md) + - [ApiTestResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/ApiTestResponse.md) - [ApiTests](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/ApiTests.md) - [BaseBgpTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/BaseBgpTest.md) - [BaseRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/BaseRequest.md) - [BaseTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/BaseTest.md) - [BgpTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/BgpTest.md) + - [BgpTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/BgpTestRequest.md) + - [BgpTestResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/BgpTestResponse.md) - [BgpTests](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/BgpTests.md) - [CloudEnterpriseAgentType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/CloudEnterpriseAgentType.md) - [DnsQueryClass](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DnsQueryClass.md) - [DnsSecInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DnsSecInstantTest.md) - [DnsSecProperties](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DnsSecProperties.md) - [DnsSecTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DnsSecTest.md) + - [DnsSecTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DnsSecTestRequest.md) + - [DnsSecTestResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DnsSecTestResponse.md) - [DnsSecTests](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DnsSecTests.md) - [DnsServerInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DnsServerInstantTest.md) - [DnsServerProperties](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DnsServerProperties.md) - [DnsServerTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DnsServerTest.md) + - [DnsServerTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DnsServerTestRequest.md) + - [DnsServerTestResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DnsServerTestResponse.md) - [DnsServerTests](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DnsServerTests.md) - [DnsServersRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DnsServersRequest.md) - [DnsTraceInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DnsTraceInstantTest.md) - [DnsTraceProperties](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DnsTraceProperties.md) - [DnsTraceTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DnsTraceTest.md) + - [DnsTraceTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DnsTraceTestRequest.md) + - [DnsTraceTestResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DnsTraceTestResponse.md) - [DnsTraceTests](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/DnsTraceTests.md) - [Error](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/Error.md) - - [Expand](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/Expand.md) + - [ExpandBgpTestOptions](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/ExpandBgpTestOptions.md) + - [ExpandTestOptions](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/ExpandTestOptions.md) - [FtpServerInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/FtpServerInstantTest.md) - [FtpServerProperties](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/FtpServerProperties.md) - [FtpServerRequestType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/FtpServerRequestType.md) - [FtpServerTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/FtpServerTest.md) + - [FtpServerTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/FtpServerTestRequest.md) + - [FtpServerTestResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/FtpServerTestResponse.md) - [FtpServerTests](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/FtpServerTests.md) + - [HttpServerBaseProperties](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/HttpServerBaseProperties.md) - [HttpServerInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/HttpServerInstantTest.md) - [HttpServerProperties](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/HttpServerProperties.md) - [HttpServerTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/HttpServerTest.md) + - [HttpServerTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/HttpServerTestRequest.md) + - [HttpServerTestResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/HttpServerTestResponse.md) - [HttpServerTests](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/HttpServerTests.md) - [InstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/InstantTest.md) - [InterfaceGroup](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/InterfaceGroup.md) @@ -238,22 +258,28 @@ Class | Method | HTTP request | Description - [Monitor](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/Monitor.md) - [MonitorType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/MonitorType.md) - [MonitorsRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/MonitorsRequest.md) + - [OAuth](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/OAuth.md) - [PageLoadInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/PageLoadInstantTest.md) - [PageLoadProperties](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/PageLoadProperties.md) - [PageLoadTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/PageLoadTest.md) + - [PageLoadTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/PageLoadTestRequest.md) + - [PageLoadTestResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/PageLoadTestResponse.md) - [PageLoadTests](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/PageLoadTests.md) + - [RequestMethod](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/RequestMethod.md) - [SelfLinks](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/SelfLinks.md) + - [SensitivityLevel](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/SensitivityLevel.md) - [Severity](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/Severity.md) - [SharedWithAccount](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/SharedWithAccount.md) - [SimpleAgent](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/SimpleAgent.md) - [SimpleTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/SimpleTest.md) - [SipServerInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/SipServerInstantTest.md) - - [SipServerInstantTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/SipServerInstantTestRequest.md) - - [SipServerInstantTestResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/SipServerInstantTestResponse.md) - [SipServerProperties](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/SipServerProperties.md) - [SipServerTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/SipServerTest.md) + - [SipServerTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/SipServerTestRequest.md) + - [SipServerTestResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/SipServerTestResponse.md) - [SipServerTests](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/SipServerTests.md) - [SipTestProtocol](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/SipTestProtocol.md) + - [TestAgentRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/TestAgentRequest.md) - [TestAuthType](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/TestAuthType.md) - [TestCustomHeaders](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/TestCustomHeaders.md) - [TestDirection](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/TestDirection.md) @@ -293,30 +319,21 @@ Class | Method | HTTP request | Description - [UnexpandedTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/UnexpandedTest.md) - [UnexpandedVoiceTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/UnexpandedVoiceTest.md) - [UnexpandedWebTransactionTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/UnexpandedWebTransactionTest.md) - - [UpdateAgentToAgentTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/UpdateAgentToAgentTest.md) - - [UpdateAgentToServerTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/UpdateAgentToServerTest.md) - - [UpdateApiTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/UpdateApiTest.md) - - [UpdateBgpTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/UpdateBgpTest.md) - [UpdateBgpTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/UpdateBgpTestRequest.md) - - [UpdateDnsSecTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/UpdateDnsSecTest.md) - - [UpdateDnsServerTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/UpdateDnsServerTest.md) - - [UpdateDnsTraceTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/UpdateDnsTraceTest.md) - - [UpdateFtpServerTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/UpdateFtpServerTest.md) - - [UpdateHttpServerTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/UpdateHttpServerTest.md) - - [UpdatePageLoadTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/UpdatePageLoadTest.md) - [UpdateSipServerTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/UpdateSipServerTest.md) - - [UpdateSipServerTest1](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/UpdateSipServerTest1.md) - - [UpdateVoiceTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/UpdateVoiceTest.md) - - [UpdateWebTransactionTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/UpdateWebTransactionTest.md) - [ValidationError](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/ValidationError.md) - [ValidationErrorItem](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/ValidationErrorItem.md) - [VoiceInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/VoiceInstantTest.md) - [VoiceProperties](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/VoiceProperties.md) - [VoiceTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/VoiceTest.md) + - [VoiceTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/VoiceTestRequest.md) + - [VoiceTestResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/VoiceTestResponse.md) - [VoiceTests](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/VoiceTests.md) - [WebTransactionInstantTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/WebTransactionInstantTest.md) - [WebTransactionProperties](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/WebTransactionProperties.md) - [WebTransactionTest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/WebTransactionTest.md) + - [WebTransactionTestRequest](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/WebTransactionTestRequest.md) + - [WebTransactionTestResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/WebTransactionTestResponse.md) - [WebTransactionTests](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-tests/docs/WebTransactionTests.md) diff --git a/thousandeyes-sdk-tests/docs/APIApi.md b/thousandeyes-sdk-tests/docs/APITestsApi.md similarity index 71% rename from thousandeyes-sdk-tests/docs/APIApi.md rename to thousandeyes-sdk-tests/docs/APITestsApi.md index 707269cd..2ddb63c2 100644 --- a/thousandeyes-sdk-tests/docs/APIApi.md +++ b/thousandeyes-sdk-tests/docs/APITestsApi.md @@ -1,18 +1,18 @@ -# thousandeyes_sdk.tests.APIApi +# thousandeyes_sdk.tests.APITestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_api_test**](APIApi.md#create_api_test) | **POST** /v7/tests/api | Create API test -[**delete_api_test**](APIApi.md#delete_api_test) | **DELETE** /v7/tests/api/{testId} | Delete API test -[**get_api_test**](APIApi.md#get_api_test) | **GET** /v7/tests/api/{testId} | Get API test -[**get_api_tests**](APIApi.md#get_api_tests) | **GET** /v7/tests/api | List API tests -[**update_api_test**](APIApi.md#update_api_test) | **PUT** /v7/tests/api/{testId} | Update API test +[**create_api_test**](APITestsApi.md#create_api_test) | **POST** /tests/api | Create API test +[**delete_api_test**](APITestsApi.md#delete_api_test) | **DELETE** /tests/api/{testId} | Delete API test +[**get_api_test**](APITestsApi.md#get_api_test) | **GET** /tests/api/{testId} | Get API test +[**get_api_tests**](APITestsApi.md#get_api_tests) | **GET** /tests/api | List API tests +[**update_api_test**](APITestsApi.md#update_api_test) | **PUT** /tests/api/{testId} | Update API test # **create_api_test** -> ApiTest create_api_test(update_api_test, aid=aid, expand=expand) +> ApiTestResponse create_api_test(api_test_request, aid=aid, expand=expand) Create API test @@ -24,16 +24,16 @@ Creates a new API test. This method requires Account Admin permissions. ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.api_test import ApiTest -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.update_api_test import UpdateApiTest +from thousandeyes_sdk.tests.models.api_test_request import ApiTestRequest +from thousandeyes_sdk.tests.models.api_test_response import ApiTestResponse +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -49,18 +49,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.APIApi(api_client) - update_api_test = thousandeyes_sdk.tests.UpdateApiTest() # UpdateApiTest | + api_instance = thousandeyes_sdk.tests.APITestsApi(api_client) + api_test_request = thousandeyes_sdk.tests.ApiTestRequest() # ApiTestRequest | 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.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Create API test - api_response = api_instance.create_api_test(update_api_test, aid=aid, expand=expand) - print("The response of APIApi->create_api_test:\n") + api_response = api_instance.create_api_test(api_test_request, aid=aid, expand=expand) + print("The response of APITestsApi->create_api_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling APIApi->create_api_test: %s\n" % e) + print("Exception when calling APITestsApi->create_api_test: %s\n" % e) ``` @@ -70,13 +70,13 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **update_api_test** | [**UpdateApiTest**](UpdateApiTest.md)| | + **api_test_request** | [**ApiTestRequest**](ApiTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**ApiTest**](ApiTest.md) +[**ApiTestResponse**](ApiTestResponse.md) ### Authorization @@ -119,10 +119,10 @@ import thousandeyes_sdk.tests from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -138,15 +138,15 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.APIApi(api_client) - test_id = '281474976710706' # str | ID of the test + api_instance = thousandeyes_sdk.tests.APITestsApi(api_client) + test_id = '202701' # str | Test ID aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) try: # Delete API test api_instance.delete_api_test(test_id, aid=aid) except Exception as e: - print("Exception when calling APIApi->delete_api_test: %s\n" % e) + print("Exception when calling APITestsApi->delete_api_test: %s\n" % e) ``` @@ -156,7 +156,7 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | + **test_id** | **str**| Test ID | **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] ### Return type @@ -188,7 +188,7 @@ 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) # **get_api_test** -> ApiTest get_api_test(test_id, aid=aid, expand=expand) +> ApiTestResponse get_api_test(test_id, aid=aid, expand=expand) Get API test @@ -200,15 +200,15 @@ Returns details for a API test configuration. Please use `expand` parameter to a ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.api_test import ApiTest -from thousandeyes_sdk.tests.models.expand import Expand +from thousandeyes_sdk.tests.models.api_test_response import ApiTestResponse +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -224,18 +224,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.APIApi(api_client) - test_id = '281474976710706' # str | ID of the test + api_instance = thousandeyes_sdk.tests.APITestsApi(api_client) + test_id = '202701' # str | Test 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) - expand = [thousandeyes_sdk.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Get API test api_response = api_instance.get_api_test(test_id, aid=aid, expand=expand) - print("The response of APIApi->get_api_test:\n") + print("The response of APITestsApi->get_api_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling APIApi->get_api_test: %s\n" % e) + print("Exception when calling APITestsApi->get_api_test: %s\n" % e) ``` @@ -245,13 +245,13 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | + **test_id** | **str**| Test 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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**ApiTest**](ApiTest.md) +[**ApiTestResponse**](ApiTestResponse.md) ### Authorization @@ -294,10 +294,10 @@ from thousandeyes_sdk.tests.models.api_tests import ApiTests from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -313,16 +313,16 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.APIApi(api_client) + api_instance = thousandeyes_sdk.tests.APITestsApi(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 API tests api_response = api_instance.get_api_tests(aid=aid) - print("The response of APIApi->get_api_tests:\n") + print("The response of APITestsApi->get_api_tests:\n") pprint(api_response) except Exception as e: - print("Exception when calling APIApi->get_api_tests: %s\n" % e) + print("Exception when calling APITestsApi->get_api_tests: %s\n" % e) ``` @@ -363,7 +363,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **update_api_test** -> ApiTest update_api_test(test_id, update_api_test, aid=aid, expand=expand) +> ApiTestResponse update_api_test(test_id, api_test_request, aid=aid, expand=expand) Update API test @@ -375,16 +375,16 @@ Updates an API test. The target test cannot be a live share or saved event. This ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.api_test import ApiTest -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.update_api_test import UpdateApiTest +from thousandeyes_sdk.tests.models.api_test_request import ApiTestRequest +from thousandeyes_sdk.tests.models.api_test_response import ApiTestResponse +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -400,19 +400,19 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.APIApi(api_client) - test_id = '281474976710706' # str | ID of the test - update_api_test = thousandeyes_sdk.tests.UpdateApiTest() # UpdateApiTest | + api_instance = thousandeyes_sdk.tests.APITestsApi(api_client) + test_id = '202701' # str | Test ID + api_test_request = thousandeyes_sdk.tests.ApiTestRequest() # ApiTestRequest | 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.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Update API test - api_response = api_instance.update_api_test(test_id, update_api_test, aid=aid, expand=expand) - print("The response of APIApi->update_api_test:\n") + api_response = api_instance.update_api_test(test_id, api_test_request, aid=aid, expand=expand) + print("The response of APITestsApi->update_api_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling APIApi->update_api_test: %s\n" % e) + print("Exception when calling APITestsApi->update_api_test: %s\n" % e) ``` @@ -422,14 +422,14 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | - **update_api_test** | [**UpdateApiTest**](UpdateApiTest.md)| | + **test_id** | **str**| Test ID | + **api_test_request** | [**ApiTestRequest**](ApiTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**ApiTest**](ApiTest.md) +[**ApiTestResponse**](ApiTestResponse.md) ### Authorization diff --git a/thousandeyes-sdk-tests/docs/AgentInterfaces.md b/thousandeyes-sdk-tests/docs/AgentInterfaces.md new file mode 100644 index 00000000..cd8e0b27 --- /dev/null +++ b/thousandeyes-sdk-tests/docs/AgentInterfaces.md @@ -0,0 +1,30 @@ +# AgentInterfaces + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ip_address** | **str** | IP address of the agent interface. | [optional] +**agent_id** | **str** | The agent ID of the enterprise agent for the test. | [optional] + +## Example + +```python +from thousandeyes_sdk.tests.models.agent_interfaces import AgentInterfaces + +# TODO update the JSON string below +json = "{}" +# create an instance of AgentInterfaces from a JSON string +agent_interfaces_instance = AgentInterfaces.from_json(json) +# print the JSON string representation of the object +print(AgentInterfaces.to_json()) + +# convert the object into a dict +agent_interfaces_dict = agent_interfaces_instance.to_dict() +# create an instance of AgentInterfaces from a dict +agent_interfaces_from_dict = AgentInterfaces.from_dict(agent_interfaces_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) + + diff --git a/thousandeyes-sdk-tests/docs/AgentRequest.md b/thousandeyes-sdk-tests/docs/AgentRequest.md deleted file mode 100644 index 04974a63..00000000 --- a/thousandeyes-sdk-tests/docs/AgentRequest.md +++ /dev/null @@ -1,30 +0,0 @@ -# AgentRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**agent_id** | **str** | Agent Id (get `agentId` from `/agents` endpoint) | -**source_ip_address** | **str** | IP address from `ipAddresses` of Agent Details for interface selection (get `ipAddresses` from `/agents` endpoint) | [optional] - -## Example - -```python -from thousandeyes_sdk.tests.models.agent_request import AgentRequest - -# TODO update the JSON string below -json = "{}" -# create an instance of AgentRequest from a JSON string -agent_request_instance = AgentRequest.from_json(json) -# print the JSON string representation of the object -print(AgentRequest.to_json()) - -# convert the object into a dict -agent_request_dict = agent_request_instance.to_dict() -# create an instance of AgentRequest from a dict -agent_request_from_dict = AgentRequest.from_dict(agent_request_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) - - diff --git a/thousandeyes-sdk-administrative/docs/Agent.md b/thousandeyes-sdk-tests/docs/AgentResponse.md similarity index 77% rename from thousandeyes-sdk-administrative/docs/Agent.md rename to thousandeyes-sdk-tests/docs/AgentResponse.md index 007342a4..cbd4b5ca 100644 --- a/thousandeyes-sdk-administrative/docs/Agent.md +++ b/thousandeyes-sdk-tests/docs/AgentResponse.md @@ -1,4 +1,4 @@ -# Agent +# AgentResponse ## Properties @@ -20,19 +20,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.administrative.models.agent import Agent +from thousandeyes_sdk.tests.models.agent_response import AgentResponse # TODO update the JSON string below json = "{}" -# create an instance of Agent from a JSON string -agent_instance = Agent.from_json(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(Agent.to_json()) +print(AgentResponse.to_json()) # convert the object into a dict -agent_dict = agent_instance.to_dict() -# create an instance of Agent from a dict -agent_from_dict = Agent.from_dict(agent_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) diff --git a/thousandeyes-sdk-tests/docs/AgentToAgentInstantTest.md b/thousandeyes-sdk-tests/docs/AgentToAgentInstantTest.md index 2567a7ac..569ef669 100644 --- a/thousandeyes-sdk-tests/docs/AgentToAgentInstantTest.md +++ b/thousandeyes-sdk-tests/docs/AgentToAgentInstantTest.md @@ -31,7 +31,6 @@ Name | Type | Description | Notes **throughput_duration** | **int** | The throughput duration. | [optional] [default to 10000] **throughput_rate** | **int** | The throughput rate, only applicable for UDP protocol. | [optional] **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-tests/docs/AgentToAgentTest.md b/thousandeyes-sdk-tests/docs/AgentToAgentTest.md index 438f354d..930d4cb9 100644 --- a/thousandeyes-sdk-tests/docs/AgentToAgentTest.md +++ b/thousandeyes-sdk-tests/docs/AgentToAgentTest.md @@ -35,7 +35,6 @@ Name | Type | Description | Notes **throughput_duration** | **int** | The throughput duration. | [optional] [default to 10000] **throughput_rate** | **int** | The throughput rate, only applicable for UDP protocol. | [optional] **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] **monitors** | [**List[Monitor]**](Monitor.md) | Contains list of enabled BGP monitors. | [optional] [readonly] diff --git a/thousandeyes-sdk-tests/docs/UpdateAgentToAgentTest.md b/thousandeyes-sdk-tests/docs/AgentToAgentTestRequest.md similarity index 84% rename from thousandeyes-sdk-tests/docs/UpdateAgentToAgentTest.md rename to thousandeyes-sdk-tests/docs/AgentToAgentTestRequest.md index 24a3da3a..bd993df1 100644 --- a/thousandeyes-sdk-tests/docs/UpdateAgentToAgentTest.md +++ b/thousandeyes-sdk-tests/docs/AgentToAgentTestRequest.md @@ -1,4 +1,4 @@ -# UpdateAgentToAgentTest +# AgentToAgentTestRequest ## Properties @@ -35,27 +35,27 @@ Name | Type | Description | Notes **throughput_duration** | **int** | The throughput duration. | [optional] [default to 10000] **throughput_rate** | **int** | The throughput rate, only applicable for UDP protocol. | [optional] **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] -**agents** | [**List[AgentRequest]**](AgentRequest.md) | | [optional] **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] **monitors** | **List[str]** | Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint) | [optional] +**agents** | [**List[TestAgentRequest]**](TestAgentRequest.md) | Contains list of Agent IDs (get `agentId` from `/agents` endpoint). | ## Example ```python -from thousandeyes_sdk.tests.models.update_agent_to_agent_test import UpdateAgentToAgentTest +from thousandeyes_sdk.tests.models.agent_to_agent_test_request import AgentToAgentTestRequest # TODO update the JSON string below json = "{}" -# create an instance of UpdateAgentToAgentTest from a JSON string -update_agent_to_agent_test_instance = UpdateAgentToAgentTest.from_json(json) +# create an instance of AgentToAgentTestRequest from a JSON string +agent_to_agent_test_request_instance = AgentToAgentTestRequest.from_json(json) # print the JSON string representation of the object -print(UpdateAgentToAgentTest.to_json()) +print(AgentToAgentTestRequest.to_json()) # convert the object into a dict -update_agent_to_agent_test_dict = update_agent_to_agent_test_instance.to_dict() -# create an instance of UpdateAgentToAgentTest from a dict -update_agent_to_agent_test_from_dict = UpdateAgentToAgentTest.from_dict(update_agent_to_agent_test_dict) +agent_to_agent_test_request_dict = agent_to_agent_test_request_instance.to_dict() +# create an instance of AgentToAgentTestRequest from a dict +agent_to_agent_test_request_from_dict = AgentToAgentTestRequest.from_dict(agent_to_agent_test_request_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) diff --git a/thousandeyes-sdk-tests/docs/AgentToAgentTestResponse.md b/thousandeyes-sdk-tests/docs/AgentToAgentTestResponse.md new file mode 100644 index 00000000..b9af60db --- /dev/null +++ b/thousandeyes-sdk-tests/docs/AgentToAgentTestResponse.md @@ -0,0 +1,62 @@ +# AgentToAgentTestResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**interval** | [**TestInterval**](TestInterval.md) | | +**alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] +**enabled** | **bool** | Test is enabled. | [optional] [default to True] +**alert_rules** | [**List[AlertRule]**](AlertRule.md) | Contains list of enabled alert rule objects. | [optional] +**created_by** | **str** | User that created the test. | [optional] [readonly] +**created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] +**description** | **str** | A description of the test. | [optional] +**live_share** | **bool** | Indicates if the test is shared with the account group. | [optional] [readonly] +**modified_by** | **str** | User that modified the test. | [optional] [readonly] +**modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] +**saved_event** | **bool** | Indicates if the test is a saved event. | [optional] [readonly] +**test_id** | **str** | Each test is assigned an unique ID; this is used to access test information and results from other endpoints. | [optional] [readonly] +**test_name** | **str** | The name of the test. Test name must be unique. | [optional] +**type** | **str** | | [optional] [readonly] +**links** | [**TestLinks**](TestLinks.md) | | [optional] +**labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] +**shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] +**direction** | [**TestDirection**](TestDirection.md) | | [optional] +**dscp** | **str** | DSCP label. | [optional] [readonly] +**dscp_id** | [**TestDscpId**](TestDscpId.md) | | [optional] +**mss** | **int** | Maximum segment size, in bytes. | [optional] +**num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] +**port** | **int** | Target port. | [optional] [default to 49153] +**protocol** | [**AgentToAgentTestProtocol**](AgentToAgentTestProtocol.md) | | [optional] +**target_agent_id** | **str** | `agentId` of the target agent for the test. | +**throughput_measurements** | **bool** | Enable or disable throughput measurements. Throughput measurements cannot be enabled when the source or target of the test is a cloud agent. | [optional] [default to False] +**throughput_duration** | **int** | The throughput duration. | [optional] [default to 10000] +**throughput_rate** | **int** | The throughput rate, only applicable for UDP protocol. | [optional] +**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] +**use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] +**monitors** | [**List[Monitor]**](Monitor.md) | Contains list of enabled BGP monitors. | [optional] [readonly] +**agents** | [**List[AgentResponse]**](AgentResponse.md) | Contains list of agents. | [optional] + +## Example + +```python +from thousandeyes_sdk.tests.models.agent_to_agent_test_response import AgentToAgentTestResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of AgentToAgentTestResponse from a JSON string +agent_to_agent_test_response_instance = AgentToAgentTestResponse.from_json(json) +# print the JSON string representation of the object +print(AgentToAgentTestResponse.to_json()) + +# convert the object into a dict +agent_to_agent_test_response_dict = agent_to_agent_test_response_instance.to_dict() +# create an instance of AgentToAgentTestResponse from a dict +agent_to_agent_test_response_from_dict = AgentToAgentTestResponse.from_dict(agent_to_agent_test_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) + + diff --git a/thousandeyes-sdk-tests/docs/AgentToAgentApi.md b/thousandeyes-sdk-tests/docs/AgentToAgentTestsApi.md similarity index 69% rename from thousandeyes-sdk-tests/docs/AgentToAgentApi.md rename to thousandeyes-sdk-tests/docs/AgentToAgentTestsApi.md index 2147f27b..178dfebe 100644 --- a/thousandeyes-sdk-tests/docs/AgentToAgentApi.md +++ b/thousandeyes-sdk-tests/docs/AgentToAgentTestsApi.md @@ -1,18 +1,18 @@ -# thousandeyes_sdk.tests.AgentToAgentApi +# thousandeyes_sdk.tests.AgentToAgentTestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_agent_to_agent_test**](AgentToAgentApi.md#create_agent_to_agent_test) | **POST** /v7/tests/agent-to-agent | Create Agent to Agent test -[**delete_agent_to_agent_test**](AgentToAgentApi.md#delete_agent_to_agent_test) | **DELETE** /v7/tests/agent-to-agent/{testId} | Delete Agent to Agent test -[**get_agent_to_agent_test**](AgentToAgentApi.md#get_agent_to_agent_test) | **GET** /v7/tests/agent-to-agent/{testId} | Get Agent to Agent test -[**get_agent_to_agent_tests**](AgentToAgentApi.md#get_agent_to_agent_tests) | **GET** /v7/tests/agent-to-agent | List Agent to Agent tests -[**update_agent_to_agent_test**](AgentToAgentApi.md#update_agent_to_agent_test) | **PUT** /v7/tests/agent-to-agent/{testId} | Update Agent to Agent test +[**create_agent_to_agent_test**](AgentToAgentTestsApi.md#create_agent_to_agent_test) | **POST** /tests/agent-to-agent | Create Agent to Agent test +[**delete_agent_to_agent_test**](AgentToAgentTestsApi.md#delete_agent_to_agent_test) | **DELETE** /tests/agent-to-agent/{testId} | Delete Agent to Agent test +[**get_agent_to_agent_test**](AgentToAgentTestsApi.md#get_agent_to_agent_test) | **GET** /tests/agent-to-agent/{testId} | Get Agent to Agent test +[**get_agent_to_agent_tests**](AgentToAgentTestsApi.md#get_agent_to_agent_tests) | **GET** /tests/agent-to-agent | List Agent to Agent tests +[**update_agent_to_agent_test**](AgentToAgentTestsApi.md#update_agent_to_agent_test) | **PUT** /tests/agent-to-agent/{testId} | Update Agent to Agent test # **create_agent_to_agent_test** -> AgentToAgentTest create_agent_to_agent_test(update_agent_to_agent_test, aid=aid, expand=expand) +> AgentToAgentTestResponse create_agent_to_agent_test(agent_to_agent_test_request, aid=aid, expand=expand) Create Agent to Agent test @@ -24,16 +24,16 @@ Creates a new Agent to Agent test. This method requires Account Admin permission ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.agent_to_agent_test import AgentToAgentTest -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.update_agent_to_agent_test import UpdateAgentToAgentTest +from thousandeyes_sdk.tests.models.agent_to_agent_test_request import AgentToAgentTestRequest +from thousandeyes_sdk.tests.models.agent_to_agent_test_response import AgentToAgentTestResponse +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -49,18 +49,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.AgentToAgentApi(api_client) - update_agent_to_agent_test = thousandeyes_sdk.tests.UpdateAgentToAgentTest() # UpdateAgentToAgentTest | + api_instance = thousandeyes_sdk.tests.AgentToAgentTestsApi(api_client) + agent_to_agent_test_request = thousandeyes_sdk.tests.AgentToAgentTestRequest() # AgentToAgentTestRequest | 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.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Create Agent to Agent test - api_response = api_instance.create_agent_to_agent_test(update_agent_to_agent_test, aid=aid, expand=expand) - print("The response of AgentToAgentApi->create_agent_to_agent_test:\n") + api_response = api_instance.create_agent_to_agent_test(agent_to_agent_test_request, aid=aid, expand=expand) + print("The response of AgentToAgentTestsApi->create_agent_to_agent_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling AgentToAgentApi->create_agent_to_agent_test: %s\n" % e) + print("Exception when calling AgentToAgentTestsApi->create_agent_to_agent_test: %s\n" % e) ``` @@ -70,13 +70,13 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **update_agent_to_agent_test** | [**UpdateAgentToAgentTest**](UpdateAgentToAgentTest.md)| | + **agent_to_agent_test_request** | [**AgentToAgentTestRequest**](AgentToAgentTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**AgentToAgentTest**](AgentToAgentTest.md) +[**AgentToAgentTestResponse**](AgentToAgentTestResponse.md) ### Authorization @@ -119,10 +119,10 @@ import thousandeyes_sdk.tests from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -138,15 +138,15 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.AgentToAgentApi(api_client) - test_id = '281474976710706' # str | ID of the test + api_instance = thousandeyes_sdk.tests.AgentToAgentTestsApi(api_client) + test_id = '202701' # str | Test ID aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) try: # Delete Agent to Agent test api_instance.delete_agent_to_agent_test(test_id, aid=aid) except Exception as e: - print("Exception when calling AgentToAgentApi->delete_agent_to_agent_test: %s\n" % e) + print("Exception when calling AgentToAgentTestsApi->delete_agent_to_agent_test: %s\n" % e) ``` @@ -156,7 +156,7 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | + **test_id** | **str**| Test ID | **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] ### Return type @@ -188,7 +188,7 @@ 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) # **get_agent_to_agent_test** -> AgentToAgentTest get_agent_to_agent_test(test_id, aid=aid, expand=expand) +> AgentToAgentTestResponse get_agent_to_agent_test(test_id, aid=aid, expand=expand) Get Agent to Agent test @@ -200,15 +200,15 @@ Returns details for a Agent to Agent test, including name, intervals, targets, a ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.agent_to_agent_test import AgentToAgentTest -from thousandeyes_sdk.tests.models.expand import Expand +from thousandeyes_sdk.tests.models.agent_to_agent_test_response import AgentToAgentTestResponse +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -224,18 +224,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.AgentToAgentApi(api_client) - test_id = '281474976710706' # str | ID of the test + api_instance = thousandeyes_sdk.tests.AgentToAgentTestsApi(api_client) + test_id = '202701' # str | Test 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) - expand = [thousandeyes_sdk.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Get Agent to Agent test api_response = api_instance.get_agent_to_agent_test(test_id, aid=aid, expand=expand) - print("The response of AgentToAgentApi->get_agent_to_agent_test:\n") + print("The response of AgentToAgentTestsApi->get_agent_to_agent_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling AgentToAgentApi->get_agent_to_agent_test: %s\n" % e) + print("Exception when calling AgentToAgentTestsApi->get_agent_to_agent_test: %s\n" % e) ``` @@ -245,13 +245,13 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | + **test_id** | **str**| Test 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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**AgentToAgentTest**](AgentToAgentTest.md) +[**AgentToAgentTestResponse**](AgentToAgentTestResponse.md) ### Authorization @@ -294,10 +294,10 @@ from thousandeyes_sdk.tests.models.agent_to_agent_tests import AgentToAgentTests from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -313,16 +313,16 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.AgentToAgentApi(api_client) + api_instance = thousandeyes_sdk.tests.AgentToAgentTestsApi(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 to Agent tests api_response = api_instance.get_agent_to_agent_tests(aid=aid) - print("The response of AgentToAgentApi->get_agent_to_agent_tests:\n") + print("The response of AgentToAgentTestsApi->get_agent_to_agent_tests:\n") pprint(api_response) except Exception as e: - print("Exception when calling AgentToAgentApi->get_agent_to_agent_tests: %s\n" % e) + print("Exception when calling AgentToAgentTestsApi->get_agent_to_agent_tests: %s\n" % e) ``` @@ -363,7 +363,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **update_agent_to_agent_test** -> AgentToAgentTest update_agent_to_agent_test(test_id, update_agent_to_agent_test, aid=aid, expand=expand) +> AgentToAgentTestResponse update_agent_to_agent_test(test_id, agent_to_agent_test_request, aid=aid, expand=expand) Update Agent to Agent test @@ -375,16 +375,16 @@ Updates a Agent to Agent test. This method requires Account Admin permissions. ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.agent_to_agent_test import AgentToAgentTest -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.update_agent_to_agent_test import UpdateAgentToAgentTest +from thousandeyes_sdk.tests.models.agent_to_agent_test_request import AgentToAgentTestRequest +from thousandeyes_sdk.tests.models.agent_to_agent_test_response import AgentToAgentTestResponse +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -400,19 +400,19 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.AgentToAgentApi(api_client) - test_id = '281474976710706' # str | ID of the test - update_agent_to_agent_test = thousandeyes_sdk.tests.UpdateAgentToAgentTest() # UpdateAgentToAgentTest | + api_instance = thousandeyes_sdk.tests.AgentToAgentTestsApi(api_client) + test_id = '202701' # str | Test ID + agent_to_agent_test_request = thousandeyes_sdk.tests.AgentToAgentTestRequest() # AgentToAgentTestRequest | 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.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Update Agent to Agent test - api_response = api_instance.update_agent_to_agent_test(test_id, update_agent_to_agent_test, aid=aid, expand=expand) - print("The response of AgentToAgentApi->update_agent_to_agent_test:\n") + api_response = api_instance.update_agent_to_agent_test(test_id, agent_to_agent_test_request, aid=aid, expand=expand) + print("The response of AgentToAgentTestsApi->update_agent_to_agent_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling AgentToAgentApi->update_agent_to_agent_test: %s\n" % e) + print("Exception when calling AgentToAgentTestsApi->update_agent_to_agent_test: %s\n" % e) ``` @@ -422,14 +422,14 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | - **update_agent_to_agent_test** | [**UpdateAgentToAgentTest**](UpdateAgentToAgentTest.md)| | + **test_id** | **str**| Test ID | + **agent_to_agent_test_request** | [**AgentToAgentTestRequest**](AgentToAgentTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**AgentToAgentTest**](AgentToAgentTest.md) +[**AgentToAgentTestResponse**](AgentToAgentTestResponse.md) ### Authorization diff --git a/thousandeyes-sdk-tests/docs/AgentToServerInstantTest.md b/thousandeyes-sdk-tests/docs/AgentToServerInstantTest.md index 7d1c6f02..866a6892 100644 --- a/thousandeyes-sdk-tests/docs/AgentToServerInstantTest.md +++ b/thousandeyes-sdk-tests/docs/AgentToServerInstantTest.md @@ -33,7 +33,6 @@ Name | Type | Description | Notes **ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] **ping_payload_size** | **int** | Payload size (not total packet size) for the end-to-end metric's probes, ping payload size allows values from 0 to 1400 bytes. When set to null, payload sizes are 0 bytes for ICMP-based tests and 1 byte for TCP-based tests. | [optional] **network_measurements** | **bool** | View packet loss in 1-second intervals. This is only available for 1-minute interval tests. Set to `true` to enable network measurements. | [optional] [default to False] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-tests/docs/AgentToServerTest.md b/thousandeyes-sdk-tests/docs/AgentToServerTest.md index 03dc88a5..d5e2e147 100644 --- a/thousandeyes-sdk-tests/docs/AgentToServerTest.md +++ b/thousandeyes-sdk-tests/docs/AgentToServerTest.md @@ -37,7 +37,6 @@ Name | Type | Description | Notes **ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] **ping_payload_size** | **int** | Payload size (not total packet size) for the end-to-end metric's probes, ping payload size allows values from 0 to 1400 bytes. When set to null, payload sizes are 0 bytes for ICMP-based tests and 1 byte for TCP-based tests. | [optional] **network_measurements** | **bool** | View packet loss in 1-second intervals. This is only available for 1-minute interval tests. Set to `true` to enable network measurements. | [optional] [default to False] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] **monitors** | [**List[Monitor]**](Monitor.md) | Contains list of enabled BGP monitors. | [optional] [readonly] diff --git a/thousandeyes-sdk-tests/docs/UpdateAgentToServerTest.md b/thousandeyes-sdk-tests/docs/AgentToServerTestRequest.md similarity index 86% rename from thousandeyes-sdk-tests/docs/UpdateAgentToServerTest.md rename to thousandeyes-sdk-tests/docs/AgentToServerTestRequest.md index f12cc9bd..174a00bf 100644 --- a/thousandeyes-sdk-tests/docs/UpdateAgentToServerTest.md +++ b/thousandeyes-sdk-tests/docs/AgentToServerTestRequest.md @@ -1,4 +1,4 @@ -# UpdateAgentToServerTest +# AgentToServerTestRequest ## Properties @@ -37,27 +37,27 @@ Name | Type | Description | Notes **ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] **ping_payload_size** | **int** | Payload size (not total packet size) for the end-to-end metric's probes, ping payload size allows values from 0 to 1400 bytes. When set to null, payload sizes are 0 bytes for ICMP-based tests and 1 byte for TCP-based tests. | [optional] **network_measurements** | **bool** | View packet loss in 1-second intervals. This is only available for 1-minute interval tests. Set to `true` to enable network measurements. | [optional] [default to False] -**agents** | [**List[AgentRequest]**](AgentRequest.md) | | [optional] **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] **monitors** | **List[str]** | Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint) | [optional] +**agents** | [**List[TestAgentRequest]**](TestAgentRequest.md) | Contains list of Agent IDs (get `agentId` from `/agents` endpoint). | ## Example ```python -from thousandeyes_sdk.tests.models.update_agent_to_server_test import UpdateAgentToServerTest +from thousandeyes_sdk.tests.models.agent_to_server_test_request import AgentToServerTestRequest # TODO update the JSON string below json = "{}" -# create an instance of UpdateAgentToServerTest from a JSON string -update_agent_to_server_test_instance = UpdateAgentToServerTest.from_json(json) +# create an instance of AgentToServerTestRequest from a JSON string +agent_to_server_test_request_instance = AgentToServerTestRequest.from_json(json) # print the JSON string representation of the object -print(UpdateAgentToServerTest.to_json()) +print(AgentToServerTestRequest.to_json()) # convert the object into a dict -update_agent_to_server_test_dict = update_agent_to_server_test_instance.to_dict() -# create an instance of UpdateAgentToServerTest from a dict -update_agent_to_server_test_from_dict = UpdateAgentToServerTest.from_dict(update_agent_to_server_test_dict) +agent_to_server_test_request_dict = agent_to_server_test_request_instance.to_dict() +# create an instance of AgentToServerTestRequest from a dict +agent_to_server_test_request_from_dict = AgentToServerTestRequest.from_dict(agent_to_server_test_request_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) diff --git a/thousandeyes-sdk-tests/docs/AgentToServerTestResponse.md b/thousandeyes-sdk-tests/docs/AgentToServerTestResponse.md new file mode 100644 index 00000000..1a0c545b --- /dev/null +++ b/thousandeyes-sdk-tests/docs/AgentToServerTestResponse.md @@ -0,0 +1,64 @@ +# AgentToServerTestResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**interval** | [**TestInterval**](TestInterval.md) | | +**alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] +**enabled** | **bool** | Test is enabled. | [optional] [default to True] +**alert_rules** | [**List[AlertRule]**](AlertRule.md) | Contains list of enabled alert rule objects. | [optional] +**created_by** | **str** | User that created the test. | [optional] [readonly] +**created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] +**description** | **str** | A description of the test. | [optional] +**live_share** | **bool** | Indicates if the test is shared with the account group. | [optional] [readonly] +**modified_by** | **str** | User that modified the test. | [optional] [readonly] +**modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] +**saved_event** | **bool** | Indicates if the test is a saved event. | [optional] [readonly] +**test_id** | **str** | Each test is assigned an unique ID; this is used to access test information and results from other endpoints. | [optional] [readonly] +**test_name** | **str** | The name of the test. Test name must be unique. | [optional] +**type** | **str** | | [optional] [readonly] +**links** | [**TestLinks**](TestLinks.md) | | [optional] +**labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] +**shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] +**bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] +**continuous_mode** | **bool** | To enable continuous monitoring, set this parameter to `true` to. When continuous monitoring is enabled, the following actions occur: * `fixedPacketRate` is enforced * `bandwidthMeasurements` are disabled * If the `protocol` is set to `tcp`, `probeMode` is set to `syn`. | [optional] +**fixed_packet_rate** | **int** | If continuousMode is `false`, set the fixedPacketRate to a value between 10-100. If `continuousMode` is `true`, set the `fixedPacketRate` to `1` | [optional] +**mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] +**num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] +**port** | **int** | Target port. | [optional] [default to 49153] +**probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] +**protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] +**server** | **str** | Target name or IP address. | +**dscp** | **str** | DSCP label. | [optional] [readonly] +**dscp_id** | [**TestDscpId**](TestDscpId.md) | | [optional] +**ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] +**ping_payload_size** | **int** | Payload size (not total packet size) for the end-to-end metric's probes, ping payload size allows values from 0 to 1400 bytes. When set to null, payload sizes are 0 bytes for ICMP-based tests and 1 byte for TCP-based tests. | [optional] +**network_measurements** | **bool** | View packet loss in 1-second intervals. This is only available for 1-minute interval tests. Set to `true` to enable network measurements. | [optional] [default to False] +**bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] +**use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] +**monitors** | [**List[Monitor]**](Monitor.md) | Contains list of enabled BGP monitors. | [optional] [readonly] +**agents** | [**List[AgentResponse]**](AgentResponse.md) | Contains list of agents. | [optional] + +## Example + +```python +from thousandeyes_sdk.tests.models.agent_to_server_test_response import AgentToServerTestResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of AgentToServerTestResponse from a JSON string +agent_to_server_test_response_instance = AgentToServerTestResponse.from_json(json) +# print the JSON string representation of the object +print(AgentToServerTestResponse.to_json()) + +# convert the object into a dict +agent_to_server_test_response_dict = agent_to_server_test_response_instance.to_dict() +# create an instance of AgentToServerTestResponse from a dict +agent_to_server_test_response_from_dict = AgentToServerTestResponse.from_dict(agent_to_server_test_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) + + diff --git a/thousandeyes-sdk-tests/docs/AgentToServerApi.md b/thousandeyes-sdk-tests/docs/AgentToServerTestsApi.md similarity index 69% rename from thousandeyes-sdk-tests/docs/AgentToServerApi.md rename to thousandeyes-sdk-tests/docs/AgentToServerTestsApi.md index d88f8b0f..bd255127 100644 --- a/thousandeyes-sdk-tests/docs/AgentToServerApi.md +++ b/thousandeyes-sdk-tests/docs/AgentToServerTestsApi.md @@ -1,18 +1,18 @@ -# thousandeyes_sdk.tests.AgentToServerApi +# thousandeyes_sdk.tests.AgentToServerTestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_agent_to_server_test**](AgentToServerApi.md#create_agent_to_server_test) | **POST** /v7/tests/agent-to-server | Create Agent to Server test -[**delete_agent_to_server_test**](AgentToServerApi.md#delete_agent_to_server_test) | **DELETE** /v7/tests/agent-to-server/{testId} | Delete Agent to Server test -[**get_agent_to_server_test**](AgentToServerApi.md#get_agent_to_server_test) | **GET** /v7/tests/agent-to-server/{testId} | Get Agent to Server test -[**get_agent_to_server_tests**](AgentToServerApi.md#get_agent_to_server_tests) | **GET** /v7/tests/agent-to-server | List Agent to Server tests -[**update_agent_to_server_test**](AgentToServerApi.md#update_agent_to_server_test) | **PUT** /v7/tests/agent-to-server/{testId} | Update Agent to Server test +[**create_agent_to_server_test**](AgentToServerTestsApi.md#create_agent_to_server_test) | **POST** /tests/agent-to-server | Create Agent to Server test +[**delete_agent_to_server_test**](AgentToServerTestsApi.md#delete_agent_to_server_test) | **DELETE** /tests/agent-to-server/{testId} | Delete Agent to Server test +[**get_agent_to_server_test**](AgentToServerTestsApi.md#get_agent_to_server_test) | **GET** /tests/agent-to-server/{testId} | Get Agent to Server test +[**get_agent_to_server_tests**](AgentToServerTestsApi.md#get_agent_to_server_tests) | **GET** /tests/agent-to-server | List Agent to Server tests +[**update_agent_to_server_test**](AgentToServerTestsApi.md#update_agent_to_server_test) | **PUT** /tests/agent-to-server/{testId} | Update Agent to Server test # **create_agent_to_server_test** -> AgentToServerTest create_agent_to_server_test(update_agent_to_server_test, aid=aid, expand=expand) +> AgentToServerTestResponse create_agent_to_server_test(agent_to_server_test_request, aid=aid, expand=expand) Create Agent to Server test @@ -24,16 +24,16 @@ Creates a new Agent to Server test. This method requires Account Admin permissio ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.agent_to_server_test import AgentToServerTest -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.update_agent_to_server_test import UpdateAgentToServerTest +from thousandeyes_sdk.tests.models.agent_to_server_test_request import AgentToServerTestRequest +from thousandeyes_sdk.tests.models.agent_to_server_test_response import AgentToServerTestResponse +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -49,18 +49,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.AgentToServerApi(api_client) - update_agent_to_server_test = thousandeyes_sdk.tests.UpdateAgentToServerTest() # UpdateAgentToServerTest | + api_instance = thousandeyes_sdk.tests.AgentToServerTestsApi(api_client) + agent_to_server_test_request = thousandeyes_sdk.tests.AgentToServerTestRequest() # AgentToServerTestRequest | 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.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Create Agent to Server test - api_response = api_instance.create_agent_to_server_test(update_agent_to_server_test, aid=aid, expand=expand) - print("The response of AgentToServerApi->create_agent_to_server_test:\n") + api_response = api_instance.create_agent_to_server_test(agent_to_server_test_request, aid=aid, expand=expand) + print("The response of AgentToServerTestsApi->create_agent_to_server_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling AgentToServerApi->create_agent_to_server_test: %s\n" % e) + print("Exception when calling AgentToServerTestsApi->create_agent_to_server_test: %s\n" % e) ``` @@ -70,13 +70,13 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **update_agent_to_server_test** | [**UpdateAgentToServerTest**](UpdateAgentToServerTest.md)| | + **agent_to_server_test_request** | [**AgentToServerTestRequest**](AgentToServerTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**AgentToServerTest**](AgentToServerTest.md) +[**AgentToServerTestResponse**](AgentToServerTestResponse.md) ### Authorization @@ -119,10 +119,10 @@ import thousandeyes_sdk.tests from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -138,15 +138,15 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.AgentToServerApi(api_client) - test_id = '281474976710706' # str | ID of the test + api_instance = thousandeyes_sdk.tests.AgentToServerTestsApi(api_client) + test_id = '202701' # str | Test ID aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) try: # Delete Agent to Server test api_instance.delete_agent_to_server_test(test_id, aid=aid) except Exception as e: - print("Exception when calling AgentToServerApi->delete_agent_to_server_test: %s\n" % e) + print("Exception when calling AgentToServerTestsApi->delete_agent_to_server_test: %s\n" % e) ``` @@ -156,7 +156,7 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | + **test_id** | **str**| Test ID | **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] ### Return type @@ -188,7 +188,7 @@ 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) # **get_agent_to_server_test** -> AgentToServerTest get_agent_to_server_test(test_id, aid=aid, expand=expand) +> AgentToServerTestResponse get_agent_to_server_test(test_id, aid=aid, expand=expand) Get Agent to Server test @@ -200,15 +200,15 @@ Returns details for a Agent to Server test, including name, intervals, targets, ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.agent_to_server_test import AgentToServerTest -from thousandeyes_sdk.tests.models.expand import Expand +from thousandeyes_sdk.tests.models.agent_to_server_test_response import AgentToServerTestResponse +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -224,18 +224,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.AgentToServerApi(api_client) - test_id = '281474976710706' # str | ID of the test + api_instance = thousandeyes_sdk.tests.AgentToServerTestsApi(api_client) + test_id = '202701' # str | Test 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) - expand = [thousandeyes_sdk.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Get Agent to Server test api_response = api_instance.get_agent_to_server_test(test_id, aid=aid, expand=expand) - print("The response of AgentToServerApi->get_agent_to_server_test:\n") + print("The response of AgentToServerTestsApi->get_agent_to_server_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling AgentToServerApi->get_agent_to_server_test: %s\n" % e) + print("Exception when calling AgentToServerTestsApi->get_agent_to_server_test: %s\n" % e) ``` @@ -245,13 +245,13 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | + **test_id** | **str**| Test 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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**AgentToServerTest**](AgentToServerTest.md) +[**AgentToServerTestResponse**](AgentToServerTestResponse.md) ### Authorization @@ -294,10 +294,10 @@ from thousandeyes_sdk.tests.models.agent_to_server_tests import AgentToServerTes from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -313,16 +313,16 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.AgentToServerApi(api_client) + api_instance = thousandeyes_sdk.tests.AgentToServerTestsApi(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 to Server tests api_response = api_instance.get_agent_to_server_tests(aid=aid) - print("The response of AgentToServerApi->get_agent_to_server_tests:\n") + print("The response of AgentToServerTestsApi->get_agent_to_server_tests:\n") pprint(api_response) except Exception as e: - print("Exception when calling AgentToServerApi->get_agent_to_server_tests: %s\n" % e) + print("Exception when calling AgentToServerTestsApi->get_agent_to_server_tests: %s\n" % e) ``` @@ -363,7 +363,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **update_agent_to_server_test** -> AgentToServerTest update_agent_to_server_test(test_id, update_agent_to_server_test, aid=aid, expand=expand) +> AgentToServerTestResponse update_agent_to_server_test(test_id, agent_to_server_test_request, aid=aid, expand=expand) Update Agent to Server test @@ -375,16 +375,16 @@ Updates an Agent to Server test. This method requires Account Admin permissions. ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.agent_to_server_test import AgentToServerTest -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.update_agent_to_server_test import UpdateAgentToServerTest +from thousandeyes_sdk.tests.models.agent_to_server_test_request import AgentToServerTestRequest +from thousandeyes_sdk.tests.models.agent_to_server_test_response import AgentToServerTestResponse +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -400,19 +400,19 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.AgentToServerApi(api_client) - test_id = '281474976710706' # str | ID of the test - update_agent_to_server_test = thousandeyes_sdk.tests.UpdateAgentToServerTest() # UpdateAgentToServerTest | + api_instance = thousandeyes_sdk.tests.AgentToServerTestsApi(api_client) + test_id = '202701' # str | Test ID + agent_to_server_test_request = thousandeyes_sdk.tests.AgentToServerTestRequest() # AgentToServerTestRequest | 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.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Update Agent to Server test - api_response = api_instance.update_agent_to_server_test(test_id, update_agent_to_server_test, aid=aid, expand=expand) - print("The response of AgentToServerApi->update_agent_to_server_test:\n") + api_response = api_instance.update_agent_to_server_test(test_id, agent_to_server_test_request, aid=aid, expand=expand) + print("The response of AgentToServerTestsApi->update_agent_to_server_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling AgentToServerApi->update_agent_to_server_test: %s\n" % e) + print("Exception when calling AgentToServerTestsApi->update_agent_to_server_test: %s\n" % e) ``` @@ -422,14 +422,14 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | - **update_agent_to_server_test** | [**UpdateAgentToServerTest**](UpdateAgentToServerTest.md)| | + **test_id** | **str**| Test ID | + **agent_to_server_test_request** | [**AgentToServerTestRequest**](AgentToServerTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**AgentToServerTest**](AgentToServerTest.md) +[**AgentToServerTestResponse**](AgentToServerTestResponse.md) ### Authorization diff --git a/thousandeyes-sdk-tests/docs/AlertRoundsViolationMode.md b/thousandeyes-sdk-tests/docs/AlertRoundsViolationMode.md index efe78921..fa049394 100644 --- a/thousandeyes-sdk-tests/docs/AlertRoundsViolationMode.md +++ b/thousandeyes-sdk-tests/docs/AlertRoundsViolationMode.md @@ -1,6 +1,6 @@ # AlertRoundsViolationMode -`exact` requires that the same agent(s) meet the threshold in consecutive rounds; default is `any` +`exact` requires the same agents to meet the threshold in consecutive rounds. `auto` is only enabled for CEA and Endpoint Scheduled test rules. The default is `any`. ## Properties diff --git a/thousandeyes-sdk-tests/docs/AlertRule.md b/thousandeyes-sdk-tests/docs/AlertRule.md index e66798cd..e8a65f4a 100644 --- a/thousandeyes-sdk-tests/docs/AlertRule.md +++ b/thousandeyes-sdk-tests/docs/AlertRule.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**rule_id** | **str** | Unique ID of the rule | [optional] [readonly] +**rule_id** | **str** | Unique ID of the rule. | [optional] [readonly] **rule_name** | **str** | Name of the alert rule | [optional] [readonly] **expression** | **str** | String expression of alert rule | [optional] [readonly] **direction** | [**AlertDirection**](AlertDirection.md) | | [optional] @@ -16,6 +16,7 @@ Name | Type | Description | Notes **rounds_violating_mode** | [**AlertRoundsViolationMode**](AlertRoundsViolationMode.md) | | [optional] **rounds_violating_out_of** | **int** | Specifies the divisor (y value) for the “X of Y times” condition. | [optional] [readonly] **rounds_violating_required** | **int** | Specifies the numerator (x value) for the “X of Y times” condition | [optional] [readonly] +**sensitivity_level** | [**SensitivityLevel**](SensitivityLevel.md) | | [optional] **severity** | [**Severity**](Severity.md) | | [optional] ## Example diff --git a/thousandeyes-sdk-tests/docs/ApiInstantTest.md b/thousandeyes-sdk-tests/docs/ApiInstantTest.md index 7dc2bf67..7706e45b 100644 --- a/thousandeyes-sdk-tests/docs/ApiInstantTest.md +++ b/thousandeyes-sdk-tests/docs/ApiInstantTest.md @@ -18,10 +18,13 @@ Name | Type | Description | Notes **links** | [**TestLinks**](TestLinks.md) | | [optional] **labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] **shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] **follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] **predefined_variables** | [**List[ApiPredefinedVariable]**](ApiPredefinedVariable.md) | | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] @@ -31,7 +34,6 @@ Name | Type | Description | Notes **target_time** | **int** | Target time for completion metric, defaults to 50% of time limit specified in seconds. (0 means default behavior) | [optional] **time_limit** | **int** | Time limit for transaction in seconds. Exceeding this limit will result in a Timeout error. | [optional] [default to 30] **url** | **str** | Target for the test. | -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] **credentials** | **List[str]** | Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint). | [optional] ## Example diff --git a/thousandeyes-sdk-tests/docs/ApiProperties.md b/thousandeyes-sdk-tests/docs/ApiProperties.md index 7b65e32a..2f8109ba 100644 --- a/thousandeyes-sdk-tests/docs/ApiProperties.md +++ b/thousandeyes-sdk-tests/docs/ApiProperties.md @@ -5,10 +5,13 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] **follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] **predefined_variables** | [**List[ApiPredefinedVariable]**](ApiPredefinedVariable.md) | | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] diff --git a/thousandeyes-sdk-tests/docs/ApiTest.md b/thousandeyes-sdk-tests/docs/ApiTest.md index 0e4e6984..1ccb0de0 100644 --- a/thousandeyes-sdk-tests/docs/ApiTest.md +++ b/thousandeyes-sdk-tests/docs/ApiTest.md @@ -22,10 +22,13 @@ Name | Type | Description | Notes **links** | [**TestLinks**](TestLinks.md) | | [optional] **labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] **shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] **follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] **predefined_variables** | [**List[ApiPredefinedVariable]**](ApiPredefinedVariable.md) | | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] @@ -35,7 +38,6 @@ Name | Type | Description | Notes **target_time** | **int** | Target time for completion metric, defaults to 50% of time limit specified in seconds. (0 means default behavior) | [optional] **time_limit** | **int** | Time limit for transaction in seconds. Exceeding this limit will result in a Timeout error. | [optional] [default to 30] **url** | **str** | Target for the test. | -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] **credentials** | **List[str]** | Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint). | [optional] **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] diff --git a/thousandeyes-sdk-tests/docs/UpdateApiTest.md b/thousandeyes-sdk-tests/docs/ApiTestRequest.md similarity index 79% rename from thousandeyes-sdk-tests/docs/UpdateApiTest.md rename to thousandeyes-sdk-tests/docs/ApiTestRequest.md index 67a149c7..8881b72a 100644 --- a/thousandeyes-sdk-tests/docs/UpdateApiTest.md +++ b/thousandeyes-sdk-tests/docs/ApiTestRequest.md @@ -1,4 +1,4 @@ -# UpdateApiTest +# ApiTestRequest ## Properties @@ -22,10 +22,13 @@ Name | Type | Description | Notes **links** | [**TestLinks**](TestLinks.md) | | [optional] **labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] **shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] **follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] **predefined_variables** | [**List[ApiPredefinedVariable]**](ApiPredefinedVariable.md) | | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] @@ -35,28 +38,28 @@ Name | Type | Description | Notes **target_time** | **int** | Target time for completion metric, defaults to 50% of time limit specified in seconds. (0 means default behavior) | [optional] **time_limit** | **int** | Time limit for transaction in seconds. Exceeding this limit will result in a Timeout error. | [optional] [default to 30] **url** | **str** | Target for the test. | -**agents** | [**List[AgentRequest]**](AgentRequest.md) | | [optional] **credentials** | **List[str]** | Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint). | [optional] **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] **monitors** | [**List[Monitor]**](Monitor.md) | Contains list of enabled BGP monitors. | [optional] [readonly] +**agents** | [**List[TestAgentRequest]**](TestAgentRequest.md) | Contains list of Agent IDs (get `agentId` from `/agents` endpoint). | ## Example ```python -from thousandeyes_sdk.tests.models.update_api_test import UpdateApiTest +from thousandeyes_sdk.tests.models.api_test_request import ApiTestRequest # TODO update the JSON string below json = "{}" -# create an instance of UpdateApiTest from a JSON string -update_api_test_instance = UpdateApiTest.from_json(json) +# create an instance of ApiTestRequest from a JSON string +api_test_request_instance = ApiTestRequest.from_json(json) # print the JSON string representation of the object -print(UpdateApiTest.to_json()) +print(ApiTestRequest.to_json()) # convert the object into a dict -update_api_test_dict = update_api_test_instance.to_dict() -# create an instance of UpdateApiTest from a dict -update_api_test_from_dict = UpdateApiTest.from_dict(update_api_test_dict) +api_test_request_dict = api_test_request_instance.to_dict() +# create an instance of ApiTestRequest from a dict +api_test_request_from_dict = ApiTestRequest.from_dict(api_test_request_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) diff --git a/thousandeyes-sdk-tests/docs/ApiTestResponse.md b/thousandeyes-sdk-tests/docs/ApiTestResponse.md new file mode 100644 index 00000000..04798730 --- /dev/null +++ b/thousandeyes-sdk-tests/docs/ApiTestResponse.md @@ -0,0 +1,66 @@ +# ApiTestResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**interval** | [**TestInterval**](TestInterval.md) | | +**alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] +**enabled** | **bool** | Test is enabled. | [optional] [default to True] +**alert_rules** | [**List[AlertRule]**](AlertRule.md) | Contains list of enabled alert rule objects. | [optional] +**created_by** | **str** | User that created the test. | [optional] [readonly] +**created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] +**description** | **str** | A description of the test. | [optional] +**live_share** | **bool** | Indicates if the test is shared with the account group. | [optional] [readonly] +**modified_by** | **str** | User that modified the test. | [optional] [readonly] +**modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] +**saved_event** | **bool** | Indicates if the test is a saved event. | [optional] [readonly] +**test_id** | **str** | Each test is assigned an unique ID; this is used to access test information and results from other endpoints. | [optional] [readonly] +**test_name** | **str** | The name of the test. Test name must be unique. | [optional] +**type** | **str** | | [optional] [readonly] +**links** | [**TestLinks**](TestLinks.md) | | [optional] +**labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] +**shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] +**network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] +**num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] +**path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] +**predefined_variables** | [**List[ApiPredefinedVariable]**](ApiPredefinedVariable.md) | | [optional] +**probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] +**protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] +**requests** | [**List[ApiRequest]**](ApiRequest.md) | | +**ssl_version_id** | [**TestSslVersionId**](TestSslVersionId.md) | | [optional] +**target_time** | **int** | Target time for completion metric, defaults to 50% of time limit specified in seconds. (0 means default behavior) | [optional] +**time_limit** | **int** | Time limit for transaction in seconds. Exceeding this limit will result in a Timeout error. | [optional] [default to 30] +**url** | **str** | Target for the test. | +**credentials** | **List[str]** | Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint). | [optional] +**bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] +**use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] +**monitors** | [**List[Monitor]**](Monitor.md) | Contains list of enabled BGP monitors. | [optional] [readonly] +**agents** | [**List[AgentResponse]**](AgentResponse.md) | Contains list of agents. | [optional] + +## Example + +```python +from thousandeyes_sdk.tests.models.api_test_response import ApiTestResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of ApiTestResponse from a JSON string +api_test_response_instance = ApiTestResponse.from_json(json) +# print the JSON string representation of the object +print(ApiTestResponse.to_json()) + +# convert the object into a dict +api_test_response_dict = api_test_response_instance.to_dict() +# create an instance of ApiTestResponse from a dict +api_test_response_from_dict = ApiTestResponse.from_dict(api_test_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) + + diff --git a/thousandeyes-sdk-tests/docs/BGPApi.md b/thousandeyes-sdk-tests/docs/BGPTestsApi.md similarity index 73% rename from thousandeyes-sdk-tests/docs/BGPApi.md rename to thousandeyes-sdk-tests/docs/BGPTestsApi.md index 3077da0a..427b498b 100644 --- a/thousandeyes-sdk-tests/docs/BGPApi.md +++ b/thousandeyes-sdk-tests/docs/BGPTestsApi.md @@ -1,18 +1,18 @@ -# thousandeyes_sdk.tests.BGPApi +# thousandeyes_sdk.tests.BGPTestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_bgp_test**](BGPApi.md#create_bgp_test) | **POST** /v7/tests/bgp | Create BGP test -[**delete_bgp_test**](BGPApi.md#delete_bgp_test) | **DELETE** /v7/tests/bgp/{testId} | Delete BGP test -[**get_bgp_test**](BGPApi.md#get_bgp_test) | **GET** /v7/tests/bgp/{testId} | Get BGP test -[**get_bgp_tests**](BGPApi.md#get_bgp_tests) | **GET** /v7/tests/bgp | List BGP tests -[**update_bgp_test**](BGPApi.md#update_bgp_test) | **PUT** /v7/tests/bgp/{testId} | Update BGP test +[**create_bgp_test**](BGPTestsApi.md#create_bgp_test) | **POST** /tests/bgp | Create BGP test +[**delete_bgp_test**](BGPTestsApi.md#delete_bgp_test) | **DELETE** /tests/bgp/{testId} | Delete BGP test +[**get_bgp_test**](BGPTestsApi.md#get_bgp_test) | **GET** /tests/bgp/{testId} | Get BGP test +[**get_bgp_tests**](BGPTestsApi.md#get_bgp_tests) | **GET** /tests/bgp | List BGP tests +[**update_bgp_test**](BGPTestsApi.md#update_bgp_test) | **PUT** /tests/bgp/{testId} | Update BGP test # **create_bgp_test** -> BgpTest create_bgp_test(update_bgp_test, aid=aid, expand=expand) +> BgpTestResponse create_bgp_test(bgp_test_request, aid=aid, expand=expand) Create BGP test @@ -24,16 +24,16 @@ Creates a new BGP test. This method requires Account Admin permissions. ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.bgp_test import BgpTest -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.update_bgp_test import UpdateBgpTest +from thousandeyes_sdk.tests.models.bgp_test_request import BgpTestRequest +from thousandeyes_sdk.tests.models.bgp_test_response import BgpTestResponse +from thousandeyes_sdk.tests.models.expand_bgp_test_options import ExpandBgpTestOptions from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -49,18 +49,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.BGPApi(api_client) - update_bgp_test = thousandeyes_sdk.tests.UpdateBgpTest() # UpdateBgpTest | + api_instance = thousandeyes_sdk.tests.BGPTestsApi(api_client) + bgp_test_request = thousandeyes_sdk.tests.BgpTestRequest() # BgpTestRequest | 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.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandBgpTestOptions()] # List[ExpandBgpTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion takes place if the query parameter is not present. To expand the `monitors` sub-resource, pass the `?expand=monitor` query. (optional) try: # Create BGP test - api_response = api_instance.create_bgp_test(update_bgp_test, aid=aid, expand=expand) - print("The response of BGPApi->create_bgp_test:\n") + api_response = api_instance.create_bgp_test(bgp_test_request, aid=aid, expand=expand) + print("The response of BGPTestsApi->create_bgp_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling BGPApi->create_bgp_test: %s\n" % e) + print("Exception when calling BGPTestsApi->create_bgp_test: %s\n" % e) ``` @@ -70,13 +70,13 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **update_bgp_test** | [**UpdateBgpTest**](UpdateBgpTest.md)| | + **bgp_test_request** | [**BgpTestRequest**](BgpTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandBgpTestOptions]**](ExpandBgpTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion takes place if the query parameter is not present. To expand the `monitors` sub-resource, pass the `?expand=monitor` query. | [optional] ### Return type -[**BgpTest**](BgpTest.md) +[**BgpTestResponse**](BgpTestResponse.md) ### Authorization @@ -119,10 +119,10 @@ import thousandeyes_sdk.tests from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -138,15 +138,15 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.BGPApi(api_client) - test_id = '281474976710706' # str | ID of the test + api_instance = thousandeyes_sdk.tests.BGPTestsApi(api_client) + test_id = '202701' # str | Test ID aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) try: # Delete BGP test api_instance.delete_bgp_test(test_id, aid=aid) except Exception as e: - print("Exception when calling BGPApi->delete_bgp_test: %s\n" % e) + print("Exception when calling BGPTestsApi->delete_bgp_test: %s\n" % e) ``` @@ -156,7 +156,7 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | + **test_id** | **str**| Test ID | **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] ### Return type @@ -188,7 +188,7 @@ 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) # **get_bgp_test** -> BgpTest get_bgp_test(test_id, aid=aid, expand=expand) +> BgpTestResponse get_bgp_test(test_id, aid=aid, expand=expand) Get BGP test @@ -200,15 +200,15 @@ Returns details for a BGP test, including name, intervals, targets, alert rules ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.bgp_test import BgpTest -from thousandeyes_sdk.tests.models.expand import Expand +from thousandeyes_sdk.tests.models.bgp_test_response import BgpTestResponse +from thousandeyes_sdk.tests.models.expand_bgp_test_options import ExpandBgpTestOptions from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -224,18 +224,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.BGPApi(api_client) - test_id = '281474976710706' # str | ID of the test + api_instance = thousandeyes_sdk.tests.BGPTestsApi(api_client) + test_id = '202701' # str | Test 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) - expand = [thousandeyes_sdk.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandBgpTestOptions()] # List[ExpandBgpTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion takes place if the query parameter is not present. To expand the `monitors` sub-resource, pass the `?expand=monitor` query. (optional) try: # Get BGP test api_response = api_instance.get_bgp_test(test_id, aid=aid, expand=expand) - print("The response of BGPApi->get_bgp_test:\n") + print("The response of BGPTestsApi->get_bgp_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling BGPApi->get_bgp_test: %s\n" % e) + print("Exception when calling BGPTestsApi->get_bgp_test: %s\n" % e) ``` @@ -245,13 +245,13 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | + **test_id** | **str**| Test 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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandBgpTestOptions]**](ExpandBgpTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion takes place if the query parameter is not present. To expand the `monitors` sub-resource, pass the `?expand=monitor` query. | [optional] ### Return type -[**BgpTest**](BgpTest.md) +[**BgpTestResponse**](BgpTestResponse.md) ### Authorization @@ -294,10 +294,10 @@ from thousandeyes_sdk.tests.models.bgp_tests import BgpTests from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -313,16 +313,16 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.BGPApi(api_client) + api_instance = thousandeyes_sdk.tests.BGPTestsApi(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 tests api_response = api_instance.get_bgp_tests(aid=aid) - print("The response of BGPApi->get_bgp_tests:\n") + print("The response of BGPTestsApi->get_bgp_tests:\n") pprint(api_response) except Exception as e: - print("Exception when calling BGPApi->get_bgp_tests: %s\n" % e) + print("Exception when calling BGPTestsApi->get_bgp_tests: %s\n" % e) ``` @@ -363,7 +363,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **update_bgp_test** -> BgpTest update_bgp_test(test_id, update_bgp_test_request, aid=aid, expand=expand) +> BgpTestResponse update_bgp_test(test_id, update_bgp_test_request, aid=aid, expand=expand) Update BGP test @@ -375,16 +375,16 @@ Updates a BGP test. This method requires Account Admin permissions. The target t ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.bgp_test import BgpTest -from thousandeyes_sdk.tests.models.expand import Expand +from thousandeyes_sdk.tests.models.bgp_test_response import BgpTestResponse +from thousandeyes_sdk.tests.models.expand_bgp_test_options import ExpandBgpTestOptions from thousandeyes_sdk.tests.models.update_bgp_test_request import UpdateBgpTestRequest from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -400,19 +400,19 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.BGPApi(api_client) - test_id = '281474976710706' # str | ID of the test + api_instance = thousandeyes_sdk.tests.BGPTestsApi(api_client) + test_id = '202701' # str | Test ID update_bgp_test_request = thousandeyes_sdk.tests.UpdateBgpTestRequest() # UpdateBgpTestRequest | 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.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandBgpTestOptions()] # List[ExpandBgpTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion takes place if the query parameter is not present. To expand the `monitors` sub-resource, pass the `?expand=monitor` query. (optional) try: # Update BGP test api_response = api_instance.update_bgp_test(test_id, update_bgp_test_request, aid=aid, expand=expand) - print("The response of BGPApi->update_bgp_test:\n") + print("The response of BGPTestsApi->update_bgp_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling BGPApi->update_bgp_test: %s\n" % e) + print("Exception when calling BGPTestsApi->update_bgp_test: %s\n" % e) ``` @@ -422,14 +422,14 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | + **test_id** | **str**| Test ID | **update_bgp_test_request** | [**UpdateBgpTestRequest**](UpdateBgpTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandBgpTestOptions]**](ExpandBgpTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion takes place if the query parameter is not present. To expand the `monitors` sub-resource, pass the `?expand=monitor` query. | [optional] ### Return type -[**BgpTest**](BgpTest.md) +[**BgpTestResponse**](BgpTestResponse.md) ### Authorization diff --git a/thousandeyes-sdk-tests/docs/UpdateBgpTest.md b/thousandeyes-sdk-tests/docs/BgpTestRequest.md similarity index 86% rename from thousandeyes-sdk-tests/docs/UpdateBgpTest.md rename to thousandeyes-sdk-tests/docs/BgpTestRequest.md index 8ac44e5c..0c0620b5 100644 --- a/thousandeyes-sdk-tests/docs/UpdateBgpTest.md +++ b/thousandeyes-sdk-tests/docs/BgpTestRequest.md @@ -1,4 +1,4 @@ -# UpdateBgpTest +# BgpTestRequest ## Properties @@ -29,19 +29,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.tests.models.update_bgp_test import UpdateBgpTest +from thousandeyes_sdk.tests.models.bgp_test_request import BgpTestRequest # TODO update the JSON string below json = "{}" -# create an instance of UpdateBgpTest from a JSON string -update_bgp_test_instance = UpdateBgpTest.from_json(json) +# create an instance of BgpTestRequest from a JSON string +bgp_test_request_instance = BgpTestRequest.from_json(json) # print the JSON string representation of the object -print(UpdateBgpTest.to_json()) +print(BgpTestRequest.to_json()) # convert the object into a dict -update_bgp_test_dict = update_bgp_test_instance.to_dict() -# create an instance of UpdateBgpTest from a dict -update_bgp_test_from_dict = UpdateBgpTest.from_dict(update_bgp_test_dict) +bgp_test_request_dict = bgp_test_request_instance.to_dict() +# create an instance of BgpTestRequest from a dict +bgp_test_request_from_dict = BgpTestRequest.from_dict(bgp_test_request_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) diff --git a/thousandeyes-sdk-tests/docs/BgpTestResponse.md b/thousandeyes-sdk-tests/docs/BgpTestResponse.md new file mode 100644 index 00000000..0bb2c9c1 --- /dev/null +++ b/thousandeyes-sdk-tests/docs/BgpTestResponse.md @@ -0,0 +1,48 @@ +# BgpTestResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**created_by** | **str** | User that created the test. | [optional] [readonly] +**created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] +**description** | **str** | A description of the test. | [optional] +**live_share** | **bool** | Indicates if the test is shared with the account group. | [optional] [readonly] +**modified_by** | **str** | User that modified the test. | [optional] [readonly] +**modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] +**saved_event** | **bool** | Indicates if the test is a saved event. | [optional] [readonly] +**test_id** | **str** | Each test is assigned an unique ID; this is used to access test information and results from other endpoints. | [optional] [readonly] +**test_name** | **str** | The name of the test. Test name must be unique. | [optional] +**type** | **str** | | [optional] [readonly] +**links** | [**TestLinks**](TestLinks.md) | | [optional] +**labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] +**shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] +**enabled** | **bool** | Test is enabled. | [optional] [default to True] +**monitors** | [**List[Monitor]**](Monitor.md) | Contains list of enabled BGP monitors. | [optional] [readonly] +**include_covered_prefixes** | **bool** | Indicate if queries for subprefixes detected under this prefix should included. | [optional] +**use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] +**alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] +**alert_rules** | [**List[AlertRule]**](AlertRule.md) | A list of enabled alert rule objects. | [optional] +**prefix** | **str** | a.b.c.d is a network address, with the prefix length defined as e. Prefixes can be any length from 8 to 24. | + +## Example + +```python +from thousandeyes_sdk.tests.models.bgp_test_response import BgpTestResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of BgpTestResponse from a JSON string +bgp_test_response_instance = BgpTestResponse.from_json(json) +# print the JSON string representation of the object +print(BgpTestResponse.to_json()) + +# convert the object into a dict +bgp_test_response_dict = bgp_test_response_instance.to_dict() +# create an instance of BgpTestResponse from a dict +bgp_test_response_from_dict = BgpTestResponse.from_dict(bgp_test_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) + + diff --git a/thousandeyes-sdk-tests/docs/DNSSECApi.md b/thousandeyes-sdk-tests/docs/DNSSECTestsApi.md similarity index 71% rename from thousandeyes-sdk-tests/docs/DNSSECApi.md rename to thousandeyes-sdk-tests/docs/DNSSECTestsApi.md index 85ada794..b7e88ab5 100644 --- a/thousandeyes-sdk-tests/docs/DNSSECApi.md +++ b/thousandeyes-sdk-tests/docs/DNSSECTestsApi.md @@ -1,18 +1,18 @@ -# thousandeyes_sdk.tests.DNSSECApi +# thousandeyes_sdk.tests.DNSSECTestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_dns_sec_test**](DNSSECApi.md#create_dns_sec_test) | **POST** /v7/tests/dnssec | Create DNSSEC test -[**delete_dns_sec_test**](DNSSECApi.md#delete_dns_sec_test) | **DELETE** /v7/tests/dnssec/{testId} | Delete DNSSEC test -[**get_dns_sec_test**](DNSSECApi.md#get_dns_sec_test) | **GET** /v7/tests/dnssec/{testId} | Get DNSSEC test -[**get_dns_sec_tests**](DNSSECApi.md#get_dns_sec_tests) | **GET** /v7/tests/dnssec | List DNSSEC tests -[**update_dns_sec_test**](DNSSECApi.md#update_dns_sec_test) | **PUT** /v7/tests/dnssec/{testId} | Update DNSSEC test +[**create_dns_sec_test**](DNSSECTestsApi.md#create_dns_sec_test) | **POST** /tests/dnssec | Create DNSSEC test +[**delete_dns_sec_test**](DNSSECTestsApi.md#delete_dns_sec_test) | **DELETE** /tests/dnssec/{testId} | Delete DNSSEC test +[**get_dns_sec_test**](DNSSECTestsApi.md#get_dns_sec_test) | **GET** /tests/dnssec/{testId} | Get DNSSEC test +[**get_dns_sec_tests**](DNSSECTestsApi.md#get_dns_sec_tests) | **GET** /tests/dnssec | List DNSSEC tests +[**update_dns_sec_test**](DNSSECTestsApi.md#update_dns_sec_test) | **PUT** /tests/dnssec/{testId} | Update DNSSEC test # **create_dns_sec_test** -> DnsSecTest create_dns_sec_test(update_dns_sec_test, aid=aid, expand=expand) +> DnsSecTestResponse create_dns_sec_test(dns_sec_test_request, aid=aid, expand=expand) Create DNSSEC test @@ -24,16 +24,16 @@ Creates a new DNSSEC test. This method requires Account Admin permissions. ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.dns_sec_test import DnsSecTest -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.update_dns_sec_test import UpdateDnsSecTest +from thousandeyes_sdk.tests.models.dns_sec_test_request import DnsSecTestRequest +from thousandeyes_sdk.tests.models.dns_sec_test_response import DnsSecTestResponse +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -49,18 +49,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.DNSSECApi(api_client) - update_dns_sec_test = thousandeyes_sdk.tests.UpdateDnsSecTest() # UpdateDnsSecTest | + api_instance = thousandeyes_sdk.tests.DNSSECTestsApi(api_client) + dns_sec_test_request = thousandeyes_sdk.tests.DnsSecTestRequest() # DnsSecTestRequest | 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.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Create DNSSEC test - api_response = api_instance.create_dns_sec_test(update_dns_sec_test, aid=aid, expand=expand) - print("The response of DNSSECApi->create_dns_sec_test:\n") + api_response = api_instance.create_dns_sec_test(dns_sec_test_request, aid=aid, expand=expand) + print("The response of DNSSECTestsApi->create_dns_sec_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling DNSSECApi->create_dns_sec_test: %s\n" % e) + print("Exception when calling DNSSECTestsApi->create_dns_sec_test: %s\n" % e) ``` @@ -70,13 +70,13 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **update_dns_sec_test** | [**UpdateDnsSecTest**](UpdateDnsSecTest.md)| | + **dns_sec_test_request** | [**DnsSecTestRequest**](DnsSecTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**DnsSecTest**](DnsSecTest.md) +[**DnsSecTestResponse**](DnsSecTestResponse.md) ### Authorization @@ -119,10 +119,10 @@ import thousandeyes_sdk.tests from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -138,15 +138,15 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.DNSSECApi(api_client) - test_id = '281474976710706' # str | ID of the test + api_instance = thousandeyes_sdk.tests.DNSSECTestsApi(api_client) + test_id = '202701' # str | Test ID aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) try: # Delete DNSSEC test api_instance.delete_dns_sec_test(test_id, aid=aid) except Exception as e: - print("Exception when calling DNSSECApi->delete_dns_sec_test: %s\n" % e) + print("Exception when calling DNSSECTestsApi->delete_dns_sec_test: %s\n" % e) ``` @@ -156,7 +156,7 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | + **test_id** | **str**| Test ID | **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] ### Return type @@ -188,7 +188,7 @@ 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) # **get_dns_sec_test** -> DnsSecTest get_dns_sec_test(test_id, aid=aid, expand=expand) +> DnsSecTestResponse get_dns_sec_test(test_id, aid=aid, expand=expand) Get DNSSEC test @@ -200,15 +200,15 @@ Returns details for a DNSSEC test, including name, intervals, targets, alert rul ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.dns_sec_test import DnsSecTest -from thousandeyes_sdk.tests.models.expand import Expand +from thousandeyes_sdk.tests.models.dns_sec_test_response import DnsSecTestResponse +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -224,18 +224,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.DNSSECApi(api_client) - test_id = '281474976710706' # str | ID of the test + api_instance = thousandeyes_sdk.tests.DNSSECTestsApi(api_client) + test_id = '202701' # str | Test 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) - expand = [thousandeyes_sdk.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Get DNSSEC test api_response = api_instance.get_dns_sec_test(test_id, aid=aid, expand=expand) - print("The response of DNSSECApi->get_dns_sec_test:\n") + print("The response of DNSSECTestsApi->get_dns_sec_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling DNSSECApi->get_dns_sec_test: %s\n" % e) + print("Exception when calling DNSSECTestsApi->get_dns_sec_test: %s\n" % e) ``` @@ -245,13 +245,13 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | + **test_id** | **str**| Test 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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**DnsSecTest**](DnsSecTest.md) +[**DnsSecTestResponse**](DnsSecTestResponse.md) ### Authorization @@ -294,10 +294,10 @@ from thousandeyes_sdk.tests.models.dns_sec_tests import DnsSecTests from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -313,16 +313,16 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.DNSSECApi(api_client) + api_instance = thousandeyes_sdk.tests.DNSSECTestsApi(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 DNSSEC tests api_response = api_instance.get_dns_sec_tests(aid=aid) - print("The response of DNSSECApi->get_dns_sec_tests:\n") + print("The response of DNSSECTestsApi->get_dns_sec_tests:\n") pprint(api_response) except Exception as e: - print("Exception when calling DNSSECApi->get_dns_sec_tests: %s\n" % e) + print("Exception when calling DNSSECTestsApi->get_dns_sec_tests: %s\n" % e) ``` @@ -363,7 +363,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **update_dns_sec_test** -> DnsSecTest update_dns_sec_test(test_id, update_dns_sec_test, aid=aid, expand=expand) +> DnsSecTestResponse update_dns_sec_test(test_id, dns_sec_test_request, aid=aid, expand=expand) Update DNSSEC test @@ -375,16 +375,16 @@ Updates a DNSSEC test. The target test cannot be a live share or saved event. Th ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.dns_sec_test import DnsSecTest -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.update_dns_sec_test import UpdateDnsSecTest +from thousandeyes_sdk.tests.models.dns_sec_test_request import DnsSecTestRequest +from thousandeyes_sdk.tests.models.dns_sec_test_response import DnsSecTestResponse +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -400,19 +400,19 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.DNSSECApi(api_client) - test_id = '281474976710706' # str | ID of the test - update_dns_sec_test = thousandeyes_sdk.tests.UpdateDnsSecTest() # UpdateDnsSecTest | + api_instance = thousandeyes_sdk.tests.DNSSECTestsApi(api_client) + test_id = '202701' # str | Test ID + dns_sec_test_request = thousandeyes_sdk.tests.DnsSecTestRequest() # DnsSecTestRequest | 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.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Update DNSSEC test - api_response = api_instance.update_dns_sec_test(test_id, update_dns_sec_test, aid=aid, expand=expand) - print("The response of DNSSECApi->update_dns_sec_test:\n") + api_response = api_instance.update_dns_sec_test(test_id, dns_sec_test_request, aid=aid, expand=expand) + print("The response of DNSSECTestsApi->update_dns_sec_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling DNSSECApi->update_dns_sec_test: %s\n" % e) + print("Exception when calling DNSSECTestsApi->update_dns_sec_test: %s\n" % e) ``` @@ -422,14 +422,14 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | - **update_dns_sec_test** | [**UpdateDnsSecTest**](UpdateDnsSecTest.md)| | + **test_id** | **str**| Test ID | + **dns_sec_test_request** | [**DnsSecTestRequest**](DnsSecTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**DnsSecTest**](DnsSecTest.md) +[**DnsSecTestResponse**](DnsSecTestResponse.md) ### Authorization diff --git a/thousandeyes-sdk-tests/docs/DNSServerApi.md b/thousandeyes-sdk-tests/docs/DNSServerTestsApi.md similarity index 70% rename from thousandeyes-sdk-tests/docs/DNSServerApi.md rename to thousandeyes-sdk-tests/docs/DNSServerTestsApi.md index e7330a52..ed4470a4 100644 --- a/thousandeyes-sdk-tests/docs/DNSServerApi.md +++ b/thousandeyes-sdk-tests/docs/DNSServerTestsApi.md @@ -1,18 +1,18 @@ -# thousandeyes_sdk.tests.DNSServerApi +# thousandeyes_sdk.tests.DNSServerTestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_dns_server_test**](DNSServerApi.md#create_dns_server_test) | **POST** /v7/tests/dns-server | Create DNS Server test -[**delete_dns_server_test**](DNSServerApi.md#delete_dns_server_test) | **DELETE** /v7/tests/dns-server/{testId} | Delete DNS Server test -[**get_dns_server_test**](DNSServerApi.md#get_dns_server_test) | **GET** /v7/tests/dns-server/{testId} | Get DNS Server test -[**get_dns_server_tests**](DNSServerApi.md#get_dns_server_tests) | **GET** /v7/tests/dns-server | List DNS Server tests -[**update_dns_server_test**](DNSServerApi.md#update_dns_server_test) | **PUT** /v7/tests/dns-server/{testId} | Update DNS Server test +[**create_dns_server_test**](DNSServerTestsApi.md#create_dns_server_test) | **POST** /tests/dns-server | Create DNS Server test +[**delete_dns_server_test**](DNSServerTestsApi.md#delete_dns_server_test) | **DELETE** /tests/dns-server/{testId} | Delete DNS Server test +[**get_dns_server_test**](DNSServerTestsApi.md#get_dns_server_test) | **GET** /tests/dns-server/{testId} | Get DNS Server test +[**get_dns_server_tests**](DNSServerTestsApi.md#get_dns_server_tests) | **GET** /tests/dns-server | List DNS Server tests +[**update_dns_server_test**](DNSServerTestsApi.md#update_dns_server_test) | **PUT** /tests/dns-server/{testId} | Update DNS Server test # **create_dns_server_test** -> DnsServerTest create_dns_server_test(update_dns_server_test, aid=aid, expand=expand) +> DnsServerTestResponse create_dns_server_test(dns_server_test_request, aid=aid, expand=expand) Create DNS Server test @@ -24,16 +24,16 @@ Creates a new DNS Server test. This method requires Account Admin permissions. ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.dns_server_test import DnsServerTest -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.update_dns_server_test import UpdateDnsServerTest +from thousandeyes_sdk.tests.models.dns_server_test_request import DnsServerTestRequest +from thousandeyes_sdk.tests.models.dns_server_test_response import DnsServerTestResponse +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -49,18 +49,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.DNSServerApi(api_client) - update_dns_server_test = thousandeyes_sdk.tests.UpdateDnsServerTest() # UpdateDnsServerTest | + api_instance = thousandeyes_sdk.tests.DNSServerTestsApi(api_client) + dns_server_test_request = thousandeyes_sdk.tests.DnsServerTestRequest() # DnsServerTestRequest | 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.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Create DNS Server test - api_response = api_instance.create_dns_server_test(update_dns_server_test, aid=aid, expand=expand) - print("The response of DNSServerApi->create_dns_server_test:\n") + api_response = api_instance.create_dns_server_test(dns_server_test_request, aid=aid, expand=expand) + print("The response of DNSServerTestsApi->create_dns_server_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling DNSServerApi->create_dns_server_test: %s\n" % e) + print("Exception when calling DNSServerTestsApi->create_dns_server_test: %s\n" % e) ``` @@ -70,13 +70,13 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **update_dns_server_test** | [**UpdateDnsServerTest**](UpdateDnsServerTest.md)| | + **dns_server_test_request** | [**DnsServerTestRequest**](DnsServerTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**DnsServerTest**](DnsServerTest.md) +[**DnsServerTestResponse**](DnsServerTestResponse.md) ### Authorization @@ -119,10 +119,10 @@ import thousandeyes_sdk.tests from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -138,15 +138,15 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.DNSServerApi(api_client) - test_id = '281474976710706' # str | ID of the test + api_instance = thousandeyes_sdk.tests.DNSServerTestsApi(api_client) + test_id = '202701' # str | Test ID aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) try: # Delete DNS Server test api_instance.delete_dns_server_test(test_id, aid=aid) except Exception as e: - print("Exception when calling DNSServerApi->delete_dns_server_test: %s\n" % e) + print("Exception when calling DNSServerTestsApi->delete_dns_server_test: %s\n" % e) ``` @@ -156,7 +156,7 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | + **test_id** | **str**| Test ID | **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] ### Return type @@ -188,7 +188,7 @@ 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) # **get_dns_server_test** -> DnsServerTest get_dns_server_test(test_id, aid=aid, expand=expand) +> DnsServerTestResponse get_dns_server_test(test_id, aid=aid, expand=expand) Get DNS Server test @@ -200,15 +200,15 @@ Returns details for a DNS Server test, including name, intervals, targets, alert ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.dns_server_test import DnsServerTest -from thousandeyes_sdk.tests.models.expand import Expand +from thousandeyes_sdk.tests.models.dns_server_test_response import DnsServerTestResponse +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -224,18 +224,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.DNSServerApi(api_client) - test_id = '281474976710706' # str | ID of the test + api_instance = thousandeyes_sdk.tests.DNSServerTestsApi(api_client) + test_id = '202701' # str | Test 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) - expand = [thousandeyes_sdk.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Get DNS Server test api_response = api_instance.get_dns_server_test(test_id, aid=aid, expand=expand) - print("The response of DNSServerApi->get_dns_server_test:\n") + print("The response of DNSServerTestsApi->get_dns_server_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling DNSServerApi->get_dns_server_test: %s\n" % e) + print("Exception when calling DNSServerTestsApi->get_dns_server_test: %s\n" % e) ``` @@ -245,13 +245,13 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | + **test_id** | **str**| Test 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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**DnsServerTest**](DnsServerTest.md) +[**DnsServerTestResponse**](DnsServerTestResponse.md) ### Authorization @@ -294,10 +294,10 @@ from thousandeyes_sdk.tests.models.dns_server_tests import DnsServerTests from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -313,16 +313,16 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.DNSServerApi(api_client) + api_instance = thousandeyes_sdk.tests.DNSServerTestsApi(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 DNS Server tests api_response = api_instance.get_dns_server_tests(aid=aid) - print("The response of DNSServerApi->get_dns_server_tests:\n") + print("The response of DNSServerTestsApi->get_dns_server_tests:\n") pprint(api_response) except Exception as e: - print("Exception when calling DNSServerApi->get_dns_server_tests: %s\n" % e) + print("Exception when calling DNSServerTestsApi->get_dns_server_tests: %s\n" % e) ``` @@ -363,7 +363,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **update_dns_server_test** -> DnsServerTest update_dns_server_test(test_id, update_dns_server_test, aid=aid, expand=expand) +> DnsServerTestResponse update_dns_server_test(test_id, dns_server_test_request, aid=aid, expand=expand) Update DNS Server test @@ -375,16 +375,16 @@ Updates a DNS Server test. The target test cannot be a live share or saved event ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.dns_server_test import DnsServerTest -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.update_dns_server_test import UpdateDnsServerTest +from thousandeyes_sdk.tests.models.dns_server_test_request import DnsServerTestRequest +from thousandeyes_sdk.tests.models.dns_server_test_response import DnsServerTestResponse +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -400,19 +400,19 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.DNSServerApi(api_client) - test_id = '281474976710706' # str | ID of the test - update_dns_server_test = thousandeyes_sdk.tests.UpdateDnsServerTest() # UpdateDnsServerTest | + api_instance = thousandeyes_sdk.tests.DNSServerTestsApi(api_client) + test_id = '202701' # str | Test ID + dns_server_test_request = thousandeyes_sdk.tests.DnsServerTestRequest() # DnsServerTestRequest | 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.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Update DNS Server test - api_response = api_instance.update_dns_server_test(test_id, update_dns_server_test, aid=aid, expand=expand) - print("The response of DNSServerApi->update_dns_server_test:\n") + api_response = api_instance.update_dns_server_test(test_id, dns_server_test_request, aid=aid, expand=expand) + print("The response of DNSServerTestsApi->update_dns_server_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling DNSServerApi->update_dns_server_test: %s\n" % e) + print("Exception when calling DNSServerTestsApi->update_dns_server_test: %s\n" % e) ``` @@ -422,14 +422,14 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | - **update_dns_server_test** | [**UpdateDnsServerTest**](UpdateDnsServerTest.md)| | + **test_id** | **str**| Test ID | + **dns_server_test_request** | [**DnsServerTestRequest**](DnsServerTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**DnsServerTest**](DnsServerTest.md) +[**DnsServerTestResponse**](DnsServerTestResponse.md) ### Authorization diff --git a/thousandeyes-sdk-tests/docs/DNSTraceApi.md b/thousandeyes-sdk-tests/docs/DNSTraceTestsApi.md similarity index 70% rename from thousandeyes-sdk-tests/docs/DNSTraceApi.md rename to thousandeyes-sdk-tests/docs/DNSTraceTestsApi.md index ad686700..9ab1af1a 100644 --- a/thousandeyes-sdk-tests/docs/DNSTraceApi.md +++ b/thousandeyes-sdk-tests/docs/DNSTraceTestsApi.md @@ -1,18 +1,18 @@ -# thousandeyes_sdk.tests.DNSTraceApi +# thousandeyes_sdk.tests.DNSTraceTestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_dns_trace_test**](DNSTraceApi.md#create_dns_trace_test) | **POST** /v7/tests/dns-trace | Create DNS Trace test -[**delete_dns_trace_test**](DNSTraceApi.md#delete_dns_trace_test) | **DELETE** /v7/tests/dns-trace/{testId} | Delete DNS Trace test -[**get_dns_trace_test**](DNSTraceApi.md#get_dns_trace_test) | **GET** /v7/tests/dns-trace/{testId} | Get DNS Trace test -[**get_dns_trace_tests**](DNSTraceApi.md#get_dns_trace_tests) | **GET** /v7/tests/dns-trace | List DNS Trace tests -[**update_dns_trace_test**](DNSTraceApi.md#update_dns_trace_test) | **PUT** /v7/tests/dns-trace/{testId} | Update DNS Trace test +[**create_dns_trace_test**](DNSTraceTestsApi.md#create_dns_trace_test) | **POST** /tests/dns-trace | Create DNS Trace test +[**delete_dns_trace_test**](DNSTraceTestsApi.md#delete_dns_trace_test) | **DELETE** /tests/dns-trace/{testId} | Delete DNS Trace test +[**get_dns_trace_test**](DNSTraceTestsApi.md#get_dns_trace_test) | **GET** /tests/dns-trace/{testId} | Get DNS Trace test +[**get_dns_trace_tests**](DNSTraceTestsApi.md#get_dns_trace_tests) | **GET** /tests/dns-trace | List DNS Trace tests +[**update_dns_trace_test**](DNSTraceTestsApi.md#update_dns_trace_test) | **PUT** /tests/dns-trace/{testId} | Update DNS Trace test # **create_dns_trace_test** -> DnsTraceTest create_dns_trace_test(update_dns_trace_test, aid=aid, expand=expand) +> DnsTraceTestResponse create_dns_trace_test(dns_trace_test_request, aid=aid, expand=expand) Create DNS Trace test @@ -24,16 +24,16 @@ Creates a new DNS Trace test. This method requires Account Admin permissions. ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.dns_trace_test import DnsTraceTest -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.update_dns_trace_test import UpdateDnsTraceTest +from thousandeyes_sdk.tests.models.dns_trace_test_request import DnsTraceTestRequest +from thousandeyes_sdk.tests.models.dns_trace_test_response import DnsTraceTestResponse +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -49,18 +49,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.DNSTraceApi(api_client) - update_dns_trace_test = thousandeyes_sdk.tests.UpdateDnsTraceTest() # UpdateDnsTraceTest | + api_instance = thousandeyes_sdk.tests.DNSTraceTestsApi(api_client) + dns_trace_test_request = thousandeyes_sdk.tests.DnsTraceTestRequest() # DnsTraceTestRequest | 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.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Create DNS Trace test - api_response = api_instance.create_dns_trace_test(update_dns_trace_test, aid=aid, expand=expand) - print("The response of DNSTraceApi->create_dns_trace_test:\n") + api_response = api_instance.create_dns_trace_test(dns_trace_test_request, aid=aid, expand=expand) + print("The response of DNSTraceTestsApi->create_dns_trace_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling DNSTraceApi->create_dns_trace_test: %s\n" % e) + print("Exception when calling DNSTraceTestsApi->create_dns_trace_test: %s\n" % e) ``` @@ -70,13 +70,13 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **update_dns_trace_test** | [**UpdateDnsTraceTest**](UpdateDnsTraceTest.md)| | + **dns_trace_test_request** | [**DnsTraceTestRequest**](DnsTraceTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**DnsTraceTest**](DnsTraceTest.md) +[**DnsTraceTestResponse**](DnsTraceTestResponse.md) ### Authorization @@ -119,10 +119,10 @@ import thousandeyes_sdk.tests from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -138,15 +138,15 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.DNSTraceApi(api_client) - test_id = '281474976710706' # str | ID of the test + api_instance = thousandeyes_sdk.tests.DNSTraceTestsApi(api_client) + test_id = '202701' # str | Test ID aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) try: # Delete DNS Trace test api_instance.delete_dns_trace_test(test_id, aid=aid) except Exception as e: - print("Exception when calling DNSTraceApi->delete_dns_trace_test: %s\n" % e) + print("Exception when calling DNSTraceTestsApi->delete_dns_trace_test: %s\n" % e) ``` @@ -156,7 +156,7 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | + **test_id** | **str**| Test ID | **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] ### Return type @@ -188,7 +188,7 @@ 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) # **get_dns_trace_test** -> DnsTraceTest get_dns_trace_test(test_id, aid=aid, expand=expand) +> DnsTraceTestResponse get_dns_trace_test(test_id, aid=aid, expand=expand) Get DNS Trace test @@ -200,15 +200,15 @@ Returns details for a DNS Trace test, including name, intervals, targets, alert ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.dns_trace_test import DnsTraceTest -from thousandeyes_sdk.tests.models.expand import Expand +from thousandeyes_sdk.tests.models.dns_trace_test_response import DnsTraceTestResponse +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -224,18 +224,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.DNSTraceApi(api_client) - test_id = '281474976710706' # str | ID of the test + api_instance = thousandeyes_sdk.tests.DNSTraceTestsApi(api_client) + test_id = '202701' # str | Test 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) - expand = [thousandeyes_sdk.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Get DNS Trace test api_response = api_instance.get_dns_trace_test(test_id, aid=aid, expand=expand) - print("The response of DNSTraceApi->get_dns_trace_test:\n") + print("The response of DNSTraceTestsApi->get_dns_trace_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling DNSTraceApi->get_dns_trace_test: %s\n" % e) + print("Exception when calling DNSTraceTestsApi->get_dns_trace_test: %s\n" % e) ``` @@ -245,13 +245,13 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | + **test_id** | **str**| Test 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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**DnsTraceTest**](DnsTraceTest.md) +[**DnsTraceTestResponse**](DnsTraceTestResponse.md) ### Authorization @@ -294,10 +294,10 @@ from thousandeyes_sdk.tests.models.dns_trace_tests import DnsTraceTests from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -313,16 +313,16 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.DNSTraceApi(api_client) + api_instance = thousandeyes_sdk.tests.DNSTraceTestsApi(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 DNS Trace tests api_response = api_instance.get_dns_trace_tests(aid=aid) - print("The response of DNSTraceApi->get_dns_trace_tests:\n") + print("The response of DNSTraceTestsApi->get_dns_trace_tests:\n") pprint(api_response) except Exception as e: - print("Exception when calling DNSTraceApi->get_dns_trace_tests: %s\n" % e) + print("Exception when calling DNSTraceTestsApi->get_dns_trace_tests: %s\n" % e) ``` @@ -363,7 +363,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **update_dns_trace_test** -> DnsTraceTest update_dns_trace_test(test_id, update_dns_trace_test, aid=aid, expand=expand) +> DnsTraceTestResponse update_dns_trace_test(test_id, dns_trace_test_request, aid=aid, expand=expand) Update DNS Trace test @@ -375,16 +375,16 @@ Updates a DNS Trace test. The target test cannot be a live share or saved event. ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.dns_trace_test import DnsTraceTest -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.update_dns_trace_test import UpdateDnsTraceTest +from thousandeyes_sdk.tests.models.dns_trace_test_request import DnsTraceTestRequest +from thousandeyes_sdk.tests.models.dns_trace_test_response import DnsTraceTestResponse +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -400,19 +400,19 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.DNSTraceApi(api_client) - test_id = '281474976710706' # str | ID of the test - update_dns_trace_test = thousandeyes_sdk.tests.UpdateDnsTraceTest() # UpdateDnsTraceTest | + api_instance = thousandeyes_sdk.tests.DNSTraceTestsApi(api_client) + test_id = '202701' # str | Test ID + dns_trace_test_request = thousandeyes_sdk.tests.DnsTraceTestRequest() # DnsTraceTestRequest | 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.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Update DNS Trace test - api_response = api_instance.update_dns_trace_test(test_id, update_dns_trace_test, aid=aid, expand=expand) - print("The response of DNSTraceApi->update_dns_trace_test:\n") + api_response = api_instance.update_dns_trace_test(test_id, dns_trace_test_request, aid=aid, expand=expand) + print("The response of DNSTraceTestsApi->update_dns_trace_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling DNSTraceApi->update_dns_trace_test: %s\n" % e) + print("Exception when calling DNSTraceTestsApi->update_dns_trace_test: %s\n" % e) ``` @@ -422,14 +422,14 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | - **update_dns_trace_test** | [**UpdateDnsTraceTest**](UpdateDnsTraceTest.md)| | + **test_id** | **str**| Test ID | + **dns_trace_test_request** | [**DnsTraceTestRequest**](DnsTraceTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**DnsTraceTest**](DnsTraceTest.md) +[**DnsTraceTestResponse**](DnsTraceTestResponse.md) ### Authorization diff --git a/thousandeyes-sdk-tests/docs/DnsSecInstantTest.md b/thousandeyes-sdk-tests/docs/DnsSecInstantTest.md index 66129df1..cfc48601 100644 --- a/thousandeyes-sdk-tests/docs/DnsSecInstantTest.md +++ b/thousandeyes-sdk-tests/docs/DnsSecInstantTest.md @@ -20,7 +20,6 @@ Name | Type | Description | Notes **shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] **domain** | **str** | The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record. | **dns_query_class** | [**DnsQueryClass**](DnsQueryClass.md) | | [optional] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-tests/docs/DnsSecTest.md b/thousandeyes-sdk-tests/docs/DnsSecTest.md index 17cac3f4..d101e2fc 100644 --- a/thousandeyes-sdk-tests/docs/DnsSecTest.md +++ b/thousandeyes-sdk-tests/docs/DnsSecTest.md @@ -24,7 +24,6 @@ Name | Type | Description | Notes **shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] **domain** | **str** | The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record. | **dns_query_class** | [**DnsQueryClass**](DnsQueryClass.md) | | [optional] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-tests/docs/UpdateDnsSecTest.md b/thousandeyes-sdk-tests/docs/DnsSecTestRequest.md similarity index 80% rename from thousandeyes-sdk-tests/docs/UpdateDnsSecTest.md rename to thousandeyes-sdk-tests/docs/DnsSecTestRequest.md index cda41fe3..c2fe4f51 100644 --- a/thousandeyes-sdk-tests/docs/UpdateDnsSecTest.md +++ b/thousandeyes-sdk-tests/docs/DnsSecTestRequest.md @@ -1,4 +1,4 @@ -# UpdateDnsSecTest +# DnsSecTestRequest ## Properties @@ -24,24 +24,24 @@ Name | Type | Description | Notes **shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] **domain** | **str** | The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record. | **dns_query_class** | [**DnsQueryClass**](DnsQueryClass.md) | | [optional] -**agents** | [**List[AgentRequest]**](AgentRequest.md) | | [optional] +**agents** | [**List[TestAgentRequest]**](TestAgentRequest.md) | Contains list of Agent IDs (get `agentId` from `/agents` endpoint). | ## Example ```python -from thousandeyes_sdk.tests.models.update_dns_sec_test import UpdateDnsSecTest +from thousandeyes_sdk.tests.models.dns_sec_test_request import DnsSecTestRequest # TODO update the JSON string below json = "{}" -# create an instance of UpdateDnsSecTest from a JSON string -update_dns_sec_test_instance = UpdateDnsSecTest.from_json(json) +# create an instance of DnsSecTestRequest from a JSON string +dns_sec_test_request_instance = DnsSecTestRequest.from_json(json) # print the JSON string representation of the object -print(UpdateDnsSecTest.to_json()) +print(DnsSecTestRequest.to_json()) # convert the object into a dict -update_dns_sec_test_dict = update_dns_sec_test_instance.to_dict() -# create an instance of UpdateDnsSecTest from a dict -update_dns_sec_test_from_dict = UpdateDnsSecTest.from_dict(update_dns_sec_test_dict) +dns_sec_test_request_dict = dns_sec_test_request_instance.to_dict() +# create an instance of DnsSecTestRequest from a dict +dns_sec_test_request_from_dict = DnsSecTestRequest.from_dict(dns_sec_test_request_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) diff --git a/thousandeyes-sdk-tests/docs/DnsSecTestResponse.md b/thousandeyes-sdk-tests/docs/DnsSecTestResponse.md new file mode 100644 index 00000000..396b82ab --- /dev/null +++ b/thousandeyes-sdk-tests/docs/DnsSecTestResponse.md @@ -0,0 +1,48 @@ +# DnsSecTestResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**interval** | [**TestInterval**](TestInterval.md) | | +**alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] +**enabled** | **bool** | Test is enabled. | [optional] [default to True] +**alert_rules** | [**List[AlertRule]**](AlertRule.md) | Contains list of enabled alert rule objects. | [optional] +**created_by** | **str** | User that created the test. | [optional] [readonly] +**created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] +**description** | **str** | A description of the test. | [optional] +**live_share** | **bool** | Indicates if the test is shared with the account group. | [optional] [readonly] +**modified_by** | **str** | User that modified the test. | [optional] [readonly] +**modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] +**saved_event** | **bool** | Indicates if the test is a saved event. | [optional] [readonly] +**test_id** | **str** | Each test is assigned an unique ID; this is used to access test information and results from other endpoints. | [optional] [readonly] +**test_name** | **str** | The name of the test. Test name must be unique. | [optional] +**type** | **str** | | [optional] [readonly] +**links** | [**TestLinks**](TestLinks.md) | | [optional] +**labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] +**shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] +**domain** | **str** | The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record. | +**dns_query_class** | [**DnsQueryClass**](DnsQueryClass.md) | | [optional] +**agents** | [**List[AgentResponse]**](AgentResponse.md) | Contains list of agents. | [optional] + +## Example + +```python +from thousandeyes_sdk.tests.models.dns_sec_test_response import DnsSecTestResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of DnsSecTestResponse from a JSON string +dns_sec_test_response_instance = DnsSecTestResponse.from_json(json) +# print the JSON string representation of the object +print(DnsSecTestResponse.to_json()) + +# convert the object into a dict +dns_sec_test_response_dict = dns_sec_test_response_instance.to_dict() +# create an instance of DnsSecTestResponse from a dict +dns_sec_test_response_from_dict = DnsSecTestResponse.from_dict(dns_sec_test_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) + + diff --git a/thousandeyes-sdk-tests/docs/DnsServerInstantTest.md b/thousandeyes-sdk-tests/docs/DnsServerInstantTest.md index 066b9f47..9fb57bb3 100644 --- a/thousandeyes-sdk-tests/docs/DnsServerInstantTest.md +++ b/thousandeyes-sdk-tests/docs/DnsServerInstantTest.md @@ -32,7 +32,6 @@ Name | Type | Description | Notes **ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] **dns_query_class** | [**DnsQueryClass**](DnsQueryClass.md) | | [optional] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-tests/docs/DnsServerTest.md b/thousandeyes-sdk-tests/docs/DnsServerTest.md index 398ea641..4488b03b 100644 --- a/thousandeyes-sdk-tests/docs/DnsServerTest.md +++ b/thousandeyes-sdk-tests/docs/DnsServerTest.md @@ -36,7 +36,6 @@ Name | Type | Description | Notes **ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] **dns_query_class** | [**DnsQueryClass**](DnsQueryClass.md) | | [optional] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] **monitors** | [**List[Monitor]**](Monitor.md) | Contains list of enabled BGP monitors. | [optional] [readonly] diff --git a/thousandeyes-sdk-tests/docs/UpdateDnsServerTest.md b/thousandeyes-sdk-tests/docs/DnsServerTestRequest.md similarity index 86% rename from thousandeyes-sdk-tests/docs/UpdateDnsServerTest.md rename to thousandeyes-sdk-tests/docs/DnsServerTestRequest.md index c026606e..625536c3 100644 --- a/thousandeyes-sdk-tests/docs/UpdateDnsServerTest.md +++ b/thousandeyes-sdk-tests/docs/DnsServerTestRequest.md @@ -1,4 +1,4 @@ -# UpdateDnsServerTest +# DnsServerTestRequest ## Properties @@ -36,27 +36,27 @@ Name | Type | Description | Notes **ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] **dns_query_class** | [**DnsQueryClass**](DnsQueryClass.md) | | [optional] -**agents** | [**List[AgentRequest]**](AgentRequest.md) | | [optional] **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] **monitors** | **List[str]** | Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint) | [optional] +**agents** | [**List[TestAgentRequest]**](TestAgentRequest.md) | Contains list of Agent IDs (get `agentId` from `/agents` endpoint). | ## Example ```python -from thousandeyes_sdk.tests.models.update_dns_server_test import UpdateDnsServerTest +from thousandeyes_sdk.tests.models.dns_server_test_request import DnsServerTestRequest # TODO update the JSON string below json = "{}" -# create an instance of UpdateDnsServerTest from a JSON string -update_dns_server_test_instance = UpdateDnsServerTest.from_json(json) +# create an instance of DnsServerTestRequest from a JSON string +dns_server_test_request_instance = DnsServerTestRequest.from_json(json) # print the JSON string representation of the object -print(UpdateDnsServerTest.to_json()) +print(DnsServerTestRequest.to_json()) # convert the object into a dict -update_dns_server_test_dict = update_dns_server_test_instance.to_dict() -# create an instance of UpdateDnsServerTest from a dict -update_dns_server_test_from_dict = UpdateDnsServerTest.from_dict(update_dns_server_test_dict) +dns_server_test_request_dict = dns_server_test_request_instance.to_dict() +# create an instance of DnsServerTestRequest from a dict +dns_server_test_request_from_dict = DnsServerTestRequest.from_dict(dns_server_test_request_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) diff --git a/thousandeyes-sdk-tests/docs/DnsServerTestResponse.md b/thousandeyes-sdk-tests/docs/DnsServerTestResponse.md new file mode 100644 index 00000000..3a40e5a2 --- /dev/null +++ b/thousandeyes-sdk-tests/docs/DnsServerTestResponse.md @@ -0,0 +1,63 @@ +# DnsServerTestResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**interval** | [**TestInterval**](TestInterval.md) | | +**alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] +**enabled** | **bool** | Test is enabled. | [optional] [default to True] +**alert_rules** | [**List[AlertRule]**](AlertRule.md) | Contains list of enabled alert rule objects. | [optional] +**created_by** | **str** | User that created the test. | [optional] [readonly] +**created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] +**description** | **str** | A description of the test. | [optional] +**live_share** | **bool** | Indicates if the test is shared with the account group. | [optional] [readonly] +**modified_by** | **str** | User that modified the test. | [optional] [readonly] +**modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] +**saved_event** | **bool** | Indicates if the test is a saved event. | [optional] [readonly] +**test_id** | **str** | Each test is assigned an unique ID; this is used to access test information and results from other endpoints. | [optional] [readonly] +**test_name** | **str** | The name of the test. Test name must be unique. | [optional] +**type** | **str** | | [optional] [readonly] +**links** | [**TestLinks**](TestLinks.md) | | [optional] +**labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] +**shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] +**bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] +**dns_servers** | [**List[TestDnsServer]**](TestDnsServer.md) | | +**dns_transport_protocol** | [**TestDnsTransportProtocol**](TestDnsTransportProtocol.md) | | [optional] +**domain** | **str** | The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record. | +**mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] +**network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] +**num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] +**probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] +**protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] +**recursive_queries** | **bool** | Set true to run query with RD (recursion desired) flag enabled. | [optional] +**ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] +**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**dns_query_class** | [**DnsQueryClass**](DnsQueryClass.md) | | [optional] +**bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] +**use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] +**monitors** | [**List[Monitor]**](Monitor.md) | Contains list of enabled BGP monitors. | [optional] [readonly] +**agents** | [**List[AgentResponse]**](AgentResponse.md) | Contains list of agents. | [optional] + +## Example + +```python +from thousandeyes_sdk.tests.models.dns_server_test_response import DnsServerTestResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of DnsServerTestResponse from a JSON string +dns_server_test_response_instance = DnsServerTestResponse.from_json(json) +# print the JSON string representation of the object +print(DnsServerTestResponse.to_json()) + +# convert the object into a dict +dns_server_test_response_dict = dns_server_test_response_instance.to_dict() +# create an instance of DnsServerTestResponse from a dict +dns_server_test_response_from_dict = DnsServerTestResponse.from_dict(dns_server_test_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) + + diff --git a/thousandeyes-sdk-tests/docs/DnsTraceInstantTest.md b/thousandeyes-sdk-tests/docs/DnsTraceInstantTest.md index 902d7584..089d0258 100644 --- a/thousandeyes-sdk-tests/docs/DnsTraceInstantTest.md +++ b/thousandeyes-sdk-tests/docs/DnsTraceInstantTest.md @@ -21,7 +21,6 @@ Name | Type | Description | Notes **dns_transport_protocol** | [**TestDnsTransportProtocol**](TestDnsTransportProtocol.md) | | [optional] **domain** | **str** | The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record. | **dns_query_class** | [**DnsQueryClass**](DnsQueryClass.md) | | [optional] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-tests/docs/DnsTraceTest.md b/thousandeyes-sdk-tests/docs/DnsTraceTest.md index ab4c6fb9..86787b17 100644 --- a/thousandeyes-sdk-tests/docs/DnsTraceTest.md +++ b/thousandeyes-sdk-tests/docs/DnsTraceTest.md @@ -25,7 +25,6 @@ Name | Type | Description | Notes **dns_transport_protocol** | [**TestDnsTransportProtocol**](TestDnsTransportProtocol.md) | | [optional] **domain** | **str** | The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record. | **dns_query_class** | [**DnsQueryClass**](DnsQueryClass.md) | | [optional] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-tests/docs/UpdateDnsTraceTest.md b/thousandeyes-sdk-tests/docs/DnsTraceTestRequest.md similarity index 80% rename from thousandeyes-sdk-tests/docs/UpdateDnsTraceTest.md rename to thousandeyes-sdk-tests/docs/DnsTraceTestRequest.md index 1053d263..0385bc7e 100644 --- a/thousandeyes-sdk-tests/docs/UpdateDnsTraceTest.md +++ b/thousandeyes-sdk-tests/docs/DnsTraceTestRequest.md @@ -1,4 +1,4 @@ -# UpdateDnsTraceTest +# DnsTraceTestRequest ## Properties @@ -25,24 +25,24 @@ Name | Type | Description | Notes **dns_transport_protocol** | [**TestDnsTransportProtocol**](TestDnsTransportProtocol.md) | | [optional] **domain** | **str** | The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record. | **dns_query_class** | [**DnsQueryClass**](DnsQueryClass.md) | | [optional] -**agents** | [**List[AgentRequest]**](AgentRequest.md) | | [optional] +**agents** | [**List[TestAgentRequest]**](TestAgentRequest.md) | Contains list of Agent IDs (get `agentId` from `/agents` endpoint). | ## Example ```python -from thousandeyes_sdk.tests.models.update_dns_trace_test import UpdateDnsTraceTest +from thousandeyes_sdk.tests.models.dns_trace_test_request import DnsTraceTestRequest # TODO update the JSON string below json = "{}" -# create an instance of UpdateDnsTraceTest from a JSON string -update_dns_trace_test_instance = UpdateDnsTraceTest.from_json(json) +# create an instance of DnsTraceTestRequest from a JSON string +dns_trace_test_request_instance = DnsTraceTestRequest.from_json(json) # print the JSON string representation of the object -print(UpdateDnsTraceTest.to_json()) +print(DnsTraceTestRequest.to_json()) # convert the object into a dict -update_dns_trace_test_dict = update_dns_trace_test_instance.to_dict() -# create an instance of UpdateDnsTraceTest from a dict -update_dns_trace_test_from_dict = UpdateDnsTraceTest.from_dict(update_dns_trace_test_dict) +dns_trace_test_request_dict = dns_trace_test_request_instance.to_dict() +# create an instance of DnsTraceTestRequest from a dict +dns_trace_test_request_from_dict = DnsTraceTestRequest.from_dict(dns_trace_test_request_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) diff --git a/thousandeyes-sdk-tests/docs/DnsTraceTestResponse.md b/thousandeyes-sdk-tests/docs/DnsTraceTestResponse.md new file mode 100644 index 00000000..6b09b641 --- /dev/null +++ b/thousandeyes-sdk-tests/docs/DnsTraceTestResponse.md @@ -0,0 +1,49 @@ +# DnsTraceTestResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**interval** | [**TestInterval**](TestInterval.md) | | +**alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] +**enabled** | **bool** | Test is enabled. | [optional] [default to True] +**alert_rules** | [**List[AlertRule]**](AlertRule.md) | Contains list of enabled alert rule objects. | [optional] +**created_by** | **str** | User that created the test. | [optional] [readonly] +**created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] +**description** | **str** | A description of the test. | [optional] +**live_share** | **bool** | Indicates if the test is shared with the account group. | [optional] [readonly] +**modified_by** | **str** | User that modified the test. | [optional] [readonly] +**modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] +**saved_event** | **bool** | Indicates if the test is a saved event. | [optional] [readonly] +**test_id** | **str** | Each test is assigned an unique ID; this is used to access test information and results from other endpoints. | [optional] [readonly] +**test_name** | **str** | The name of the test. Test name must be unique. | [optional] +**type** | **str** | | [optional] [readonly] +**links** | [**TestLinks**](TestLinks.md) | | [optional] +**labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] +**shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] +**dns_transport_protocol** | [**TestDnsTransportProtocol**](TestDnsTransportProtocol.md) | | [optional] +**domain** | **str** | The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record. | +**dns_query_class** | [**DnsQueryClass**](DnsQueryClass.md) | | [optional] +**agents** | [**List[AgentResponse]**](AgentResponse.md) | Contains list of agents. | [optional] + +## Example + +```python +from thousandeyes_sdk.tests.models.dns_trace_test_response import DnsTraceTestResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of DnsTraceTestResponse from a JSON string +dns_trace_test_response_instance = DnsTraceTestResponse.from_json(json) +# print the JSON string representation of the object +print(DnsTraceTestResponse.to_json()) + +# convert the object into a dict +dns_trace_test_response_dict = dns_trace_test_response_instance.to_dict() +# create an instance of DnsTraceTestResponse from a dict +dns_trace_test_response_from_dict = DnsTraceTestResponse.from_dict(dns_trace_test_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) + + diff --git a/thousandeyes-sdk-tests/docs/Expand.md b/thousandeyes-sdk-tests/docs/Expand.md deleted file mode 100644 index f6553b30..00000000 --- a/thousandeyes-sdk-tests/docs/Expand.md +++ /dev/null @@ -1,11 +0,0 @@ -# Expand - - -## 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) - - diff --git a/thousandeyes-sdk-tests/docs/ExpandBgpTestOptions.md b/thousandeyes-sdk-tests/docs/ExpandBgpTestOptions.md new file mode 100644 index 00000000..13cf2abd --- /dev/null +++ b/thousandeyes-sdk-tests/docs/ExpandBgpTestOptions.md @@ -0,0 +1,11 @@ +# ExpandBgpTestOptions + + +## 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) + + diff --git a/thousandeyes-sdk-administrative/docs/Expand.md b/thousandeyes-sdk-tests/docs/ExpandTestOptions.md similarity index 93% rename from thousandeyes-sdk-administrative/docs/Expand.md rename to thousandeyes-sdk-tests/docs/ExpandTestOptions.md index f6553b30..8f7c4683 100644 --- a/thousandeyes-sdk-administrative/docs/Expand.md +++ b/thousandeyes-sdk-tests/docs/ExpandTestOptions.md @@ -1,4 +1,4 @@ -# Expand +# ExpandTestOptions ## Properties diff --git a/thousandeyes-sdk-tests/docs/FTPServerApi.md b/thousandeyes-sdk-tests/docs/FTPServerTestsApi.md similarity index 70% rename from thousandeyes-sdk-tests/docs/FTPServerApi.md rename to thousandeyes-sdk-tests/docs/FTPServerTestsApi.md index d5f85b37..5376b8f0 100644 --- a/thousandeyes-sdk-tests/docs/FTPServerApi.md +++ b/thousandeyes-sdk-tests/docs/FTPServerTestsApi.md @@ -1,18 +1,18 @@ -# thousandeyes_sdk.tests.FTPServerApi +# thousandeyes_sdk.tests.FTPServerTestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_ftp_server_test**](FTPServerApi.md#create_ftp_server_test) | **POST** /v7/tests/ftp-server | Create FTP Server test -[**delete_ftp_server_test**](FTPServerApi.md#delete_ftp_server_test) | **DELETE** /v7/tests/ftp-server/{testId} | Delete FTP Server test -[**get_ftp_server_test**](FTPServerApi.md#get_ftp_server_test) | **GET** /v7/tests/ftp-server/{testId} | Get FTP Server test -[**get_ftp_server_tests**](FTPServerApi.md#get_ftp_server_tests) | **GET** /v7/tests/ftp-server | List FTP Server tests -[**update_ftp_server_test**](FTPServerApi.md#update_ftp_server_test) | **PUT** /v7/tests/ftp-server/{testId} | Update FTP Server test +[**create_ftp_server_test**](FTPServerTestsApi.md#create_ftp_server_test) | **POST** /tests/ftp-server | Create FTP Server test +[**delete_ftp_server_test**](FTPServerTestsApi.md#delete_ftp_server_test) | **DELETE** /tests/ftp-server/{testId} | Delete FTP Server test +[**get_ftp_server_test**](FTPServerTestsApi.md#get_ftp_server_test) | **GET** /tests/ftp-server/{testId} | Get FTP Server test +[**get_ftp_server_tests**](FTPServerTestsApi.md#get_ftp_server_tests) | **GET** /tests/ftp-server | List FTP Server tests +[**update_ftp_server_test**](FTPServerTestsApi.md#update_ftp_server_test) | **PUT** /tests/ftp-server/{testId} | Update FTP Server test # **create_ftp_server_test** -> FtpServerTest create_ftp_server_test(update_ftp_server_test, aid=aid, expand=expand) +> FtpServerTestResponse create_ftp_server_test(ftp_server_test_request, aid=aid, expand=expand) Create FTP Server test @@ -24,16 +24,16 @@ Creates a new FTP Server test. This method requires Account Admin permissions. ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.ftp_server_test import FtpServerTest -from thousandeyes_sdk.tests.models.update_ftp_server_test import UpdateFtpServerTest +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions +from thousandeyes_sdk.tests.models.ftp_server_test_request import FtpServerTestRequest +from thousandeyes_sdk.tests.models.ftp_server_test_response import FtpServerTestResponse from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -49,18 +49,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.FTPServerApi(api_client) - update_ftp_server_test = thousandeyes_sdk.tests.UpdateFtpServerTest() # UpdateFtpServerTest | + api_instance = thousandeyes_sdk.tests.FTPServerTestsApi(api_client) + ftp_server_test_request = thousandeyes_sdk.tests.FtpServerTestRequest() # FtpServerTestRequest | 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.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Create FTP Server test - api_response = api_instance.create_ftp_server_test(update_ftp_server_test, aid=aid, expand=expand) - print("The response of FTPServerApi->create_ftp_server_test:\n") + api_response = api_instance.create_ftp_server_test(ftp_server_test_request, aid=aid, expand=expand) + print("The response of FTPServerTestsApi->create_ftp_server_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling FTPServerApi->create_ftp_server_test: %s\n" % e) + print("Exception when calling FTPServerTestsApi->create_ftp_server_test: %s\n" % e) ``` @@ -70,13 +70,13 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **update_ftp_server_test** | [**UpdateFtpServerTest**](UpdateFtpServerTest.md)| | + **ftp_server_test_request** | [**FtpServerTestRequest**](FtpServerTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**FtpServerTest**](FtpServerTest.md) +[**FtpServerTestResponse**](FtpServerTestResponse.md) ### Authorization @@ -119,10 +119,10 @@ import thousandeyes_sdk.tests from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -138,15 +138,15 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.FTPServerApi(api_client) - test_id = '281474976710706' # str | ID of the test + api_instance = thousandeyes_sdk.tests.FTPServerTestsApi(api_client) + test_id = '202701' # str | Test ID aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) try: # Delete FTP Server test api_instance.delete_ftp_server_test(test_id, aid=aid) except Exception as e: - print("Exception when calling FTPServerApi->delete_ftp_server_test: %s\n" % e) + print("Exception when calling FTPServerTestsApi->delete_ftp_server_test: %s\n" % e) ``` @@ -156,7 +156,7 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | + **test_id** | **str**| Test ID | **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] ### Return type @@ -186,7 +186,7 @@ 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) # **get_ftp_server_test** -> FtpServerTest get_ftp_server_test(test_id, aid=aid, expand=expand) +> FtpServerTestResponse get_ftp_server_test(test_id, aid=aid, expand=expand) Get FTP Server test @@ -198,15 +198,15 @@ Returns details for a FTP Server test, including name, intervals, targets, alert ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.ftp_server_test import FtpServerTest +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions +from thousandeyes_sdk.tests.models.ftp_server_test_response import FtpServerTestResponse from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -222,18 +222,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.FTPServerApi(api_client) - test_id = '281474976710706' # str | ID of the test + api_instance = thousandeyes_sdk.tests.FTPServerTestsApi(api_client) + test_id = '202701' # str | Test 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) - expand = [thousandeyes_sdk.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Get FTP Server test api_response = api_instance.get_ftp_server_test(test_id, aid=aid, expand=expand) - print("The response of FTPServerApi->get_ftp_server_test:\n") + print("The response of FTPServerTestsApi->get_ftp_server_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling FTPServerApi->get_ftp_server_test: %s\n" % e) + print("Exception when calling FTPServerTestsApi->get_ftp_server_test: %s\n" % e) ``` @@ -243,13 +243,13 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | + **test_id** | **str**| Test 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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**FtpServerTest**](FtpServerTest.md) +[**FtpServerTestResponse**](FtpServerTestResponse.md) ### Authorization @@ -292,10 +292,10 @@ from thousandeyes_sdk.tests.models.ftp_server_tests import FtpServerTests from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -311,16 +311,16 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.FTPServerApi(api_client) + api_instance = thousandeyes_sdk.tests.FTPServerTestsApi(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 FTP Server tests api_response = api_instance.get_ftp_server_tests(aid=aid) - print("The response of FTPServerApi->get_ftp_server_tests:\n") + print("The response of FTPServerTestsApi->get_ftp_server_tests:\n") pprint(api_response) except Exception as e: - print("Exception when calling FTPServerApi->get_ftp_server_tests: %s\n" % e) + print("Exception when calling FTPServerTestsApi->get_ftp_server_tests: %s\n" % e) ``` @@ -361,7 +361,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **update_ftp_server_test** -> FtpServerTest update_ftp_server_test(test_id, update_ftp_server_test, aid=aid, expand=expand) +> FtpServerTestResponse update_ftp_server_test(test_id, ftp_server_test_request, aid=aid, expand=expand) Update FTP Server test @@ -373,16 +373,16 @@ Updates a FTP Server test. The target test cannot be a live share or saved event ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.ftp_server_test import FtpServerTest -from thousandeyes_sdk.tests.models.update_ftp_server_test import UpdateFtpServerTest +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions +from thousandeyes_sdk.tests.models.ftp_server_test_request import FtpServerTestRequest +from thousandeyes_sdk.tests.models.ftp_server_test_response import FtpServerTestResponse from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -398,19 +398,19 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.FTPServerApi(api_client) - test_id = '281474976710706' # str | ID of the test - update_ftp_server_test = thousandeyes_sdk.tests.UpdateFtpServerTest() # UpdateFtpServerTest | + api_instance = thousandeyes_sdk.tests.FTPServerTestsApi(api_client) + test_id = '202701' # str | Test ID + ftp_server_test_request = thousandeyes_sdk.tests.FtpServerTestRequest() # FtpServerTestRequest | 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.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Update FTP Server test - api_response = api_instance.update_ftp_server_test(test_id, update_ftp_server_test, aid=aid, expand=expand) - print("The response of FTPServerApi->update_ftp_server_test:\n") + api_response = api_instance.update_ftp_server_test(test_id, ftp_server_test_request, aid=aid, expand=expand) + print("The response of FTPServerTestsApi->update_ftp_server_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling FTPServerApi->update_ftp_server_test: %s\n" % e) + print("Exception when calling FTPServerTestsApi->update_ftp_server_test: %s\n" % e) ``` @@ -420,14 +420,14 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | - **update_ftp_server_test** | [**UpdateFtpServerTest**](UpdateFtpServerTest.md)| | + **test_id** | **str**| Test ID | + **ftp_server_test_request** | [**FtpServerTestRequest**](FtpServerTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**FtpServerTest**](FtpServerTest.md) +[**FtpServerTestResponse**](FtpServerTestResponse.md) ### Authorization diff --git a/thousandeyes-sdk-tests/docs/FtpServerInstantTest.md b/thousandeyes-sdk-tests/docs/FtpServerInstantTest.md index 26e8190a..f2257fb3 100644 --- a/thousandeyes-sdk-tests/docs/FtpServerInstantTest.md +++ b/thousandeyes-sdk-tests/docs/FtpServerInstantTest.md @@ -36,7 +36,6 @@ Name | Type | Description | Notes **username** | **str** | Username for Basic/NTLM authentication. | **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] **ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-tests/docs/FtpServerTest.md b/thousandeyes-sdk-tests/docs/FtpServerTest.md index a7bd2276..b6b0e760 100644 --- a/thousandeyes-sdk-tests/docs/FtpServerTest.md +++ b/thousandeyes-sdk-tests/docs/FtpServerTest.md @@ -40,7 +40,6 @@ Name | Type | Description | Notes **username** | **str** | Username for Basic/NTLM authentication. | **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] **ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] **monitors** | [**List[Monitor]**](Monitor.md) | Contains list of enabled BGP monitors. | [optional] [readonly] diff --git a/thousandeyes-sdk-tests/docs/UpdateFtpServerTest.md b/thousandeyes-sdk-tests/docs/FtpServerTestRequest.md similarity index 87% rename from thousandeyes-sdk-tests/docs/UpdateFtpServerTest.md rename to thousandeyes-sdk-tests/docs/FtpServerTestRequest.md index c7c83cc9..537de978 100644 --- a/thousandeyes-sdk-tests/docs/UpdateFtpServerTest.md +++ b/thousandeyes-sdk-tests/docs/FtpServerTestRequest.md @@ -1,4 +1,4 @@ -# UpdateFtpServerTest +# FtpServerTestRequest ## Properties @@ -40,27 +40,27 @@ Name | Type | Description | Notes **username** | **str** | Username for Basic/NTLM authentication. | **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] **ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] -**agents** | [**List[AgentRequest]**](AgentRequest.md) | | [optional] **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] **monitors** | **List[str]** | Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint) | [optional] +**agents** | [**List[TestAgentRequest]**](TestAgentRequest.md) | Contains list of Agent IDs (get `agentId` from `/agents` endpoint). | ## Example ```python -from thousandeyes_sdk.tests.models.update_ftp_server_test import UpdateFtpServerTest +from thousandeyes_sdk.tests.models.ftp_server_test_request import FtpServerTestRequest # TODO update the JSON string below json = "{}" -# create an instance of UpdateFtpServerTest from a JSON string -update_ftp_server_test_instance = UpdateFtpServerTest.from_json(json) +# create an instance of FtpServerTestRequest from a JSON string +ftp_server_test_request_instance = FtpServerTestRequest.from_json(json) # print the JSON string representation of the object -print(UpdateFtpServerTest.to_json()) +print(FtpServerTestRequest.to_json()) # convert the object into a dict -update_ftp_server_test_dict = update_ftp_server_test_instance.to_dict() -# create an instance of UpdateFtpServerTest from a dict -update_ftp_server_test_from_dict = UpdateFtpServerTest.from_dict(update_ftp_server_test_dict) +ftp_server_test_request_dict = ftp_server_test_request_instance.to_dict() +# create an instance of FtpServerTestRequest from a dict +ftp_server_test_request_from_dict = FtpServerTestRequest.from_dict(ftp_server_test_request_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) diff --git a/thousandeyes-sdk-tests/docs/FtpServerTestResponse.md b/thousandeyes-sdk-tests/docs/FtpServerTestResponse.md new file mode 100644 index 00000000..c2d58ee5 --- /dev/null +++ b/thousandeyes-sdk-tests/docs/FtpServerTestResponse.md @@ -0,0 +1,67 @@ +# FtpServerTestResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**interval** | [**TestInterval**](TestInterval.md) | | +**alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] +**enabled** | **bool** | Test is enabled. | [optional] [default to True] +**alert_rules** | [**List[AlertRule]**](AlertRule.md) | Contains list of enabled alert rule objects. | [optional] +**created_by** | **str** | User that created the test. | [optional] [readonly] +**created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] +**description** | **str** | A description of the test. | [optional] +**live_share** | **bool** | Indicates if the test is shared with the account group. | [optional] [readonly] +**modified_by** | **str** | User that modified the test. | [optional] [readonly] +**modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] +**saved_event** | **bool** | Indicates if the test is a saved event. | [optional] [readonly] +**test_id** | **str** | Each test is assigned an unique ID; this is used to access test information and results from other endpoints. | [optional] [readonly] +**test_name** | **str** | The name of the test. Test name must be unique. | [optional] +**type** | **str** | | [optional] [readonly] +**links** | [**TestLinks**](TestLinks.md) | | [optional] +**labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] +**shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] +**bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] +**download_limit** | **int** | Specify maximum number of bytes to download from the target object. | [optional] +**ftp_target_time** | **int** | Target time for operation completion; specified in milliseconds. | [optional] +**ftp_time_limit** | **int** | Set the time limit for the test in seconds. | [optional] [default to 10] +**mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] +**network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] +**num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**password** | **str** | Password for Basic/NTLM authentication. | +**path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] +**probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] +**protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] +**request_type** | [**FtpServerRequestType**](FtpServerRequestType.md) | | +**url** | **str** | Target for the test. | +**use_active_ftp** | **bool** | Explicitly set the flag to use active FTP. | [optional] [default to False] +**use_explicit_ftps** | **bool** | Use explicit FTPS (ftp over SSL). By default, tests will autodetect when it is appropriate to use FTPS. | [optional] +**username** | **str** | Username for Basic/NTLM authentication. | +**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] +**bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] +**use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] +**monitors** | [**List[Monitor]**](Monitor.md) | Contains list of enabled BGP monitors. | [optional] [readonly] +**agents** | [**List[AgentResponse]**](AgentResponse.md) | Contains list of agents. | [optional] + +## Example + +```python +from thousandeyes_sdk.tests.models.ftp_server_test_response import FtpServerTestResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of FtpServerTestResponse from a JSON string +ftp_server_test_response_instance = FtpServerTestResponse.from_json(json) +# print the JSON string representation of the object +print(FtpServerTestResponse.to_json()) + +# convert the object into a dict +ftp_server_test_response_dict = ftp_server_test_response_instance.to_dict() +# create an instance of FtpServerTestResponse from a dict +ftp_server_test_response_from_dict = FtpServerTestResponse.from_dict(ftp_server_test_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) + + diff --git a/thousandeyes-sdk-tests/docs/HTTPServerApi.md b/thousandeyes-sdk-tests/docs/HTTPServerTestsApi.md similarity index 69% rename from thousandeyes-sdk-tests/docs/HTTPServerApi.md rename to thousandeyes-sdk-tests/docs/HTTPServerTestsApi.md index e420567c..dd286595 100644 --- a/thousandeyes-sdk-tests/docs/HTTPServerApi.md +++ b/thousandeyes-sdk-tests/docs/HTTPServerTestsApi.md @@ -1,18 +1,18 @@ -# thousandeyes_sdk.tests.HTTPServerApi +# thousandeyes_sdk.tests.HTTPServerTestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_http_server_test**](HTTPServerApi.md#create_http_server_test) | **POST** /v7/tests/http-server | Create HTTP Server test -[**delete_http_server_test**](HTTPServerApi.md#delete_http_server_test) | **DELETE** /v7/tests/http-server/{testId} | Delete HTTP Server test -[**get_http_server_test**](HTTPServerApi.md#get_http_server_test) | **GET** /v7/tests/http-server/{testId} | Get HTTP Server test -[**get_http_server_tests**](HTTPServerApi.md#get_http_server_tests) | **GET** /v7/tests/http-server | List HTTP Server tests -[**update_http_server_test**](HTTPServerApi.md#update_http_server_test) | **PUT** /v7/tests/http-server/{testId} | Update HTTP Server test +[**create_http_server_test**](HTTPServerTestsApi.md#create_http_server_test) | **POST** /tests/http-server | Create HTTP Server test +[**delete_http_server_test**](HTTPServerTestsApi.md#delete_http_server_test) | **DELETE** /tests/http-server/{testId} | Delete HTTP Server test +[**get_http_server_test**](HTTPServerTestsApi.md#get_http_server_test) | **GET** /tests/http-server/{testId} | Get HTTP Server test +[**get_http_server_tests**](HTTPServerTestsApi.md#get_http_server_tests) | **GET** /tests/http-server | List HTTP Server tests +[**update_http_server_test**](HTTPServerTestsApi.md#update_http_server_test) | **PUT** /tests/http-server/{testId} | Update HTTP Server test # **create_http_server_test** -> HttpServerTest create_http_server_test(update_http_server_test, aid=aid, expand=expand) +> HttpServerTestResponse create_http_server_test(http_server_test_request, aid=aid, expand=expand) Create HTTP Server test @@ -24,16 +24,16 @@ Creates a new HTTP Server test. This method requires Account Admin permissions. ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.http_server_test import HttpServerTest -from thousandeyes_sdk.tests.models.update_http_server_test import UpdateHttpServerTest +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions +from thousandeyes_sdk.tests.models.http_server_test_request import HttpServerTestRequest +from thousandeyes_sdk.tests.models.http_server_test_response import HttpServerTestResponse from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -49,18 +49,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.HTTPServerApi(api_client) - update_http_server_test = thousandeyes_sdk.tests.UpdateHttpServerTest() # UpdateHttpServerTest | + api_instance = thousandeyes_sdk.tests.HTTPServerTestsApi(api_client) + http_server_test_request = thousandeyes_sdk.tests.HttpServerTestRequest() # HttpServerTestRequest | 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.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Create HTTP Server test - api_response = api_instance.create_http_server_test(update_http_server_test, aid=aid, expand=expand) - print("The response of HTTPServerApi->create_http_server_test:\n") + api_response = api_instance.create_http_server_test(http_server_test_request, aid=aid, expand=expand) + print("The response of HTTPServerTestsApi->create_http_server_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling HTTPServerApi->create_http_server_test: %s\n" % e) + print("Exception when calling HTTPServerTestsApi->create_http_server_test: %s\n" % e) ``` @@ -70,13 +70,13 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **update_http_server_test** | [**UpdateHttpServerTest**](UpdateHttpServerTest.md)| | + **http_server_test_request** | [**HttpServerTestRequest**](HttpServerTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**HttpServerTest**](HttpServerTest.md) +[**HttpServerTestResponse**](HttpServerTestResponse.md) ### Authorization @@ -119,10 +119,10 @@ import thousandeyes_sdk.tests from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -138,15 +138,15 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.HTTPServerApi(api_client) - test_id = '281474976710706' # str | ID of the test + api_instance = thousandeyes_sdk.tests.HTTPServerTestsApi(api_client) + test_id = '202701' # str | Test ID aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) try: # Delete HTTP Server test api_instance.delete_http_server_test(test_id, aid=aid) except Exception as e: - print("Exception when calling HTTPServerApi->delete_http_server_test: %s\n" % e) + print("Exception when calling HTTPServerTestsApi->delete_http_server_test: %s\n" % e) ``` @@ -156,7 +156,7 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | + **test_id** | **str**| Test ID | **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] ### Return type @@ -188,7 +188,7 @@ 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) # **get_http_server_test** -> HttpServerTest get_http_server_test(test_id, aid=aid, expand=expand) +> HttpServerTestResponse get_http_server_test(test_id, aid=aid, expand=expand) Get HTTP Server test @@ -200,15 +200,15 @@ Returns details for a HTTP Server test, including name, intervals, targets, aler ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.http_server_test import HttpServerTest +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions +from thousandeyes_sdk.tests.models.http_server_test_response import HttpServerTestResponse from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -224,18 +224,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.HTTPServerApi(api_client) - test_id = '281474976710706' # str | ID of the test + api_instance = thousandeyes_sdk.tests.HTTPServerTestsApi(api_client) + test_id = '202701' # str | Test 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) - expand = [thousandeyes_sdk.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Get HTTP Server test api_response = api_instance.get_http_server_test(test_id, aid=aid, expand=expand) - print("The response of HTTPServerApi->get_http_server_test:\n") + print("The response of HTTPServerTestsApi->get_http_server_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling HTTPServerApi->get_http_server_test: %s\n" % e) + print("Exception when calling HTTPServerTestsApi->get_http_server_test: %s\n" % e) ``` @@ -245,13 +245,13 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | + **test_id** | **str**| Test 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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**HttpServerTest**](HttpServerTest.md) +[**HttpServerTestResponse**](HttpServerTestResponse.md) ### Authorization @@ -294,10 +294,10 @@ from thousandeyes_sdk.tests.models.http_server_tests import HttpServerTests from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -313,16 +313,16 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.HTTPServerApi(api_client) + api_instance = thousandeyes_sdk.tests.HTTPServerTestsApi(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 HTTP Server tests api_response = api_instance.get_http_server_tests(aid=aid) - print("The response of HTTPServerApi->get_http_server_tests:\n") + print("The response of HTTPServerTestsApi->get_http_server_tests:\n") pprint(api_response) except Exception as e: - print("Exception when calling HTTPServerApi->get_http_server_tests: %s\n" % e) + print("Exception when calling HTTPServerTestsApi->get_http_server_tests: %s\n" % e) ``` @@ -363,7 +363,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **update_http_server_test** -> HttpServerTest update_http_server_test(test_id, update_http_server_test, aid=aid, expand=expand) +> HttpServerTestResponse update_http_server_test(test_id, http_server_test_request, aid=aid, expand=expand) Update HTTP Server test @@ -375,16 +375,16 @@ Updates a HTTP Server test. The target test cannot be a live share or saved even ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.http_server_test import HttpServerTest -from thousandeyes_sdk.tests.models.update_http_server_test import UpdateHttpServerTest +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions +from thousandeyes_sdk.tests.models.http_server_test_request import HttpServerTestRequest +from thousandeyes_sdk.tests.models.http_server_test_response import HttpServerTestResponse from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -400,19 +400,19 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.HTTPServerApi(api_client) - test_id = '281474976710706' # str | ID of the test - update_http_server_test = thousandeyes_sdk.tests.UpdateHttpServerTest() # UpdateHttpServerTest | + api_instance = thousandeyes_sdk.tests.HTTPServerTestsApi(api_client) + test_id = '202701' # str | Test ID + http_server_test_request = thousandeyes_sdk.tests.HttpServerTestRequest() # HttpServerTestRequest | 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.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Update HTTP Server test - api_response = api_instance.update_http_server_test(test_id, update_http_server_test, aid=aid, expand=expand) - print("The response of HTTPServerApi->update_http_server_test:\n") + api_response = api_instance.update_http_server_test(test_id, http_server_test_request, aid=aid, expand=expand) + print("The response of HTTPServerTestsApi->update_http_server_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling HTTPServerApi->update_http_server_test: %s\n" % e) + print("Exception when calling HTTPServerTestsApi->update_http_server_test: %s\n" % e) ``` @@ -422,14 +422,14 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | - **update_http_server_test** | [**UpdateHttpServerTest**](UpdateHttpServerTest.md)| | + **test_id** | **str**| Test ID | + **http_server_test_request** | [**HttpServerTestRequest**](HttpServerTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**HttpServerTest**](HttpServerTest.md) +[**HttpServerTestResponse**](HttpServerTestResponse.md) ### Authorization diff --git a/thousandeyes-sdk-tests/docs/HttpServerBaseProperties.md b/thousandeyes-sdk-tests/docs/HttpServerBaseProperties.md new file mode 100644 index 00000000..b00280f1 --- /dev/null +++ b/thousandeyes-sdk-tests/docs/HttpServerBaseProperties.md @@ -0,0 +1,62 @@ +# HttpServerBaseProperties + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] +**bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] +**client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] +**content_regex** | **str** | Content regex, this field does not require escaping. | [optional] +**custom_headers** | [**TestCustomHeaders**](TestCustomHeaders.md) | | [optional] +**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. | [optional] [default to 'default'] +**download_limit** | **int** | Specifies maximum number of bytes to download from the target object. | [optional] +**dns_override** | **str** | IP address to use for DNS override. | [optional] +**http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] +**http_time_limit** | **int** | HTTP time limit in seconds. | [optional] [default to 5] +**http_version** | **int** | HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1. | [optional] [default to 2] +**include_headers** | **bool** | Set to `true` to capture response headers for objects loaded by the test. | [optional] [default to True] +**mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] +**network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] +**num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**o_auth** | [**OAuth**](OAuth.md) | | [optional] +**password** | **str** | Password for Basic/NTLM authentication. | [optional] +**path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] +**probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] +**protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] +**ssl_version** | **str** | Reflects the verbose SSL protocol version used by a test. | [optional] [readonly] +**ssl_version_id** | [**TestSslVersionId**](TestSslVersionId.md) | | [optional] +**url** | **str** | Target for the test. | [optional] +**use_ntlm** | **bool** | Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set. | [optional] +**user_agent** | **str** | User-agent string to be provided during the test. | [optional] +**username** | **str** | Username for Basic/NTLM authentication. | [optional] +**verify_certificate** | **bool** | Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. | [optional] [default to False] +**allow_unsafe_legacy_renegotiation** | **bool** | Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. | [optional] [default to True] +**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] + +## Example + +```python +from thousandeyes_sdk.tests.models.http_server_base_properties import HttpServerBaseProperties + +# TODO update the JSON string below +json = "{}" +# create an instance of HttpServerBaseProperties from a JSON string +http_server_base_properties_instance = HttpServerBaseProperties.from_json(json) +# print the JSON string representation of the object +print(HttpServerBaseProperties.to_json()) + +# convert the object into a dict +http_server_base_properties_dict = http_server_base_properties_instance.to_dict() +# create an instance of HttpServerBaseProperties from a dict +http_server_base_properties_from_dict = HttpServerBaseProperties.from_dict(http_server_base_properties_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) + + diff --git a/thousandeyes-sdk-tests/docs/HttpServerInstantTest.md b/thousandeyes-sdk-tests/docs/HttpServerInstantTest.md index 570c03f4..a9bb0848 100644 --- a/thousandeyes-sdk-tests/docs/HttpServerInstantTest.md +++ b/thousandeyes-sdk-tests/docs/HttpServerInstantTest.md @@ -19,12 +19,12 @@ Name | Type | Description | Notes **labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] **shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] **auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] **client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] **content_regex** | **str** | Content regex, this field does not require escaping. | [optional] -**headers** | **List[str]** | HTTP request headers used. | [optional] **custom_headers** | [**TestCustomHeaders**](TestCustomHeaders.md) | | [optional] -**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. | [optional] [default to '200'] +**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. | [optional] [default to 'default'] **download_limit** | **int** | Specifies maximum number of bytes to download from the target object. | [optional] **dns_override** | **str** | IP address to use for DNS override. | [optional] **http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] @@ -34,9 +34,9 @@ Name | Type | Description | Notes **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**o_auth** | [**OAuth**](OAuth.md) | | [optional] **password** | **str** | Password for Basic/NTLM authentication. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] -**post_body** | **str** | Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST. | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] **protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] **ssl_version** | **str** | Reflects the verbose SSL protocol version used by a test. | [optional] [readonly] @@ -47,12 +47,14 @@ Name | Type | Description | Notes **username** | **str** | Username for Basic/NTLM authentication. | [optional] **verify_certificate** | **bool** | Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. | [optional] [default to False] **allow_unsafe_legacy_renegotiation** | **bool** | Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. | [optional] [default to True] -**ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] **follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**headers** | **List[str]** | HTTP request headers used. | [optional] +**post_body** | **str** | Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST. | [optional] +**ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] ## Example diff --git a/thousandeyes-sdk-tests/docs/HttpServerProperties.md b/thousandeyes-sdk-tests/docs/HttpServerProperties.md index ffb891ca..670aa5a7 100644 --- a/thousandeyes-sdk-tests/docs/HttpServerProperties.md +++ b/thousandeyes-sdk-tests/docs/HttpServerProperties.md @@ -6,12 +6,12 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] **client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] **content_regex** | **str** | Content regex, this field does not require escaping. | [optional] -**headers** | **List[str]** | HTTP request headers used. | [optional] **custom_headers** | [**TestCustomHeaders**](TestCustomHeaders.md) | | [optional] -**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. | [optional] [default to '200'] +**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. | [optional] [default to 'default'] **download_limit** | **int** | Specifies maximum number of bytes to download from the target object. | [optional] **dns_override** | **str** | IP address to use for DNS override. | [optional] **http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] @@ -21,9 +21,9 @@ Name | Type | Description | Notes **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**o_auth** | [**OAuth**](OAuth.md) | | [optional] **password** | **str** | Password for Basic/NTLM authentication. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] -**post_body** | **str** | Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST. | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] **protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] **ssl_version** | **str** | Reflects the verbose SSL protocol version used by a test. | [optional] [readonly] @@ -34,11 +34,14 @@ Name | Type | Description | Notes **username** | **str** | Username for Basic/NTLM authentication. | [optional] **verify_certificate** | **bool** | Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. | [optional] [default to False] **allow_unsafe_legacy_renegotiation** | **bool** | Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. | [optional] [default to True] -**ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] **follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**headers** | **List[str]** | HTTP request headers used. | [optional] +**post_body** | **str** | Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST. | [optional] +**ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] **type** | **str** | | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-tests/docs/HttpServerTest.md b/thousandeyes-sdk-tests/docs/HttpServerTest.md index 5f7bbeec..20e3d794 100644 --- a/thousandeyes-sdk-tests/docs/HttpServerTest.md +++ b/thousandeyes-sdk-tests/docs/HttpServerTest.md @@ -23,12 +23,12 @@ Name | Type | Description | Notes **labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] **shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] **auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] **client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] **content_regex** | **str** | Content regex, this field does not require escaping. | [optional] -**headers** | **List[str]** | HTTP request headers used. | [optional] **custom_headers** | [**TestCustomHeaders**](TestCustomHeaders.md) | | [optional] -**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. | [optional] [default to '200'] +**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. | [optional] [default to 'default'] **download_limit** | **int** | Specifies maximum number of bytes to download from the target object. | [optional] **dns_override** | **str** | IP address to use for DNS override. | [optional] **http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] @@ -38,9 +38,9 @@ Name | Type | Description | Notes **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**o_auth** | [**OAuth**](OAuth.md) | | [optional] **password** | **str** | Password for Basic/NTLM authentication. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] -**post_body** | **str** | Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST. | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] **protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] **ssl_version** | **str** | Reflects the verbose SSL protocol version used by a test. | [optional] [readonly] @@ -51,12 +51,14 @@ Name | Type | Description | Notes **username** | **str** | Username for Basic/NTLM authentication. | [optional] **verify_certificate** | **bool** | Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. | [optional] [default to False] **allow_unsafe_legacy_renegotiation** | **bool** | Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. | [optional] [default to True] -**ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] **follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**headers** | **List[str]** | HTTP request headers used. | [optional] +**post_body** | **str** | Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST. | [optional] +**ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] **monitors** | [**List[Monitor]**](Monitor.md) | Contains list of enabled BGP monitors. | [optional] [readonly] diff --git a/thousandeyes-sdk-tests/docs/UpdateHttpServerTest.md b/thousandeyes-sdk-tests/docs/HttpServerTestRequest.md similarity index 86% rename from thousandeyes-sdk-tests/docs/UpdateHttpServerTest.md rename to thousandeyes-sdk-tests/docs/HttpServerTestRequest.md index bf5e7f4c..1222c4ac 100644 --- a/thousandeyes-sdk-tests/docs/UpdateHttpServerTest.md +++ b/thousandeyes-sdk-tests/docs/HttpServerTestRequest.md @@ -1,4 +1,4 @@ -# UpdateHttpServerTest +# HttpServerTestRequest ## Properties @@ -23,12 +23,12 @@ Name | Type | Description | Notes **labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] **shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] **auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] **client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] **content_regex** | **str** | Content regex, this field does not require escaping. | [optional] -**headers** | **List[str]** | HTTP request headers used. | [optional] **custom_headers** | [**TestCustomHeaders**](TestCustomHeaders.md) | | [optional] -**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. | [optional] [default to '200'] +**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. | [optional] [default to 'default'] **download_limit** | **int** | Specifies maximum number of bytes to download from the target object. | [optional] **dns_override** | **str** | IP address to use for DNS override. | [optional] **http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] @@ -38,9 +38,9 @@ Name | Type | Description | Notes **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**o_auth** | [**OAuth**](OAuth.md) | | [optional] **password** | **str** | Password for Basic/NTLM authentication. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] -**post_body** | **str** | Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST. | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] **protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] **ssl_version** | **str** | Reflects the verbose SSL protocol version used by a test. | [optional] [readonly] @@ -51,32 +51,35 @@ Name | Type | Description | Notes **username** | **str** | Username for Basic/NTLM authentication. | [optional] **verify_certificate** | **bool** | Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. | [optional] [default to False] **allow_unsafe_legacy_renegotiation** | **bool** | Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. | [optional] [default to True] -**ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] **follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] -**agents** | [**List[AgentRequest]**](AgentRequest.md) | | [optional] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**headers** | **List[str]** | HTTP request headers used. | [optional] +**post_body** | **str** | Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST. | [optional] +**ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] **monitors** | **List[str]** | Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint) | [optional] +**agents** | [**List[TestAgentRequest]**](TestAgentRequest.md) | Contains list of Agent IDs (get `agentId` from `/agents` endpoint). | ## Example ```python -from thousandeyes_sdk.tests.models.update_http_server_test import UpdateHttpServerTest +from thousandeyes_sdk.tests.models.http_server_test_request import HttpServerTestRequest # TODO update the JSON string below json = "{}" -# create an instance of UpdateHttpServerTest from a JSON string -update_http_server_test_instance = UpdateHttpServerTest.from_json(json) +# create an instance of HttpServerTestRequest from a JSON string +http_server_test_request_instance = HttpServerTestRequest.from_json(json) # print the JSON string representation of the object -print(UpdateHttpServerTest.to_json()) +print(HttpServerTestRequest.to_json()) # convert the object into a dict -update_http_server_test_dict = update_http_server_test_instance.to_dict() -# create an instance of UpdateHttpServerTest from a dict -update_http_server_test_from_dict = UpdateHttpServerTest.from_dict(update_http_server_test_dict) +http_server_test_request_dict = http_server_test_request_instance.to_dict() +# create an instance of HttpServerTestRequest from a dict +http_server_test_request_from_dict = HttpServerTestRequest.from_dict(http_server_test_request_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) diff --git a/thousandeyes-sdk-tests/docs/HttpServerTestResponse.md b/thousandeyes-sdk-tests/docs/HttpServerTestResponse.md new file mode 100644 index 00000000..5447458e --- /dev/null +++ b/thousandeyes-sdk-tests/docs/HttpServerTestResponse.md @@ -0,0 +1,86 @@ +# HttpServerTestResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**interval** | [**TestInterval**](TestInterval.md) | | +**alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] +**enabled** | **bool** | Test is enabled. | [optional] [default to True] +**alert_rules** | [**List[AlertRule]**](AlertRule.md) | Contains list of enabled alert rule objects. | [optional] +**created_by** | **str** | User that created the test. | [optional] [readonly] +**created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] +**description** | **str** | A description of the test. | [optional] +**live_share** | **bool** | Indicates if the test is shared with the account group. | [optional] [readonly] +**modified_by** | **str** | User that modified the test. | [optional] [readonly] +**modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] +**saved_event** | **bool** | Indicates if the test is a saved event. | [optional] [readonly] +**test_id** | **str** | Each test is assigned an unique ID; this is used to access test information and results from other endpoints. | [optional] [readonly] +**test_name** | **str** | The name of the test. Test name must be unique. | [optional] +**type** | **str** | | [optional] [readonly] +**links** | [**TestLinks**](TestLinks.md) | | [optional] +**labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] +**shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] +**auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] +**bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] +**client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] +**content_regex** | **str** | Content regex, this field does not require escaping. | [optional] +**custom_headers** | [**TestCustomHeaders**](TestCustomHeaders.md) | | [optional] +**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. | [optional] [default to 'default'] +**download_limit** | **int** | Specifies maximum number of bytes to download from the target object. | [optional] +**dns_override** | **str** | IP address to use for DNS override. | [optional] +**http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] +**http_time_limit** | **int** | HTTP time limit in seconds. | [optional] [default to 5] +**http_version** | **int** | HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1. | [optional] [default to 2] +**include_headers** | **bool** | Set to `true` to capture response headers for objects loaded by the test. | [optional] [default to True] +**mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] +**network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] +**num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**o_auth** | [**OAuth**](OAuth.md) | | [optional] +**password** | **str** | Password for Basic/NTLM authentication. | [optional] +**path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] +**probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] +**protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] +**ssl_version** | **str** | Reflects the verbose SSL protocol version used by a test. | [optional] [readonly] +**ssl_version_id** | [**TestSslVersionId**](TestSslVersionId.md) | | [optional] +**url** | **str** | Target for the test. | +**use_ntlm** | **bool** | Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set. | [optional] +**user_agent** | **str** | User-agent string to be provided during the test. | [optional] +**username** | **str** | Username for Basic/NTLM authentication. | [optional] +**verify_certificate** | **bool** | Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. | [optional] [default to False] +**allow_unsafe_legacy_renegotiation** | **bool** | Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. | [optional] [default to True] +**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**headers** | **List[str]** | HTTP request headers used. | [optional] +**post_body** | **str** | Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST. | [optional] +**ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] +**bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] +**use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] +**monitors** | [**List[Monitor]**](Monitor.md) | Contains list of enabled BGP monitors. | [optional] [readonly] +**agents** | [**List[AgentResponse]**](AgentResponse.md) | Contains list of agents. | [optional] + +## Example + +```python +from thousandeyes_sdk.tests.models.http_server_test_response import HttpServerTestResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of HttpServerTestResponse from a JSON string +http_server_test_response_instance = HttpServerTestResponse.from_json(json) +# print the JSON string representation of the object +print(HttpServerTestResponse.to_json()) + +# convert the object into a dict +http_server_test_response_dict = http_server_test_response_instance.to_dict() +# create an instance of HttpServerTestResponse from a dict +http_server_test_response_from_dict = HttpServerTestResponse.from_dict(http_server_test_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) + + diff --git a/thousandeyes-sdk-tests/docs/OAuth.md b/thousandeyes-sdk-tests/docs/OAuth.md new file mode 100644 index 00000000..26758052 --- /dev/null +++ b/thousandeyes-sdk-tests/docs/OAuth.md @@ -0,0 +1,37 @@ +# OAuth + +Use this only if you want to use OAuth as the authentication mechanism. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**config_id** | **str** | The ID of the OAuth configuration. | [optional] +**test_url** | **str** | Target for the test. | [optional] +**request_method** | [**RequestMethod**](RequestMethod.md) | | [optional] +**post_body** | **str** | Enter the OAuth body for the HTTP POST request in this field when using OAuth as the authentication mechanism. No special escaping is required. If content is provided in the post body, the `requestMethod` is automatically set to POST. | [optional] +**headers** | **str** | Request headers used for OAuth. | [optional] +**auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**username** | **str** | OAuth username | [optional] +**password** | **str** | OAuth password | [optional] + +## Example + +```python +from thousandeyes_sdk.tests.models.o_auth import OAuth + +# TODO update the JSON string below +json = "{}" +# create an instance of OAuth from a JSON string +o_auth_instance = OAuth.from_json(json) +# print the JSON string representation of the object +print(OAuth.to_json()) + +# convert the object into a dict +o_auth_dict = o_auth_instance.to_dict() +# create an instance of OAuth from a dict +o_auth_from_dict = OAuth.from_dict(o_auth_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) + + diff --git a/thousandeyes-sdk-tests/docs/PageLoadInstantTest.md b/thousandeyes-sdk-tests/docs/PageLoadInstantTest.md index b8dd4668..c5ac0227 100644 --- a/thousandeyes-sdk-tests/docs/PageLoadInstantTest.md +++ b/thousandeyes-sdk-tests/docs/PageLoadInstantTest.md @@ -19,13 +19,14 @@ Name | Type | Description | Notes **labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] **shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] **auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] **client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] -**content_regex** | **str** | Verify content using a regular expression. This field does not require escaping. | [optional] +**content_regex** | **str** | Content regex, this field does not require escaping. | [optional] **custom_headers** | [**TestCustomHeaders**](TestCustomHeaders.md) | | [optional] -**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. | [optional] [default to '200'] -**emulated_device_id** | **str** | id of the emulated device, if one was given when the test was created | [optional] -**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. | [optional] [default to 'default'] +**download_limit** | **int** | Specifies maximum number of bytes to download from the target object. | [optional] +**dns_override** | **str** | IP address to use for DNS override. | [optional] **http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] **http_time_limit** | **int** | HTTP time limit in seconds. | [optional] [default to 5] **http_version** | **int** | HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1. | [optional] [default to 2] @@ -33,8 +34,7 @@ Name | Type | Description | Notes **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] -**page_load_target_time** | **int** | Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`. | [optional] -**page_load_time_limit** | **int** | Page load time limit. Must be larger than the `httpTimeLimit`. | [optional] [default to 10] +**o_auth** | [**OAuth**](OAuth.md) | | [optional] **password** | **str** | Password for Basic/NTLM authentication. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] @@ -47,16 +47,20 @@ Name | Type | Description | Notes **username** | **str** | Username for Basic/NTLM authentication. | [optional] **verify_certificate** | **bool** | Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. | [optional] [default to False] **allow_unsafe_legacy_renegotiation** | **bool** | Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. | [optional] [default to True] +**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**emulated_device_id** | **str** | ID of the emulated device, if one was given when the test was created. | [optional] +**page_load_target_time** | **int** | Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`. | [optional] +**page_load_time_limit** | **int** | Page load time limit. Must be larger than the `httpTimeLimit`. | [optional] [default to 10] **block_domains** | **str** | Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests. | [optional] **disable_screenshot** | **bool** | Enables or disables screenshots on error. Set true to not capture | [optional] [default to False] **allow_mic_and_camera** | **bool** | Set true allow the use of a fake mic and camera in the browser. | [optional] [default to False] **allow_geolocation** | **bool** | Set true to use the agent’s geolocation by the web page. | [optional] [default to False] **browser_language** | **str** | Set one of the available browser language that you want to use to configure the browser. | [optional] **page_loading_strategy** | [**TestPageLoadingStrategy**](TestPageLoadingStrategy.md) | | [optional] -**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] -**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] -**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-tests/docs/PageLoadProperties.md b/thousandeyes-sdk-tests/docs/PageLoadProperties.md index 323bc0f7..d546b8ef 100644 --- a/thousandeyes-sdk-tests/docs/PageLoadProperties.md +++ b/thousandeyes-sdk-tests/docs/PageLoadProperties.md @@ -6,13 +6,14 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] **client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] -**content_regex** | **str** | Verify content using a regular expression. This field does not require escaping. | [optional] +**content_regex** | **str** | Content regex, this field does not require escaping. | [optional] **custom_headers** | [**TestCustomHeaders**](TestCustomHeaders.md) | | [optional] -**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. | [optional] [default to '200'] -**emulated_device_id** | **str** | id of the emulated device, if one was given when the test was created | [optional] -**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. | [optional] [default to 'default'] +**download_limit** | **int** | Specifies maximum number of bytes to download from the target object. | [optional] +**dns_override** | **str** | IP address to use for DNS override. | [optional] **http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] **http_time_limit** | **int** | HTTP time limit in seconds. | [optional] [default to 5] **http_version** | **int** | HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1. | [optional] [default to 2] @@ -20,8 +21,7 @@ Name | Type | Description | Notes **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] -**page_load_target_time** | **int** | Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`. | [optional] -**page_load_time_limit** | **int** | Page load time limit. Must be larger than the `httpTimeLimit`. | [optional] [default to 10] +**o_auth** | [**OAuth**](OAuth.md) | | [optional] **password** | **str** | Password for Basic/NTLM authentication. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] @@ -34,16 +34,21 @@ Name | Type | Description | Notes **username** | **str** | Username for Basic/NTLM authentication. | [optional] **verify_certificate** | **bool** | Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. | [optional] [default to False] **allow_unsafe_legacy_renegotiation** | **bool** | Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. | [optional] [default to True] +**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**emulated_device_id** | **str** | ID of the emulated device, if one was given when the test was created. | [optional] +**page_load_target_time** | **int** | Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`. | [optional] +**page_load_time_limit** | **int** | Page load time limit. Must be larger than the `httpTimeLimit`. | [optional] [default to 10] **block_domains** | **str** | Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests. | [optional] **disable_screenshot** | **bool** | Enables or disables screenshots on error. Set true to not capture | [optional] [default to False] **allow_mic_and_camera** | **bool** | Set true allow the use of a fake mic and camera in the browser. | [optional] [default to False] **allow_geolocation** | **bool** | Set true to use the agent’s geolocation by the web page. | [optional] [default to False] **browser_language** | **str** | Set one of the available browser language that you want to use to configure the browser. | [optional] **page_loading_strategy** | [**TestPageLoadingStrategy**](TestPageLoadingStrategy.md) | | [optional] -**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] **type** | **str** | | [optional] [readonly] -**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] -**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] ## Example diff --git a/thousandeyes-sdk-tests/docs/PageLoadTest.md b/thousandeyes-sdk-tests/docs/PageLoadTest.md index 2f141328..e816b173 100644 --- a/thousandeyes-sdk-tests/docs/PageLoadTest.md +++ b/thousandeyes-sdk-tests/docs/PageLoadTest.md @@ -23,13 +23,14 @@ Name | Type | Description | Notes **labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] **shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] **auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] **client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] -**content_regex** | **str** | Verify content using a regular expression. This field does not require escaping. | [optional] +**content_regex** | **str** | Content regex, this field does not require escaping. | [optional] **custom_headers** | [**TestCustomHeaders**](TestCustomHeaders.md) | | [optional] -**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. | [optional] [default to '200'] -**emulated_device_id** | **str** | id of the emulated device, if one was given when the test was created | [optional] -**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. | [optional] [default to 'default'] +**download_limit** | **int** | Specifies maximum number of bytes to download from the target object. | [optional] +**dns_override** | **str** | IP address to use for DNS override. | [optional] **http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] **http_time_limit** | **int** | HTTP time limit in seconds. | [optional] [default to 5] **http_version** | **int** | HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1. | [optional] [default to 2] @@ -37,8 +38,7 @@ Name | Type | Description | Notes **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] -**page_load_target_time** | **int** | Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`. | [optional] -**page_load_time_limit** | **int** | Page load time limit. Must be larger than the `httpTimeLimit`. | [optional] [default to 10] +**o_auth** | [**OAuth**](OAuth.md) | | [optional] **password** | **str** | Password for Basic/NTLM authentication. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] @@ -51,16 +51,20 @@ Name | Type | Description | Notes **username** | **str** | Username for Basic/NTLM authentication. | [optional] **verify_certificate** | **bool** | Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. | [optional] [default to False] **allow_unsafe_legacy_renegotiation** | **bool** | Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. | [optional] [default to True] +**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**emulated_device_id** | **str** | ID of the emulated device, if one was given when the test was created. | [optional] +**page_load_target_time** | **int** | Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`. | [optional] +**page_load_time_limit** | **int** | Page load time limit. Must be larger than the `httpTimeLimit`. | [optional] [default to 10] **block_domains** | **str** | Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests. | [optional] **disable_screenshot** | **bool** | Enables or disables screenshots on error. Set true to not capture | [optional] [default to False] **allow_mic_and_camera** | **bool** | Set true allow the use of a fake mic and camera in the browser. | [optional] [default to False] **allow_geolocation** | **bool** | Set true to use the agent’s geolocation by the web page. | [optional] [default to False] **browser_language** | **str** | Set one of the available browser language that you want to use to configure the browser. | [optional] **page_loading_strategy** | [**TestPageLoadingStrategy**](TestPageLoadingStrategy.md) | | [optional] -**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] -**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] -**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] **monitors** | [**List[Monitor]**](Monitor.md) | Contains list of enabled BGP monitors. | [optional] [readonly] diff --git a/thousandeyes-sdk-tests/docs/UpdatePageLoadTest.md b/thousandeyes-sdk-tests/docs/PageLoadTestRequest.md similarity index 83% rename from thousandeyes-sdk-tests/docs/UpdatePageLoadTest.md rename to thousandeyes-sdk-tests/docs/PageLoadTestRequest.md index 8fe45447..cb6643a6 100644 --- a/thousandeyes-sdk-tests/docs/UpdatePageLoadTest.md +++ b/thousandeyes-sdk-tests/docs/PageLoadTestRequest.md @@ -1,4 +1,4 @@ -# UpdatePageLoadTest +# PageLoadTestRequest ## Properties @@ -23,13 +23,14 @@ Name | Type | Description | Notes **labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] **shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] **auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] **client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] -**content_regex** | **str** | Verify content using a regular expression. This field does not require escaping. | [optional] +**content_regex** | **str** | Content regex, this field does not require escaping. | [optional] **custom_headers** | [**TestCustomHeaders**](TestCustomHeaders.md) | | [optional] -**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. | [optional] [default to '200'] -**emulated_device_id** | **str** | id of the emulated device, if one was given when the test was created | [optional] -**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. | [optional] [default to 'default'] +**download_limit** | **int** | Specifies maximum number of bytes to download from the target object. | [optional] +**dns_override** | **str** | IP address to use for DNS override. | [optional] **http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] **http_time_limit** | **int** | HTTP time limit in seconds. | [optional] [default to 5] **http_version** | **int** | HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1. | [optional] [default to 2] @@ -37,8 +38,7 @@ Name | Type | Description | Notes **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] -**page_load_target_time** | **int** | Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`. | [optional] -**page_load_time_limit** | **int** | Page load time limit. Must be larger than the `httpTimeLimit`. | [optional] [default to 10] +**o_auth** | [**OAuth**](OAuth.md) | | [optional] **password** | **str** | Password for Basic/NTLM authentication. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] @@ -51,38 +51,43 @@ Name | Type | Description | Notes **username** | **str** | Username for Basic/NTLM authentication. | [optional] **verify_certificate** | **bool** | Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. | [optional] [default to False] **allow_unsafe_legacy_renegotiation** | **bool** | Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. | [optional] [default to True] +**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**emulated_device_id** | **str** | ID of the emulated device, if one was given when the test was created. | [optional] +**page_load_target_time** | **int** | Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`. | [optional] +**page_load_time_limit** | **int** | Page load time limit. Must be larger than the `httpTimeLimit`. | [optional] [default to 10] **block_domains** | **str** | Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests. | [optional] **disable_screenshot** | **bool** | Enables or disables screenshots on error. Set true to not capture | [optional] [default to False] **allow_mic_and_camera** | **bool** | Set true allow the use of a fake mic and camera in the browser. | [optional] [default to False] **allow_geolocation** | **bool** | Set true to use the agent’s geolocation by the web page. | [optional] [default to False] **browser_language** | **str** | Set one of the available browser language that you want to use to configure the browser. | [optional] **page_loading_strategy** | [**TestPageLoadingStrategy**](TestPageLoadingStrategy.md) | | [optional] -**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] -**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] -**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] -**agents** | [**List[AgentRequest]**](AgentRequest.md) | | [optional] **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] **monitors** | **List[str]** | Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint) | [optional] **http_interval** | [**TestHttpInterval**](TestHttpInterval.md) | | [optional] **subinterval** | [**TestSubInterval**](TestSubInterval.md) | | [optional] +**agents** | [**List[TestAgentRequest]**](TestAgentRequest.md) | Contains list of Agent IDs (get `agentId` from `/agents` endpoint). | ## Example ```python -from thousandeyes_sdk.tests.models.update_page_load_test import UpdatePageLoadTest +from thousandeyes_sdk.tests.models.page_load_test_request import PageLoadTestRequest # TODO update the JSON string below json = "{}" -# create an instance of UpdatePageLoadTest from a JSON string -update_page_load_test_instance = UpdatePageLoadTest.from_json(json) +# create an instance of PageLoadTestRequest from a JSON string +page_load_test_request_instance = PageLoadTestRequest.from_json(json) # print the JSON string representation of the object -print(UpdatePageLoadTest.to_json()) +print(PageLoadTestRequest.to_json()) # convert the object into a dict -update_page_load_test_dict = update_page_load_test_instance.to_dict() -# create an instance of UpdatePageLoadTest from a dict -update_page_load_test_from_dict = UpdatePageLoadTest.from_dict(update_page_load_test_dict) +page_load_test_request_dict = page_load_test_request_instance.to_dict() +# create an instance of PageLoadTestRequest from a dict +page_load_test_request_from_dict = PageLoadTestRequest.from_dict(page_load_test_request_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) diff --git a/thousandeyes-sdk-tests/docs/PageLoadTestResponse.md b/thousandeyes-sdk-tests/docs/PageLoadTestResponse.md new file mode 100644 index 00000000..89433573 --- /dev/null +++ b/thousandeyes-sdk-tests/docs/PageLoadTestResponse.md @@ -0,0 +1,94 @@ +# PageLoadTestResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**interval** | [**TestInterval**](TestInterval.md) | | +**alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] +**enabled** | **bool** | Test is enabled. | [optional] [default to True] +**alert_rules** | [**List[AlertRule]**](AlertRule.md) | Contains list of enabled alert rule objects. | [optional] +**created_by** | **str** | User that created the test. | [optional] [readonly] +**created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] +**description** | **str** | A description of the test. | [optional] +**live_share** | **bool** | Indicates if the test is shared with the account group. | [optional] [readonly] +**modified_by** | **str** | User that modified the test. | [optional] [readonly] +**modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] +**saved_event** | **bool** | Indicates if the test is a saved event. | [optional] [readonly] +**test_id** | **str** | Each test is assigned an unique ID; this is used to access test information and results from other endpoints. | [optional] [readonly] +**test_name** | **str** | The name of the test. Test name must be unique. | [optional] +**type** | **str** | | [optional] [readonly] +**links** | [**TestLinks**](TestLinks.md) | | [optional] +**labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] +**shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] +**auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] +**bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] +**client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] +**content_regex** | **str** | Content regex, this field does not require escaping. | [optional] +**custom_headers** | [**TestCustomHeaders**](TestCustomHeaders.md) | | [optional] +**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. | [optional] [default to 'default'] +**download_limit** | **int** | Specifies maximum number of bytes to download from the target object. | [optional] +**dns_override** | **str** | IP address to use for DNS override. | [optional] +**http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] +**http_time_limit** | **int** | HTTP time limit in seconds. | [optional] [default to 5] +**http_version** | **int** | HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1. | [optional] [default to 2] +**include_headers** | **bool** | Set to `true` to capture response headers for objects loaded by the test. | [optional] [default to True] +**mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] +**network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] +**num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**o_auth** | [**OAuth**](OAuth.md) | | [optional] +**password** | **str** | Password for Basic/NTLM authentication. | [optional] +**path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] +**probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] +**protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] +**ssl_version** | **str** | Reflects the verbose SSL protocol version used by a test. | [optional] [readonly] +**ssl_version_id** | [**TestSslVersionId**](TestSslVersionId.md) | | [optional] +**url** | **str** | Target for the test. | +**use_ntlm** | **bool** | Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set. | [optional] +**user_agent** | **str** | User-agent string to be provided during the test. | [optional] +**username** | **str** | Username for Basic/NTLM authentication. | [optional] +**verify_certificate** | **bool** | Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. | [optional] [default to False] +**allow_unsafe_legacy_renegotiation** | **bool** | Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. | [optional] [default to True] +**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**emulated_device_id** | **str** | ID of the emulated device, if one was given when the test was created. | [optional] +**page_load_target_time** | **int** | Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`. | [optional] +**page_load_time_limit** | **int** | Page load time limit. Must be larger than the `httpTimeLimit`. | [optional] [default to 10] +**block_domains** | **str** | Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests. | [optional] +**disable_screenshot** | **bool** | Enables or disables screenshots on error. Set true to not capture | [optional] [default to False] +**allow_mic_and_camera** | **bool** | Set true allow the use of a fake mic and camera in the browser. | [optional] [default to False] +**allow_geolocation** | **bool** | Set true to use the agent’s geolocation by the web page. | [optional] [default to False] +**browser_language** | **str** | Set one of the available browser language that you want to use to configure the browser. | [optional] +**page_loading_strategy** | [**TestPageLoadingStrategy**](TestPageLoadingStrategy.md) | | [optional] +**bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] +**use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] +**monitors** | [**List[Monitor]**](Monitor.md) | Contains list of enabled BGP monitors. | [optional] [readonly] +**http_interval** | [**TestHttpInterval**](TestHttpInterval.md) | | [optional] +**subinterval** | [**TestSubInterval**](TestSubInterval.md) | | [optional] +**agents** | [**List[AgentResponse]**](AgentResponse.md) | Contains list of agents. | [optional] + +## Example + +```python +from thousandeyes_sdk.tests.models.page_load_test_response import PageLoadTestResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PageLoadTestResponse from a JSON string +page_load_test_response_instance = PageLoadTestResponse.from_json(json) +# print the JSON string representation of the object +print(PageLoadTestResponse.to_json()) + +# convert the object into a dict +page_load_test_response_dict = page_load_test_response_instance.to_dict() +# create an instance of PageLoadTestResponse from a dict +page_load_test_response_from_dict = PageLoadTestResponse.from_dict(page_load_test_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) + + diff --git a/thousandeyes-sdk-tests/docs/PageLoadApi.md b/thousandeyes-sdk-tests/docs/PageLoadTestsApi.md similarity index 70% rename from thousandeyes-sdk-tests/docs/PageLoadApi.md rename to thousandeyes-sdk-tests/docs/PageLoadTestsApi.md index 31572e88..c205932b 100644 --- a/thousandeyes-sdk-tests/docs/PageLoadApi.md +++ b/thousandeyes-sdk-tests/docs/PageLoadTestsApi.md @@ -1,18 +1,18 @@ -# thousandeyes_sdk.tests.PageLoadApi +# thousandeyes_sdk.tests.PageLoadTestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_page_load_test**](PageLoadApi.md#create_page_load_test) | **POST** /v7/tests/page-load | Create Page Load test -[**delete_page_load_test**](PageLoadApi.md#delete_page_load_test) | **DELETE** /v7/tests/page-load/{testId} | Delete Page Load test -[**get_page_load_test**](PageLoadApi.md#get_page_load_test) | **GET** /v7/tests/page-load/{testId} | Get Page Load test -[**get_page_load_tests**](PageLoadApi.md#get_page_load_tests) | **GET** /v7/tests/page-load | List Page Load tests -[**update_page_load_test**](PageLoadApi.md#update_page_load_test) | **PUT** /v7/tests/page-load/{testId} | Update Page Load test +[**create_page_load_test**](PageLoadTestsApi.md#create_page_load_test) | **POST** /tests/page-load | Create Page Load test +[**delete_page_load_test**](PageLoadTestsApi.md#delete_page_load_test) | **DELETE** /tests/page-load/{testId} | Delete Page Load test +[**get_page_load_test**](PageLoadTestsApi.md#get_page_load_test) | **GET** /tests/page-load/{testId} | Get Page Load test +[**get_page_load_tests**](PageLoadTestsApi.md#get_page_load_tests) | **GET** /tests/page-load | List Page Load tests +[**update_page_load_test**](PageLoadTestsApi.md#update_page_load_test) | **PUT** /tests/page-load/{testId} | Update Page Load test # **create_page_load_test** -> PageLoadTest create_page_load_test(update_page_load_test, aid=aid, expand=expand) +> PageLoadTestResponse create_page_load_test(page_load_test_request, aid=aid, expand=expand) Create Page Load test @@ -24,16 +24,16 @@ Creates a new Page Load test. This method requires Account Admin permissions. ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.page_load_test import PageLoadTest -from thousandeyes_sdk.tests.models.update_page_load_test import UpdatePageLoadTest +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions +from thousandeyes_sdk.tests.models.page_load_test_request import PageLoadTestRequest +from thousandeyes_sdk.tests.models.page_load_test_response import PageLoadTestResponse from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -49,18 +49,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.PageLoadApi(api_client) - update_page_load_test = thousandeyes_sdk.tests.UpdatePageLoadTest() # UpdatePageLoadTest | + api_instance = thousandeyes_sdk.tests.PageLoadTestsApi(api_client) + page_load_test_request = thousandeyes_sdk.tests.PageLoadTestRequest() # PageLoadTestRequest | 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.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Create Page Load test - api_response = api_instance.create_page_load_test(update_page_load_test, aid=aid, expand=expand) - print("The response of PageLoadApi->create_page_load_test:\n") + api_response = api_instance.create_page_load_test(page_load_test_request, aid=aid, expand=expand) + print("The response of PageLoadTestsApi->create_page_load_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling PageLoadApi->create_page_load_test: %s\n" % e) + print("Exception when calling PageLoadTestsApi->create_page_load_test: %s\n" % e) ``` @@ -70,13 +70,13 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **update_page_load_test** | [**UpdatePageLoadTest**](UpdatePageLoadTest.md)| | + **page_load_test_request** | [**PageLoadTestRequest**](PageLoadTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**PageLoadTest**](PageLoadTest.md) +[**PageLoadTestResponse**](PageLoadTestResponse.md) ### Authorization @@ -119,10 +119,10 @@ import thousandeyes_sdk.tests from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -138,15 +138,15 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.PageLoadApi(api_client) - test_id = '281474976710706' # str | ID of the test + api_instance = thousandeyes_sdk.tests.PageLoadTestsApi(api_client) + test_id = '202701' # str | Test ID aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) try: # Delete Page Load test api_instance.delete_page_load_test(test_id, aid=aid) except Exception as e: - print("Exception when calling PageLoadApi->delete_page_load_test: %s\n" % e) + print("Exception when calling PageLoadTestsApi->delete_page_load_test: %s\n" % e) ``` @@ -156,7 +156,7 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | + **test_id** | **str**| Test ID | **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] ### Return type @@ -188,7 +188,7 @@ 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) # **get_page_load_test** -> PageLoadTest get_page_load_test(test_id, aid=aid, expand=expand) +> PageLoadTestResponse get_page_load_test(test_id, aid=aid, expand=expand) Get Page Load test @@ -200,15 +200,15 @@ Returns details for a Page Load test, including name, intervals, targets, alert ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.page_load_test import PageLoadTest +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions +from thousandeyes_sdk.tests.models.page_load_test_response import PageLoadTestResponse from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -224,18 +224,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.PageLoadApi(api_client) - test_id = '281474976710706' # str | ID of the test + api_instance = thousandeyes_sdk.tests.PageLoadTestsApi(api_client) + test_id = '202701' # str | Test 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) - expand = [thousandeyes_sdk.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Get Page Load test api_response = api_instance.get_page_load_test(test_id, aid=aid, expand=expand) - print("The response of PageLoadApi->get_page_load_test:\n") + print("The response of PageLoadTestsApi->get_page_load_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling PageLoadApi->get_page_load_test: %s\n" % e) + print("Exception when calling PageLoadTestsApi->get_page_load_test: %s\n" % e) ``` @@ -245,13 +245,13 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | + **test_id** | **str**| Test 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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**PageLoadTest**](PageLoadTest.md) +[**PageLoadTestResponse**](PageLoadTestResponse.md) ### Authorization @@ -294,10 +294,10 @@ from thousandeyes_sdk.tests.models.page_load_tests import PageLoadTests from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -313,16 +313,16 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.PageLoadApi(api_client) + api_instance = thousandeyes_sdk.tests.PageLoadTestsApi(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 Page Load tests api_response = api_instance.get_page_load_tests(aid=aid) - print("The response of PageLoadApi->get_page_load_tests:\n") + print("The response of PageLoadTestsApi->get_page_load_tests:\n") pprint(api_response) except Exception as e: - print("Exception when calling PageLoadApi->get_page_load_tests: %s\n" % e) + print("Exception when calling PageLoadTestsApi->get_page_load_tests: %s\n" % e) ``` @@ -363,7 +363,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **update_page_load_test** -> PageLoadTest update_page_load_test(test_id, update_page_load_test, aid=aid, expand=expand) +> PageLoadTestResponse update_page_load_test(test_id, page_load_test_request, aid=aid, expand=expand) Update Page Load test @@ -375,16 +375,16 @@ Updates a Page Load test. The target test cannot be a live share or saved event. ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.page_load_test import PageLoadTest -from thousandeyes_sdk.tests.models.update_page_load_test import UpdatePageLoadTest +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions +from thousandeyes_sdk.tests.models.page_load_test_request import PageLoadTestRequest +from thousandeyes_sdk.tests.models.page_load_test_response import PageLoadTestResponse from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -400,19 +400,19 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.PageLoadApi(api_client) - test_id = '281474976710706' # str | ID of the test - update_page_load_test = thousandeyes_sdk.tests.UpdatePageLoadTest() # UpdatePageLoadTest | + api_instance = thousandeyes_sdk.tests.PageLoadTestsApi(api_client) + test_id = '202701' # str | Test ID + page_load_test_request = thousandeyes_sdk.tests.PageLoadTestRequest() # PageLoadTestRequest | 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.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Update Page Load test - api_response = api_instance.update_page_load_test(test_id, update_page_load_test, aid=aid, expand=expand) - print("The response of PageLoadApi->update_page_load_test:\n") + api_response = api_instance.update_page_load_test(test_id, page_load_test_request, aid=aid, expand=expand) + print("The response of PageLoadTestsApi->update_page_load_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling PageLoadApi->update_page_load_test: %s\n" % e) + print("Exception when calling PageLoadTestsApi->update_page_load_test: %s\n" % e) ``` @@ -422,14 +422,14 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | - **update_page_load_test** | [**UpdatePageLoadTest**](UpdatePageLoadTest.md)| | + **test_id** | **str**| Test ID | + **page_load_test_request** | [**PageLoadTestRequest**](PageLoadTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**PageLoadTest**](PageLoadTest.md) +[**PageLoadTestResponse**](PageLoadTestResponse.md) ### Authorization diff --git a/thousandeyes-sdk-tests/docs/PathVisualizationInterfaceGroupsApi.md b/thousandeyes-sdk-tests/docs/PathVisualizationInterfaceGroupsApi.md index d682f34b..52c88170 100644 --- a/thousandeyes-sdk-tests/docs/PathVisualizationInterfaceGroupsApi.md +++ b/thousandeyes-sdk-tests/docs/PathVisualizationInterfaceGroupsApi.md @@ -1,13 +1,13 @@ # thousandeyes_sdk.tests.PathVisualizationInterfaceGroupsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_path_vis_interface_groups**](PathVisualizationInterfaceGroupsApi.md#create_path_vis_interface_groups) | **POST** /v7/network/path-vis/interface-groups | Create interface group for path visualization -[**delete_path_vis_interface_group**](PathVisualizationInterfaceGroupsApi.md#delete_path_vis_interface_group) | **DELETE** /v7/network/path-vis/interface-groups/{interfaceGroupId} | Delete interface group -[**get_path_vis_interface_groups**](PathVisualizationInterfaceGroupsApi.md#get_path_vis_interface_groups) | **GET** /v7/network/path-vis/interface-groups | List interface groups for path visualization -[**update_path_vis_interface_group**](PathVisualizationInterfaceGroupsApi.md#update_path_vis_interface_group) | **PUT** /v7/network/path-vis/interface-groups/{interfaceGroupId} | Update interface group +[**create_path_vis_interface_groups**](PathVisualizationInterfaceGroupsApi.md#create_path_vis_interface_groups) | **POST** /network/path-vis/interface-groups | Create interface group for path visualization +[**delete_path_vis_interface_group**](PathVisualizationInterfaceGroupsApi.md#delete_path_vis_interface_group) | **DELETE** /network/path-vis/interface-groups/{interfaceGroupId} | Delete interface group +[**get_path_vis_interface_groups**](PathVisualizationInterfaceGroupsApi.md#get_path_vis_interface_groups) | **GET** /network/path-vis/interface-groups | List interface groups for path visualization +[**update_path_vis_interface_group**](PathVisualizationInterfaceGroupsApi.md#update_path_vis_interface_group) | **PUT** /network/path-vis/interface-groups/{interfaceGroupId} | Update interface group # **create_path_vis_interface_groups** @@ -27,10 +27,10 @@ from thousandeyes_sdk.tests.models.interface_group import InterfaceGroup from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -114,10 +114,10 @@ import thousandeyes_sdk.tests from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -199,10 +199,10 @@ from thousandeyes_sdk.tests.models.interface_groups import InterfaceGroups from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -284,10 +284,10 @@ from thousandeyes_sdk.tests.models.interface_group import InterfaceGroup from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters diff --git a/thousandeyes-sdk-tests/docs/RequestMethod.md b/thousandeyes-sdk-tests/docs/RequestMethod.md new file mode 100644 index 00000000..06eb0c1c --- /dev/null +++ b/thousandeyes-sdk-tests/docs/RequestMethod.md @@ -0,0 +1,12 @@ +# RequestMethod + +HTTP request method. + +## 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) + + diff --git a/thousandeyes-sdk-tests/docs/SIPServerApi.md b/thousandeyes-sdk-tests/docs/SIPServerTestsApi.md similarity index 70% rename from thousandeyes-sdk-tests/docs/SIPServerApi.md rename to thousandeyes-sdk-tests/docs/SIPServerTestsApi.md index 8521793e..6f3b4dac 100644 --- a/thousandeyes-sdk-tests/docs/SIPServerApi.md +++ b/thousandeyes-sdk-tests/docs/SIPServerTestsApi.md @@ -1,18 +1,18 @@ -# thousandeyes_sdk.tests.SIPServerApi +# thousandeyes_sdk.tests.SIPServerTestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_sip_server_test**](SIPServerApi.md#create_sip_server_test) | **POST** /v7/tests/sip-server | Create SIP Server test -[**delete_sip_server_test**](SIPServerApi.md#delete_sip_server_test) | **DELETE** /v7/tests/sip-server/{testId} | Delete SIP Server test -[**get_sip_server_test**](SIPServerApi.md#get_sip_server_test) | **GET** /v7/tests/sip-server/{testId} | Get SIP Server test -[**get_sip_server_tests**](SIPServerApi.md#get_sip_server_tests) | **GET** /v7/tests/sip-server | List SIP Server tests -[**update_sip_server_test**](SIPServerApi.md#update_sip_server_test) | **PUT** /v7/tests/sip-server/{testId} | Update SIP Server test +[**create_sip_server_test**](SIPServerTestsApi.md#create_sip_server_test) | **POST** /tests/sip-server | Create SIP Server test +[**delete_sip_server_test**](SIPServerTestsApi.md#delete_sip_server_test) | **DELETE** /tests/sip-server/{testId} | Delete SIP Server test +[**get_sip_server_test**](SIPServerTestsApi.md#get_sip_server_test) | **GET** /tests/sip-server/{testId} | Get SIP Server test +[**get_sip_server_tests**](SIPServerTestsApi.md#get_sip_server_tests) | **GET** /tests/sip-server | List SIP Server tests +[**update_sip_server_test**](SIPServerTestsApi.md#update_sip_server_test) | **PUT** /tests/sip-server/{testId} | Update SIP Server test # **create_sip_server_test** -> SipServerTest create_sip_server_test(update_sip_server_test, aid=aid, expand=expand) +> SipServerTestResponse create_sip_server_test(sip_server_test_request, aid=aid, expand=expand) Create SIP Server test @@ -24,16 +24,16 @@ Creates a new SIP Server test. This method requires Account Admin permissions. ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.sip_server_test import SipServerTest -from thousandeyes_sdk.tests.models.update_sip_server_test import UpdateSipServerTest +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions +from thousandeyes_sdk.tests.models.sip_server_test_request import SipServerTestRequest +from thousandeyes_sdk.tests.models.sip_server_test_response import SipServerTestResponse from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -49,18 +49,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.SIPServerApi(api_client) - update_sip_server_test = thousandeyes_sdk.tests.UpdateSipServerTest() # UpdateSipServerTest | + api_instance = thousandeyes_sdk.tests.SIPServerTestsApi(api_client) + sip_server_test_request = thousandeyes_sdk.tests.SipServerTestRequest() # SipServerTestRequest | 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.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Create SIP Server test - api_response = api_instance.create_sip_server_test(update_sip_server_test, aid=aid, expand=expand) - print("The response of SIPServerApi->create_sip_server_test:\n") + api_response = api_instance.create_sip_server_test(sip_server_test_request, aid=aid, expand=expand) + print("The response of SIPServerTestsApi->create_sip_server_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling SIPServerApi->create_sip_server_test: %s\n" % e) + print("Exception when calling SIPServerTestsApi->create_sip_server_test: %s\n" % e) ``` @@ -70,13 +70,13 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **update_sip_server_test** | [**UpdateSipServerTest**](UpdateSipServerTest.md)| | + **sip_server_test_request** | [**SipServerTestRequest**](SipServerTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**SipServerTest**](SipServerTest.md) +[**SipServerTestResponse**](SipServerTestResponse.md) ### Authorization @@ -119,10 +119,10 @@ import thousandeyes_sdk.tests from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -138,15 +138,15 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.SIPServerApi(api_client) - test_id = '281474976710706' # str | ID of the test + api_instance = thousandeyes_sdk.tests.SIPServerTestsApi(api_client) + test_id = '202701' # str | Test ID aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) try: # Delete SIP Server test api_instance.delete_sip_server_test(test_id, aid=aid) except Exception as e: - print("Exception when calling SIPServerApi->delete_sip_server_test: %s\n" % e) + print("Exception when calling SIPServerTestsApi->delete_sip_server_test: %s\n" % e) ``` @@ -156,7 +156,7 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | + **test_id** | **str**| Test ID | **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] ### Return type @@ -186,7 +186,7 @@ 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) # **get_sip_server_test** -> SipServerTest get_sip_server_test(test_id, aid=aid, expand=expand) +> SipServerTestResponse get_sip_server_test(test_id, aid=aid, expand=expand) Get SIP Server test @@ -198,15 +198,15 @@ Returns details for a SIP Server test, including name, intervals, targets, alert ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.sip_server_test import SipServerTest +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions +from thousandeyes_sdk.tests.models.sip_server_test_response import SipServerTestResponse from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -222,18 +222,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.SIPServerApi(api_client) - test_id = '281474976710706' # str | ID of the test + api_instance = thousandeyes_sdk.tests.SIPServerTestsApi(api_client) + test_id = '202701' # str | Test 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) - expand = [thousandeyes_sdk.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Get SIP Server test api_response = api_instance.get_sip_server_test(test_id, aid=aid, expand=expand) - print("The response of SIPServerApi->get_sip_server_test:\n") + print("The response of SIPServerTestsApi->get_sip_server_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling SIPServerApi->get_sip_server_test: %s\n" % e) + print("Exception when calling SIPServerTestsApi->get_sip_server_test: %s\n" % e) ``` @@ -243,13 +243,13 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | + **test_id** | **str**| Test 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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**SipServerTest**](SipServerTest.md) +[**SipServerTestResponse**](SipServerTestResponse.md) ### Authorization @@ -292,10 +292,10 @@ from thousandeyes_sdk.tests.models.sip_server_tests import SipServerTests from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -311,16 +311,16 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.SIPServerApi(api_client) + api_instance = thousandeyes_sdk.tests.SIPServerTestsApi(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 SIP Server tests api_response = api_instance.get_sip_server_tests(aid=aid) - print("The response of SIPServerApi->get_sip_server_tests:\n") + print("The response of SIPServerTestsApi->get_sip_server_tests:\n") pprint(api_response) except Exception as e: - print("Exception when calling SIPServerApi->get_sip_server_tests: %s\n" % e) + print("Exception when calling SIPServerTestsApi->get_sip_server_tests: %s\n" % e) ``` @@ -361,7 +361,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **update_sip_server_test** -> SipServerTest update_sip_server_test(test_id, update_sip_server_test, aid=aid, expand=expand) +> SipServerTestResponse update_sip_server_test(test_id, sip_server_test_request, aid=aid, expand=expand) Update SIP Server test @@ -373,16 +373,16 @@ Updates a SIP Server test. The target test cannot be a live share or saved event ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.sip_server_test import SipServerTest -from thousandeyes_sdk.tests.models.update_sip_server_test import UpdateSipServerTest +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions +from thousandeyes_sdk.tests.models.sip_server_test_request import SipServerTestRequest +from thousandeyes_sdk.tests.models.sip_server_test_response import SipServerTestResponse from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -398,19 +398,19 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.SIPServerApi(api_client) - test_id = '281474976710706' # str | ID of the test - update_sip_server_test = thousandeyes_sdk.tests.UpdateSipServerTest() # UpdateSipServerTest | + api_instance = thousandeyes_sdk.tests.SIPServerTestsApi(api_client) + test_id = '202701' # str | Test ID + sip_server_test_request = thousandeyes_sdk.tests.SipServerTestRequest() # SipServerTestRequest | 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.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Update SIP Server test - api_response = api_instance.update_sip_server_test(test_id, update_sip_server_test, aid=aid, expand=expand) - print("The response of SIPServerApi->update_sip_server_test:\n") + api_response = api_instance.update_sip_server_test(test_id, sip_server_test_request, aid=aid, expand=expand) + print("The response of SIPServerTestsApi->update_sip_server_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling SIPServerApi->update_sip_server_test: %s\n" % e) + print("Exception when calling SIPServerTestsApi->update_sip_server_test: %s\n" % e) ``` @@ -420,14 +420,14 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | - **update_sip_server_test** | [**UpdateSipServerTest**](UpdateSipServerTest.md)| | + **test_id** | **str**| Test ID | + **sip_server_test_request** | [**SipServerTestRequest**](SipServerTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**SipServerTest**](SipServerTest.md) +[**SipServerTestResponse**](SipServerTestResponse.md) ### Authorization diff --git a/thousandeyes-sdk-tests/docs/SensitivityLevel.md b/thousandeyes-sdk-tests/docs/SensitivityLevel.md new file mode 100644 index 00000000..ac33f6e6 --- /dev/null +++ b/thousandeyes-sdk-tests/docs/SensitivityLevel.md @@ -0,0 +1,12 @@ +# SensitivityLevel + +Used when `roundsViolatingMode` is set to `auto`. The default is `medium`. Higher sensitivity increases the likelihood of triggering alerts. + +## 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) + + diff --git a/thousandeyes-sdk-tests/docs/SipServerInstantTest.md b/thousandeyes-sdk-tests/docs/SipServerInstantTest.md index fe488893..ffbd74a7 100644 --- a/thousandeyes-sdk-tests/docs/SipServerInstantTest.md +++ b/thousandeyes-sdk-tests/docs/SipServerInstantTest.md @@ -29,7 +29,6 @@ Name | Type | Description | Notes **sip_time_limit** | **int** | Time limit in milliseconds. | [optional] [default to 5] **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] **ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-tests/docs/SipServerTest.md b/thousandeyes-sdk-tests/docs/SipServerTest.md index 85b789ac..3e84dc9f 100644 --- a/thousandeyes-sdk-tests/docs/SipServerTest.md +++ b/thousandeyes-sdk-tests/docs/SipServerTest.md @@ -9,6 +9,9 @@ Name | Type | Description | Notes **alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] **enabled** | **bool** | Test is enabled. | [optional] [default to True] **alert_rules** | [**List[AlertRule]**](AlertRule.md) | Contains list of enabled alert rule objects. | [optional] +**bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] +**use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] +**monitors** | [**List[Monitor]**](Monitor.md) | Contains list of enabled BGP monitors. | [optional] [readonly] **created_by** | **str** | User that created the test. | [optional] [readonly] **created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] **description** | **str** | A description of the test. | [optional] @@ -33,16 +36,12 @@ Name | Type | Description | Notes **sip_time_limit** | **int** | Time limit in milliseconds. | [optional] [default to 5] **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] **ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] **auth_user** | **str** | Username for authentication with SIP server. | [optional] **password** | **str** | Password for Basic/NTLM authentication. | [optional] **port** | **int** | Target port. | [default to 49153] **protocol** | [**SipTestProtocol**](SipTestProtocol.md) | | [optional] **sip_registrar** | **str** | SIP server to be tested, specified by domain name or IP address. | [optional] **user** | **str** | Username for SIP registration, should be unique within a ThousandEyes account group. | [optional] -**bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] -**use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] -**monitors** | [**List[Monitor]**](Monitor.md) | Contains list of enabled BGP monitors. | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-tests/docs/SipServerTestRequest.md b/thousandeyes-sdk-tests/docs/SipServerTestRequest.md new file mode 100644 index 00000000..44a78e30 --- /dev/null +++ b/thousandeyes-sdk-tests/docs/SipServerTestRequest.md @@ -0,0 +1,61 @@ +# SipServerTestRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**interval** | [**TestInterval**](TestInterval.md) | | +**alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] +**enabled** | **bool** | Test is enabled. | [optional] [default to True] +**alert_rules** | **List[str]** | List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used) | [optional] +**created_by** | **str** | User that created the test. | [optional] [readonly] +**created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] +**description** | **str** | A description of the test. | [optional] +**live_share** | **bool** | Indicates if the test is shared with the account group. | [optional] [readonly] +**modified_by** | **str** | User that modified the test. | [optional] [readonly] +**modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] +**saved_event** | **bool** | Indicates if the test is a saved event. | [optional] [readonly] +**test_id** | **str** | Each test is assigned an unique ID; this is used to access test information and results from other endpoints. | [optional] [readonly] +**test_name** | **str** | The name of the test. Test name must be unique. | [optional] +**type** | **str** | | [optional] [readonly] +**links** | [**TestLinks**](TestLinks.md) | | [optional] +**labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] +**shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] +**mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] +**network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] +**num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**options_regex** | **str** | Options regex, this field does not require escaping. | [optional] +**path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] +**probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] +**register_enabled** | **bool** | Set to true to perform SIP registration on the test target with the SIP REGISTER command. | [optional] [default to False] +**sip_target_time** | **int** | Target time for test completion in milliseconds. | [optional] +**sip_time_limit** | **int** | Time limit in milliseconds. | [optional] [default to 5] +**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] +**bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] +**use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] +**monitors** | [**List[Monitor]**](Monitor.md) | Contains list of enabled BGP monitors. | [optional] [readonly] +**target_sip_credentials** | [**TestSipCredentials**](TestSipCredentials.md) | | +**agents** | [**List[TestAgentRequest]**](TestAgentRequest.md) | Contains list of Agent IDs (get `agentId` from `/agents` endpoint). | + +## Example + +```python +from thousandeyes_sdk.tests.models.sip_server_test_request import SipServerTestRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of SipServerTestRequest from a JSON string +sip_server_test_request_instance = SipServerTestRequest.from_json(json) +# print the JSON string representation of the object +print(SipServerTestRequest.to_json()) + +# convert the object into a dict +sip_server_test_request_dict = sip_server_test_request_instance.to_dict() +# create an instance of SipServerTestRequest from a dict +sip_server_test_request_from_dict = SipServerTestRequest.from_dict(sip_server_test_request_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) + + diff --git a/thousandeyes-sdk-tests/docs/UpdateSipServerTest1.md b/thousandeyes-sdk-tests/docs/SipServerTestResponse.md similarity index 75% rename from thousandeyes-sdk-tests/docs/UpdateSipServerTest1.md rename to thousandeyes-sdk-tests/docs/SipServerTestResponse.md index 1aa7ea52..254afa42 100644 --- a/thousandeyes-sdk-tests/docs/UpdateSipServerTest1.md +++ b/thousandeyes-sdk-tests/docs/SipServerTestResponse.md @@ -1,4 +1,4 @@ -# UpdateSipServerTest1 +# SipServerTestResponse ## Properties @@ -9,6 +9,9 @@ Name | Type | Description | Notes **alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] **enabled** | **bool** | Test is enabled. | [optional] [default to True] **alert_rules** | [**List[AlertRule]**](AlertRule.md) | Contains list of enabled alert rule objects. | [optional] +**bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] +**use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] +**monitors** | [**List[Monitor]**](Monitor.md) | Contains list of enabled BGP monitors. | [optional] [readonly] **created_by** | **str** | User that created the test. | [optional] [readonly] **created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] **description** | **str** | A description of the test. | [optional] @@ -33,28 +36,30 @@ Name | Type | Description | Notes **sip_time_limit** | **int** | Time limit in milliseconds. | [optional] [default to 5] **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] **ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] -**target_sip_credentials** | [**TestSipCredentials**](TestSipCredentials.md) | | -**bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] -**use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] -**monitors** | [**List[Monitor]**](Monitor.md) | Contains list of enabled BGP monitors. | [optional] [readonly] +**auth_user** | **str** | Username for authentication with SIP server. | [optional] +**password** | **str** | Password for Basic/NTLM authentication. | [optional] +**port** | **int** | Target port. | [default to 49153] +**protocol** | [**SipTestProtocol**](SipTestProtocol.md) | | [optional] +**sip_registrar** | **str** | SIP server to be tested, specified by domain name or IP address. | [optional] +**user** | **str** | Username for SIP registration, should be unique within a ThousandEyes account group. | [optional] +**agents** | [**List[AgentResponse]**](AgentResponse.md) | Contains list of agents. | [optional] ## Example ```python -from thousandeyes_sdk.tests.models.update_sip_server_test1 import UpdateSipServerTest1 +from thousandeyes_sdk.tests.models.sip_server_test_response import SipServerTestResponse # TODO update the JSON string below json = "{}" -# create an instance of UpdateSipServerTest1 from a JSON string -update_sip_server_test1_instance = UpdateSipServerTest1.from_json(json) +# create an instance of SipServerTestResponse from a JSON string +sip_server_test_response_instance = SipServerTestResponse.from_json(json) # print the JSON string representation of the object -print(UpdateSipServerTest1.to_json()) +print(SipServerTestResponse.to_json()) # convert the object into a dict -update_sip_server_test1_dict = update_sip_server_test1_instance.to_dict() -# create an instance of UpdateSipServerTest1 from a dict -update_sip_server_test1_from_dict = UpdateSipServerTest1.from_dict(update_sip_server_test1_dict) +sip_server_test_response_dict = sip_server_test_response_instance.to_dict() +# create an instance of SipServerTestResponse from a dict +sip_server_test_response_from_dict = SipServerTestResponse.from_dict(sip_server_test_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) diff --git a/thousandeyes-sdk-tests/docs/TestAgentRequest.md b/thousandeyes-sdk-tests/docs/TestAgentRequest.md new file mode 100644 index 00000000..c9f16002 --- /dev/null +++ b/thousandeyes-sdk-tests/docs/TestAgentRequest.md @@ -0,0 +1,30 @@ +# TestAgentRequest + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**agent_id** | **str** | The agent ID. Get `agentId` from `/agents` endpoint. | +**source_ip_address** | **str** | The IP address from the `ipAddresses` field in agent details, used for interface selection. Get `ipAddresses` from the `/agents` endpoint. | [optional] + +## Example + +```python +from thousandeyes_sdk.tests.models.test_agent_request import TestAgentRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of TestAgentRequest from a JSON string +test_agent_request_instance = TestAgentRequest.from_json(json) +# print the JSON string representation of the object +print(TestAgentRequest.to_json()) + +# convert the object into a dict +test_agent_request_dict = test_agent_request_instance.to_dict() +# create an instance of TestAgentRequest from a dict +test_agent_request_from_dict = TestAgentRequest.from_dict(test_agent_request_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) + + diff --git a/thousandeyes-sdk-tests/docs/TestRequest.md b/thousandeyes-sdk-tests/docs/TestRequest.md index be81ab0b..008d8df5 100644 --- a/thousandeyes-sdk-tests/docs/TestRequest.md +++ b/thousandeyes-sdk-tests/docs/TestRequest.md @@ -8,7 +8,7 @@ Name | Type | Description | Notes **labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] **shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] **alert_rules** | **List[str]** | List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used) | [optional] -**agents** | [**List[AgentRequest]**](AgentRequest.md) | | [optional] +**agents** | [**List[TestAgentRequest]**](TestAgentRequest.md) | Contains list of Agent IDs (get `agentId` from `/agents` endpoint). | ## Example diff --git a/thousandeyes-sdk-tests/docs/AllTestTypesApi.md b/thousandeyes-sdk-tests/docs/TestsApi.md similarity index 86% rename from thousandeyes-sdk-tests/docs/AllTestTypesApi.md rename to thousandeyes-sdk-tests/docs/TestsApi.md index 96a0dec5..e1dabac8 100644 --- a/thousandeyes-sdk-tests/docs/AllTestTypesApi.md +++ b/thousandeyes-sdk-tests/docs/TestsApi.md @@ -1,10 +1,10 @@ -# thousandeyes_sdk.tests.AllTestTypesApi +# thousandeyes_sdk.tests.TestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**get_tests**](AllTestTypesApi.md#get_tests) | **GET** /v7/tests | List configured tests +[**get_tests**](TestsApi.md#get_tests) | **GET** /tests | List configured tests # **get_tests** @@ -24,10 +24,10 @@ from thousandeyes_sdk.tests.models.tests import Tests from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -43,16 +43,16 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.AllTestTypesApi(api_client) + api_instance = thousandeyes_sdk.tests.TestsApi(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 configured tests api_response = api_instance.get_tests(aid=aid) - print("The response of AllTestTypesApi->get_tests:\n") + print("The response of TestsApi->get_tests:\n") pprint(api_response) except Exception as e: - print("Exception when calling AllTestTypesApi->get_tests: %s\n" % e) + print("Exception when calling TestsApi->get_tests: %s\n" % e) ``` diff --git a/thousandeyes-sdk-tests/docs/UnexpandedApiTest.md b/thousandeyes-sdk-tests/docs/UnexpandedApiTest.md index fffffba9..6d6be2e7 100644 --- a/thousandeyes-sdk-tests/docs/UnexpandedApiTest.md +++ b/thousandeyes-sdk-tests/docs/UnexpandedApiTest.md @@ -19,10 +19,13 @@ Name | Type | Description | Notes **test_name** | **str** | The name of the test. Test name must be unique. | [optional] **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] **follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] **predefined_variables** | [**List[ApiPredefinedVariable]**](ApiPredefinedVariable.md) | | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] diff --git a/thousandeyes-sdk-tests/docs/UnexpandedHttpServerTest.md b/thousandeyes-sdk-tests/docs/UnexpandedHttpServerTest.md index 975475f2..9974b934 100644 --- a/thousandeyes-sdk-tests/docs/UnexpandedHttpServerTest.md +++ b/thousandeyes-sdk-tests/docs/UnexpandedHttpServerTest.md @@ -20,12 +20,12 @@ Name | Type | Description | Notes **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] **auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] **client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] **content_regex** | **str** | Content regex, this field does not require escaping. | [optional] -**headers** | **List[str]** | HTTP request headers used. | [optional] **custom_headers** | [**TestCustomHeaders**](TestCustomHeaders.md) | | [optional] -**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. | [optional] [default to '200'] +**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. | [optional] [default to 'default'] **download_limit** | **int** | Specifies maximum number of bytes to download from the target object. | [optional] **dns_override** | **str** | IP address to use for DNS override. | [optional] **http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] @@ -35,9 +35,9 @@ Name | Type | Description | Notes **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**o_auth** | [**OAuth**](OAuth.md) | | [optional] **password** | **str** | Password for Basic/NTLM authentication. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] -**post_body** | **str** | Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST. | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] **protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] **ssl_version** | **str** | Reflects the verbose SSL protocol version used by a test. | [optional] [readonly] @@ -48,11 +48,14 @@ Name | Type | Description | Notes **username** | **str** | Username for Basic/NTLM authentication. | [optional] **verify_certificate** | **bool** | Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. | [optional] [default to False] **allow_unsafe_legacy_renegotiation** | **bool** | Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. | [optional] [default to True] -**ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] **follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] **override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] **override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**headers** | **List[str]** | HTTP request headers used. | [optional] +**post_body** | **str** | Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST. | [optional] +**ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] diff --git a/thousandeyes-sdk-tests/docs/UnexpandedPageLoadTest.md b/thousandeyes-sdk-tests/docs/UnexpandedPageLoadTest.md index b8defbf7..c57b9651 100644 --- a/thousandeyes-sdk-tests/docs/UnexpandedPageLoadTest.md +++ b/thousandeyes-sdk-tests/docs/UnexpandedPageLoadTest.md @@ -20,13 +20,14 @@ Name | Type | Description | Notes **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] **auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] **client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] -**content_regex** | **str** | Verify content using a regular expression. This field does not require escaping. | [optional] +**content_regex** | **str** | Content regex, this field does not require escaping. | [optional] **custom_headers** | [**TestCustomHeaders**](TestCustomHeaders.md) | | [optional] -**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. | [optional] [default to '200'] -**emulated_device_id** | **str** | id of the emulated device, if one was given when the test was created | [optional] -**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. | [optional] [default to 'default'] +**download_limit** | **int** | Specifies maximum number of bytes to download from the target object. | [optional] +**dns_override** | **str** | IP address to use for DNS override. | [optional] **http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] **http_time_limit** | **int** | HTTP time limit in seconds. | [optional] [default to 5] **http_version** | **int** | HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1. | [optional] [default to 2] @@ -34,8 +35,7 @@ Name | Type | Description | Notes **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] -**page_load_target_time** | **int** | Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`. | [optional] -**page_load_time_limit** | **int** | Page load time limit. Must be larger than the `httpTimeLimit`. | [optional] [default to 10] +**o_auth** | [**OAuth**](OAuth.md) | | [optional] **password** | **str** | Password for Basic/NTLM authentication. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] @@ -48,15 +48,20 @@ Name | Type | Description | Notes **username** | **str** | Username for Basic/NTLM authentication. | [optional] **verify_certificate** | **bool** | Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. | [optional] [default to False] **allow_unsafe_legacy_renegotiation** | **bool** | Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. | [optional] [default to True] +**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**emulated_device_id** | **str** | ID of the emulated device, if one was given when the test was created. | [optional] +**page_load_target_time** | **int** | Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`. | [optional] +**page_load_time_limit** | **int** | Page load time limit. Must be larger than the `httpTimeLimit`. | [optional] [default to 10] **block_domains** | **str** | Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests. | [optional] **disable_screenshot** | **bool** | Enables or disables screenshots on error. Set true to not capture | [optional] [default to False] **allow_mic_and_camera** | **bool** | Set true allow the use of a fake mic and camera in the browser. | [optional] [default to False] **allow_geolocation** | **bool** | Set true to use the agent’s geolocation by the web page. | [optional] [default to False] **browser_language** | **str** | Set one of the available browser language that you want to use to configure the browser. | [optional] **page_loading_strategy** | [**TestPageLoadingStrategy**](TestPageLoadingStrategy.md) | | [optional] -**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] -**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] -**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **http_interval** | [**TestHttpInterval**](TestHttpInterval.md) | | [optional] **subinterval** | [**TestSubInterval**](TestSubInterval.md) | | [optional] **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] diff --git a/thousandeyes-sdk-tests/docs/UnexpandedWebTransactionTest.md b/thousandeyes-sdk-tests/docs/UnexpandedWebTransactionTest.md index f1e76f01..e84d73b2 100644 --- a/thousandeyes-sdk-tests/docs/UnexpandedWebTransactionTest.md +++ b/thousandeyes-sdk-tests/docs/UnexpandedWebTransactionTest.md @@ -20,13 +20,14 @@ Name | Type | Description | Notes **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] **auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] **client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] -**content_regex** | **str** | Verify content using a regular expression. This field does not require escaping. | [optional] +**content_regex** | **str** | Content regex, this field does not require escaping. | [optional] **custom_headers** | [**TestCustomHeaders**](TestCustomHeaders.md) | | [optional] -**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. | [optional] [default to '200'] -**emulated_device_id** | **str** | id of the emulated device, if one was given when the test was created | [optional] -**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. | [optional] [default to 'default'] +**download_limit** | **int** | Specifies maximum number of bytes to download from the target object. | [optional] +**dns_override** | **str** | IP address to use for DNS override. | [optional] **http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] **http_time_limit** | **int** | HTTP time limit in seconds. | [optional] [default to 5] **http_version** | **int** | HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1. | [optional] [default to 2] @@ -34,30 +35,34 @@ Name | Type | Description | Notes **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**o_auth** | [**OAuth**](OAuth.md) | | [optional] **password** | **str** | Password for Basic/NTLM authentication. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] **protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] **ssl_version** | **str** | Reflects the verbose SSL protocol version used by a test. | [optional] [readonly] **ssl_version_id** | [**TestSslVersionId**](TestSslVersionId.md) | | [optional] -**target_time** | **int** | Target time for completion, defaults to 50% of time limit specified in seconds. (0 means default behavior) | [optional] -**time_limit** | **int** | Time limit for transaction in seconds. | [optional] [default to 30] -**transaction_script** | **str** | JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ). | **url** | **str** | Target for the test. | **use_ntlm** | **bool** | Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set. | [optional] **user_agent** | **str** | User-agent string to be provided during the test. | [optional] **username** | **str** | Username for Basic/NTLM authentication. | [optional] **verify_certificate** | **bool** | Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. | [optional] [default to False] **allow_unsafe_legacy_renegotiation** | **bool** | Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. | [optional] [default to True] +**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**emulated_device_id** | **str** | ID of the emulated device, if specified when the test was created. | [optional] +**target_time** | **int** | Target completion time. The default is 50% of the specified time limit in seconds. (Set to 0 to use the default behavior). | [optional] +**time_limit** | **int** | Time limit for transaction in seconds. | [optional] [default to 30] +**transaction_script** | **str** | JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ). | **block_domains** | **str** | Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests. | [optional] **disable_screenshot** | **bool** | Enables or disables screenshots on error. Set true to not capture | [optional] [default to False] **allow_mic_and_camera** | **bool** | Set true allow the use of a fake mic and camera in the browser. | [optional] [default to False] **allow_geolocation** | **bool** | Set true to use the agent’s geolocation by the web page. | [optional] [default to False] **browser_language** | **str** | Set one of the available browser language that you want to use to configure the browser. | [optional] **page_loading_strategy** | [**TestPageLoadingStrategy**](TestPageLoadingStrategy.md) | | [optional] -**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] -**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] -**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] **subinterval** | [**TestSubInterval**](TestSubInterval.md) | | [optional] **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] diff --git a/thousandeyes-sdk-tests/docs/UpdateSipServerTest.md b/thousandeyes-sdk-tests/docs/UpdateSipServerTest.md index c4ba32ea..1d150e12 100644 --- a/thousandeyes-sdk-tests/docs/UpdateSipServerTest.md +++ b/thousandeyes-sdk-tests/docs/UpdateSipServerTest.md @@ -8,7 +8,7 @@ Name | Type | Description | Notes **interval** | [**TestInterval**](TestInterval.md) | | **alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] **enabled** | **bool** | Test is enabled. | [optional] [default to True] -**alert_rules** | **List[str]** | List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used) | [optional] +**alert_rules** | [**List[AlertRule]**](AlertRule.md) | Contains list of enabled alert rule objects. | [optional] **created_by** | **str** | User that created the test. | [optional] [readonly] **created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] **description** | **str** | A description of the test. | [optional] @@ -20,8 +20,8 @@ Name | Type | Description | Notes **test_name** | **str** | The name of the test. Test name must be unique. | [optional] **type** | **str** | | [optional] [readonly] **links** | [**TestLinks**](TestLinks.md) | | [optional] -**labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] -**shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] +**labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] +**shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] @@ -33,11 +33,10 @@ Name | Type | Description | Notes **sip_time_limit** | **int** | Time limit in milliseconds. | [optional] [default to 5] **fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] **ipv6_policy** | [**TestIpv6Policy**](TestIpv6Policy.md) | | [optional] -**agents** | [**List[AgentRequest]**](AgentRequest.md) | | [optional] -**target_sip_credentials** | [**TestSipCredentials**](TestSipCredentials.md) | | **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] **monitors** | [**List[Monitor]**](Monitor.md) | Contains list of enabled BGP monitors. | [optional] [readonly] +**target_sip_credentials** | [**TestSipCredentials**](TestSipCredentials.md) | | ## Example diff --git a/thousandeyes-sdk-tests/docs/VoiceInstantTest.md b/thousandeyes-sdk-tests/docs/VoiceInstantTest.md index dd6ed7d5..5c035c33 100644 --- a/thousandeyes-sdk-tests/docs/VoiceInstantTest.md +++ b/thousandeyes-sdk-tests/docs/VoiceInstantTest.md @@ -27,7 +27,6 @@ Name | Type | Description | Notes **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] **port** | **int** | Port number for the chosen protocol. | [optional] **target_agent_id** | **str** | Agent ID of the target agent for the test. | -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] ## Example diff --git a/thousandeyes-sdk-tests/docs/VoiceTest.md b/thousandeyes-sdk-tests/docs/VoiceTest.md index 884ffaee..b2d6e236 100644 --- a/thousandeyes-sdk-tests/docs/VoiceTest.md +++ b/thousandeyes-sdk-tests/docs/VoiceTest.md @@ -31,7 +31,6 @@ Name | Type | Description | Notes **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] **port** | **int** | Port number for the chosen protocol. | [optional] **target_agent_id** | **str** | Agent ID of the target agent for the test. | -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] **monitors** | [**List[Monitor]**](Monitor.md) | Contains list of enabled BGP monitors. | [optional] [readonly] diff --git a/thousandeyes-sdk-tests/docs/UpdateVoiceTest.md b/thousandeyes-sdk-tests/docs/VoiceTestRequest.md similarity index 85% rename from thousandeyes-sdk-tests/docs/UpdateVoiceTest.md rename to thousandeyes-sdk-tests/docs/VoiceTestRequest.md index 2db00217..21347fc9 100644 --- a/thousandeyes-sdk-tests/docs/UpdateVoiceTest.md +++ b/thousandeyes-sdk-tests/docs/VoiceTestRequest.md @@ -1,4 +1,4 @@ -# UpdateVoiceTest +# VoiceTestRequest ## Properties @@ -31,27 +31,27 @@ Name | Type | Description | Notes **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] **port** | **int** | Port number for the chosen protocol. | [optional] **target_agent_id** | **str** | Agent ID of the target agent for the test. | -**agents** | [**List[AgentRequest]**](AgentRequest.md) | | [optional] **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] **monitors** | [**List[Monitor]**](Monitor.md) | Contains list of enabled BGP monitors. | [optional] [readonly] +**agents** | [**List[TestAgentRequest]**](TestAgentRequest.md) | Contains list of Agent IDs (get `agentId` from `/agents` endpoint). | ## Example ```python -from thousandeyes_sdk.tests.models.update_voice_test import UpdateVoiceTest +from thousandeyes_sdk.tests.models.voice_test_request import VoiceTestRequest # TODO update the JSON string below json = "{}" -# create an instance of UpdateVoiceTest from a JSON string -update_voice_test_instance = UpdateVoiceTest.from_json(json) +# create an instance of VoiceTestRequest from a JSON string +voice_test_request_instance = VoiceTestRequest.from_json(json) # print the JSON string representation of the object -print(UpdateVoiceTest.to_json()) +print(VoiceTestRequest.to_json()) # convert the object into a dict -update_voice_test_dict = update_voice_test_instance.to_dict() -# create an instance of UpdateVoiceTest from a dict -update_voice_test_from_dict = UpdateVoiceTest.from_dict(update_voice_test_dict) +voice_test_request_dict = voice_test_request_instance.to_dict() +# create an instance of VoiceTestRequest from a dict +voice_test_request_from_dict = VoiceTestRequest.from_dict(voice_test_request_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) diff --git a/thousandeyes-sdk-tests/docs/VoiceTestResponse.md b/thousandeyes-sdk-tests/docs/VoiceTestResponse.md new file mode 100644 index 00000000..923c8c58 --- /dev/null +++ b/thousandeyes-sdk-tests/docs/VoiceTestResponse.md @@ -0,0 +1,58 @@ +# VoiceTestResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**interval** | [**TestInterval**](TestInterval.md) | | +**alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] +**enabled** | **bool** | Test is enabled. | [optional] [default to True] +**alert_rules** | [**List[AlertRule]**](AlertRule.md) | Contains list of enabled alert rule objects. | [optional] +**created_by** | **str** | User that created the test. | [optional] [readonly] +**created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] +**description** | **str** | A description of the test. | [optional] +**live_share** | **bool** | Indicates if the test is shared with the account group. | [optional] [readonly] +**modified_by** | **str** | User that modified the test. | [optional] [readonly] +**modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] +**saved_event** | **bool** | Indicates if the test is a saved event. | [optional] [readonly] +**test_id** | **str** | Each test is assigned an unique ID; this is used to access test information and results from other endpoints. | [optional] [readonly] +**test_name** | **str** | The name of the test. Test name must be unique. | [optional] +**type** | **str** | | [optional] [readonly] +**links** | [**TestLinks**](TestLinks.md) | | [optional] +**labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] +**shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] +**codec** | **str** | Codec label | [optional] [readonly] +**codec_id** | **str** | Coded ID, [see the list of acceptable values](https://docs.thousandeyes.com/product-documentation/internet-and-wan-monitoring/tests/working-with-test-settings#rtp-stream-advanced-settings-tab) | [optional] +**dscp** | **str** | DSCP label. | [optional] [readonly] +**dscp_id** | [**TestDscpId**](TestDscpId.md) | | [optional] +**duration** | **int** | Duration of the test in seconds. | [optional] [default to 5] +**jitter_buffer** | **int** | De-jitter buffer size in seconds. | [optional] [default to 40] +**num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**port** | **int** | Port number for the chosen protocol. | [optional] +**target_agent_id** | **str** | Agent ID of the target agent for the test. | +**bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] +**use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] +**monitors** | [**List[Monitor]**](Monitor.md) | Contains list of enabled BGP monitors. | [optional] [readonly] +**agents** | [**List[AgentResponse]**](AgentResponse.md) | Contains list of agents. | [optional] + +## Example + +```python +from thousandeyes_sdk.tests.models.voice_test_response import VoiceTestResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of VoiceTestResponse from a JSON string +voice_test_response_instance = VoiceTestResponse.from_json(json) +# print the JSON string representation of the object +print(VoiceTestResponse.to_json()) + +# convert the object into a dict +voice_test_response_dict = voice_test_response_instance.to_dict() +# create an instance of VoiceTestResponse from a dict +voice_test_response_from_dict = VoiceTestResponse.from_dict(voice_test_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) + + diff --git a/thousandeyes-sdk-tests/docs/VoiceApi.md b/thousandeyes-sdk-tests/docs/VoiceTestsApi.md similarity index 71% rename from thousandeyes-sdk-tests/docs/VoiceApi.md rename to thousandeyes-sdk-tests/docs/VoiceTestsApi.md index 7bc98360..61c8b2ae 100644 --- a/thousandeyes-sdk-tests/docs/VoiceApi.md +++ b/thousandeyes-sdk-tests/docs/VoiceTestsApi.md @@ -1,18 +1,18 @@ -# thousandeyes_sdk.tests.VoiceApi +# thousandeyes_sdk.tests.VoiceTestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_voice_test**](VoiceApi.md#create_voice_test) | **POST** /v7/tests/voice | Create Voice test -[**delete_voice_test**](VoiceApi.md#delete_voice_test) | **DELETE** /v7/tests/voice/{testId} | Delete Voice test -[**get_voice_test**](VoiceApi.md#get_voice_test) | **GET** /v7/tests/voice/{testId} | Get Voice test -[**get_voice_tests**](VoiceApi.md#get_voice_tests) | **GET** /v7/tests/voice | List Voice tests -[**update_voice_test**](VoiceApi.md#update_voice_test) | **PUT** /v7/tests/voice/{testId} | Update Voice test +[**create_voice_test**](VoiceTestsApi.md#create_voice_test) | **POST** /tests/voice | Create Voice test +[**delete_voice_test**](VoiceTestsApi.md#delete_voice_test) | **DELETE** /tests/voice/{testId} | Delete Voice test +[**get_voice_test**](VoiceTestsApi.md#get_voice_test) | **GET** /tests/voice/{testId} | Get Voice test +[**get_voice_tests**](VoiceTestsApi.md#get_voice_tests) | **GET** /tests/voice | List Voice tests +[**update_voice_test**](VoiceTestsApi.md#update_voice_test) | **PUT** /tests/voice/{testId} | Update Voice test # **create_voice_test** -> VoiceTest create_voice_test(update_voice_test, aid=aid, expand=expand) +> VoiceTestResponse create_voice_test(voice_test_request, aid=aid, expand=expand) Create Voice test @@ -24,16 +24,16 @@ Creates a new Voice test. This method requires Account Admin permissions. ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.update_voice_test import UpdateVoiceTest -from thousandeyes_sdk.tests.models.voice_test import VoiceTest +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions +from thousandeyes_sdk.tests.models.voice_test_request import VoiceTestRequest +from thousandeyes_sdk.tests.models.voice_test_response import VoiceTestResponse from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -49,18 +49,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.VoiceApi(api_client) - update_voice_test = thousandeyes_sdk.tests.UpdateVoiceTest() # UpdateVoiceTest | + api_instance = thousandeyes_sdk.tests.VoiceTestsApi(api_client) + voice_test_request = thousandeyes_sdk.tests.VoiceTestRequest() # VoiceTestRequest | 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.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Create Voice test - api_response = api_instance.create_voice_test(update_voice_test, aid=aid, expand=expand) - print("The response of VoiceApi->create_voice_test:\n") + api_response = api_instance.create_voice_test(voice_test_request, aid=aid, expand=expand) + print("The response of VoiceTestsApi->create_voice_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling VoiceApi->create_voice_test: %s\n" % e) + print("Exception when calling VoiceTestsApi->create_voice_test: %s\n" % e) ``` @@ -70,13 +70,13 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **update_voice_test** | [**UpdateVoiceTest**](UpdateVoiceTest.md)| | + **voice_test_request** | [**VoiceTestRequest**](VoiceTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**VoiceTest**](VoiceTest.md) +[**VoiceTestResponse**](VoiceTestResponse.md) ### Authorization @@ -119,10 +119,10 @@ import thousandeyes_sdk.tests from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -138,15 +138,15 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.VoiceApi(api_client) - test_id = '281474976710706' # str | ID of the test + api_instance = thousandeyes_sdk.tests.VoiceTestsApi(api_client) + test_id = '202701' # str | Test ID aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) try: # Delete Voice test api_instance.delete_voice_test(test_id, aid=aid) except Exception as e: - print("Exception when calling VoiceApi->delete_voice_test: %s\n" % e) + print("Exception when calling VoiceTestsApi->delete_voice_test: %s\n" % e) ``` @@ -156,7 +156,7 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | + **test_id** | **str**| Test ID | **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] ### Return type @@ -188,7 +188,7 @@ 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) # **get_voice_test** -> VoiceTest get_voice_test(test_id, aid=aid, expand=expand) +> VoiceTestResponse get_voice_test(test_id, aid=aid, expand=expand) Get Voice test @@ -200,15 +200,15 @@ Returns details for a Voice test, including name, intervals, targets, alert rule ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.voice_test import VoiceTest +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions +from thousandeyes_sdk.tests.models.voice_test_response import VoiceTestResponse from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -224,18 +224,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.VoiceApi(api_client) - test_id = '281474976710706' # str | ID of the test + api_instance = thousandeyes_sdk.tests.VoiceTestsApi(api_client) + test_id = '202701' # str | Test 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) - expand = [thousandeyes_sdk.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Get Voice test api_response = api_instance.get_voice_test(test_id, aid=aid, expand=expand) - print("The response of VoiceApi->get_voice_test:\n") + print("The response of VoiceTestsApi->get_voice_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling VoiceApi->get_voice_test: %s\n" % e) + print("Exception when calling VoiceTestsApi->get_voice_test: %s\n" % e) ``` @@ -245,13 +245,13 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | + **test_id** | **str**| Test 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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**VoiceTest**](VoiceTest.md) +[**VoiceTestResponse**](VoiceTestResponse.md) ### Authorization @@ -294,10 +294,10 @@ from thousandeyes_sdk.tests.models.voice_tests import VoiceTests from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -313,16 +313,16 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.VoiceApi(api_client) + api_instance = thousandeyes_sdk.tests.VoiceTestsApi(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 Voice tests api_response = api_instance.get_voice_tests(aid=aid) - print("The response of VoiceApi->get_voice_tests:\n") + print("The response of VoiceTestsApi->get_voice_tests:\n") pprint(api_response) except Exception as e: - print("Exception when calling VoiceApi->get_voice_tests: %s\n" % e) + print("Exception when calling VoiceTestsApi->get_voice_tests: %s\n" % e) ``` @@ -363,7 +363,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **update_voice_test** -> VoiceTest update_voice_test(test_id, update_voice_test, aid=aid, expand=expand) +> VoiceTestResponse update_voice_test(test_id, voice_test_request, aid=aid, expand=expand) Update Voice test @@ -375,16 +375,16 @@ Updates a Voice test. The target test cannot be a live share or saved event. Thi ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.update_voice_test import UpdateVoiceTest -from thousandeyes_sdk.tests.models.voice_test import VoiceTest +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions +from thousandeyes_sdk.tests.models.voice_test_request import VoiceTestRequest +from thousandeyes_sdk.tests.models.voice_test_response import VoiceTestResponse from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -400,19 +400,19 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.VoiceApi(api_client) - test_id = '281474976710706' # str | ID of the test - update_voice_test = thousandeyes_sdk.tests.UpdateVoiceTest() # UpdateVoiceTest | + api_instance = thousandeyes_sdk.tests.VoiceTestsApi(api_client) + test_id = '202701' # str | Test ID + voice_test_request = thousandeyes_sdk.tests.VoiceTestRequest() # VoiceTestRequest | 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.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Update Voice test - api_response = api_instance.update_voice_test(test_id, update_voice_test, aid=aid, expand=expand) - print("The response of VoiceApi->update_voice_test:\n") + api_response = api_instance.update_voice_test(test_id, voice_test_request, aid=aid, expand=expand) + print("The response of VoiceTestsApi->update_voice_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling VoiceApi->update_voice_test: %s\n" % e) + print("Exception when calling VoiceTestsApi->update_voice_test: %s\n" % e) ``` @@ -422,14 +422,14 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | - **update_voice_test** | [**UpdateVoiceTest**](UpdateVoiceTest.md)| | + **test_id** | **str**| Test ID | + **voice_test_request** | [**VoiceTestRequest**](VoiceTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**VoiceTest**](VoiceTest.md) +[**VoiceTestResponse**](VoiceTestResponse.md) ### Authorization diff --git a/thousandeyes-sdk-tests/docs/WebTransactionInstantTest.md b/thousandeyes-sdk-tests/docs/WebTransactionInstantTest.md index 8ee324ba..d812b950 100644 --- a/thousandeyes-sdk-tests/docs/WebTransactionInstantTest.md +++ b/thousandeyes-sdk-tests/docs/WebTransactionInstantTest.md @@ -19,13 +19,14 @@ Name | Type | Description | Notes **labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] **shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] **auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] **client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] -**content_regex** | **str** | Verify content using a regular expression. This field does not require escaping. | [optional] +**content_regex** | **str** | Content regex, this field does not require escaping. | [optional] **custom_headers** | [**TestCustomHeaders**](TestCustomHeaders.md) | | [optional] -**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. | [optional] [default to '200'] -**emulated_device_id** | **str** | id of the emulated device, if one was given when the test was created | [optional] -**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. | [optional] [default to 'default'] +**download_limit** | **int** | Specifies maximum number of bytes to download from the target object. | [optional] +**dns_override** | **str** | IP address to use for DNS override. | [optional] **http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] **http_time_limit** | **int** | HTTP time limit in seconds. | [optional] [default to 5] **http_version** | **int** | HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1. | [optional] [default to 2] @@ -33,31 +34,34 @@ Name | Type | Description | Notes **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**o_auth** | [**OAuth**](OAuth.md) | | [optional] **password** | **str** | Password for Basic/NTLM authentication. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] **protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] **ssl_version** | **str** | Reflects the verbose SSL protocol version used by a test. | [optional] [readonly] **ssl_version_id** | [**TestSslVersionId**](TestSslVersionId.md) | | [optional] -**target_time** | **int** | Target time for completion, defaults to 50% of time limit specified in seconds. (0 means default behavior) | [optional] -**time_limit** | **int** | Time limit for transaction in seconds. | [optional] [default to 30] -**transaction_script** | **str** | JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ). | **url** | **str** | Target for the test. | **use_ntlm** | **bool** | Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set. | [optional] **user_agent** | **str** | User-agent string to be provided during the test. | [optional] **username** | **str** | Username for Basic/NTLM authentication. | [optional] **verify_certificate** | **bool** | Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. | [optional] [default to False] **allow_unsafe_legacy_renegotiation** | **bool** | Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. | [optional] [default to True] +**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**emulated_device_id** | **str** | ID of the emulated device, if specified when the test was created. | [optional] +**target_time** | **int** | Target completion time. The default is 50% of the specified time limit in seconds. (Set to 0 to use the default behavior). | [optional] +**time_limit** | **int** | Time limit for transaction in seconds. | [optional] [default to 30] +**transaction_script** | **str** | JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ). | **block_domains** | **str** | Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests. | [optional] **disable_screenshot** | **bool** | Enables or disables screenshots on error. Set true to not capture | [optional] [default to False] **allow_mic_and_camera** | **bool** | Set true allow the use of a fake mic and camera in the browser. | [optional] [default to False] **allow_geolocation** | **bool** | Set true to use the agent’s geolocation by the web page. | [optional] [default to False] **browser_language** | **str** | Set one of the available browser language that you want to use to configure the browser. | [optional] **page_loading_strategy** | [**TestPageLoadingStrategy**](TestPageLoadingStrategy.md) | | [optional] -**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] -**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] -**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] **credentials** | **List[str]** | Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint). | [optional] ## Example diff --git a/thousandeyes-sdk-tests/docs/WebTransactionProperties.md b/thousandeyes-sdk-tests/docs/WebTransactionProperties.md index 69d83119..72dc6bf0 100644 --- a/thousandeyes-sdk-tests/docs/WebTransactionProperties.md +++ b/thousandeyes-sdk-tests/docs/WebTransactionProperties.md @@ -6,13 +6,14 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] **client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] -**content_regex** | **str** | Verify content using a regular expression. This field does not require escaping. | [optional] +**content_regex** | **str** | Content regex, this field does not require escaping. | [optional] **custom_headers** | [**TestCustomHeaders**](TestCustomHeaders.md) | | [optional] -**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. | [optional] [default to '200'] -**emulated_device_id** | **str** | id of the emulated device, if one was given when the test was created | [optional] -**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. | [optional] [default to 'default'] +**download_limit** | **int** | Specifies maximum number of bytes to download from the target object. | [optional] +**dns_override** | **str** | IP address to use for DNS override. | [optional] **http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] **http_time_limit** | **int** | HTTP time limit in seconds. | [optional] [default to 5] **http_version** | **int** | HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1. | [optional] [default to 2] @@ -20,31 +21,35 @@ Name | Type | Description | Notes **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**o_auth** | [**OAuth**](OAuth.md) | | [optional] **password** | **str** | Password for Basic/NTLM authentication. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] **protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] **ssl_version** | **str** | Reflects the verbose SSL protocol version used by a test. | [optional] [readonly] **ssl_version_id** | [**TestSslVersionId**](TestSslVersionId.md) | | [optional] -**target_time** | **int** | Target time for completion, defaults to 50% of time limit specified in seconds. (0 means default behavior) | [optional] -**time_limit** | **int** | Time limit for transaction in seconds. | [optional] [default to 30] -**transaction_script** | **str** | JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ). | **url** | **str** | Target for the test. | **use_ntlm** | **bool** | Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set. | [optional] **user_agent** | **str** | User-agent string to be provided during the test. | [optional] **username** | **str** | Username for Basic/NTLM authentication. | [optional] **verify_certificate** | **bool** | Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. | [optional] [default to False] **allow_unsafe_legacy_renegotiation** | **bool** | Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. | [optional] [default to True] +**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**emulated_device_id** | **str** | ID of the emulated device, if specified when the test was created. | [optional] +**target_time** | **int** | Target completion time. The default is 50% of the specified time limit in seconds. (Set to 0 to use the default behavior). | [optional] +**time_limit** | **int** | Time limit for transaction in seconds. | [optional] [default to 30] +**transaction_script** | **str** | JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ). | **block_domains** | **str** | Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests. | [optional] **disable_screenshot** | **bool** | Enables or disables screenshots on error. Set true to not capture | [optional] [default to False] **allow_mic_and_camera** | **bool** | Set true allow the use of a fake mic and camera in the browser. | [optional] [default to False] **allow_geolocation** | **bool** | Set true to use the agent’s geolocation by the web page. | [optional] [default to False] **browser_language** | **str** | Set one of the available browser language that you want to use to configure the browser. | [optional] **page_loading_strategy** | [**TestPageLoadingStrategy**](TestPageLoadingStrategy.md) | | [optional] -**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] **type** | **str** | | [optional] [readonly] -**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] -**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] ## Example diff --git a/thousandeyes-sdk-tests/docs/WebTransactionTest.md b/thousandeyes-sdk-tests/docs/WebTransactionTest.md index a6cb9948..08fc0080 100644 --- a/thousandeyes-sdk-tests/docs/WebTransactionTest.md +++ b/thousandeyes-sdk-tests/docs/WebTransactionTest.md @@ -23,13 +23,14 @@ Name | Type | Description | Notes **labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] **shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] **auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] **client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] -**content_regex** | **str** | Verify content using a regular expression. This field does not require escaping. | [optional] +**content_regex** | **str** | Content regex, this field does not require escaping. | [optional] **custom_headers** | [**TestCustomHeaders**](TestCustomHeaders.md) | | [optional] -**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. | [optional] [default to '200'] -**emulated_device_id** | **str** | id of the emulated device, if one was given when the test was created | [optional] -**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. | [optional] [default to 'default'] +**download_limit** | **int** | Specifies maximum number of bytes to download from the target object. | [optional] +**dns_override** | **str** | IP address to use for DNS override. | [optional] **http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] **http_time_limit** | **int** | HTTP time limit in seconds. | [optional] [default to 5] **http_version** | **int** | HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1. | [optional] [default to 2] @@ -37,31 +38,34 @@ Name | Type | Description | Notes **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**o_auth** | [**OAuth**](OAuth.md) | | [optional] **password** | **str** | Password for Basic/NTLM authentication. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] **protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] **ssl_version** | **str** | Reflects the verbose SSL protocol version used by a test. | [optional] [readonly] **ssl_version_id** | [**TestSslVersionId**](TestSslVersionId.md) | | [optional] -**target_time** | **int** | Target time for completion, defaults to 50% of time limit specified in seconds. (0 means default behavior) | [optional] -**time_limit** | **int** | Time limit for transaction in seconds. | [optional] [default to 30] -**transaction_script** | **str** | JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ). | **url** | **str** | Target for the test. | **use_ntlm** | **bool** | Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set. | [optional] **user_agent** | **str** | User-agent string to be provided during the test. | [optional] **username** | **str** | Username for Basic/NTLM authentication. | [optional] **verify_certificate** | **bool** | Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. | [optional] [default to False] **allow_unsafe_legacy_renegotiation** | **bool** | Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. | [optional] [default to True] +**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**emulated_device_id** | **str** | ID of the emulated device, if specified when the test was created. | [optional] +**target_time** | **int** | Target completion time. The default is 50% of the specified time limit in seconds. (Set to 0 to use the default behavior). | [optional] +**time_limit** | **int** | Time limit for transaction in seconds. | [optional] [default to 30] +**transaction_script** | **str** | JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ). | **block_domains** | **str** | Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests. | [optional] **disable_screenshot** | **bool** | Enables or disables screenshots on error. Set true to not capture | [optional] [default to False] **allow_mic_and_camera** | **bool** | Set true allow the use of a fake mic and camera in the browser. | [optional] [default to False] **allow_geolocation** | **bool** | Set true to use the agent’s geolocation by the web page. | [optional] [default to False] **browser_language** | **str** | Set one of the available browser language that you want to use to configure the browser. | [optional] **page_loading_strategy** | [**TestPageLoadingStrategy**](TestPageLoadingStrategy.md) | | [optional] -**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] -**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] -**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] -**agents** | [**List[Agent]**](Agent.md) | Contains list of agents. | [optional] [readonly] **credentials** | **List[str]** | Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint). | [optional] **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] diff --git a/thousandeyes-sdk-tests/docs/UpdateWebTransactionTest.md b/thousandeyes-sdk-tests/docs/WebTransactionTestRequest.md similarity index 81% rename from thousandeyes-sdk-tests/docs/UpdateWebTransactionTest.md rename to thousandeyes-sdk-tests/docs/WebTransactionTestRequest.md index 3752c218..b9c7f2e2 100644 --- a/thousandeyes-sdk-tests/docs/UpdateWebTransactionTest.md +++ b/thousandeyes-sdk-tests/docs/WebTransactionTestRequest.md @@ -1,4 +1,4 @@ -# UpdateWebTransactionTest +# WebTransactionTestRequest ## Properties @@ -23,13 +23,14 @@ Name | Type | Description | Notes **labels** | **List[str]** | Contains list of test label IDs (get `labelId` from `/labels` endpoint) | [optional] **shared_with_accounts** | **List[str]** | Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint) | [optional] **auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] **bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] **client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] -**content_regex** | **str** | Verify content using a regular expression. This field does not require escaping. | [optional] +**content_regex** | **str** | Content regex, this field does not require escaping. | [optional] **custom_headers** | [**TestCustomHeaders**](TestCustomHeaders.md) | | [optional] -**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. | [optional] [default to '200'] -**emulated_device_id** | **str** | id of the emulated device, if one was given when the test was created | [optional] -**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. | [optional] [default to 'default'] +**download_limit** | **int** | Specifies maximum number of bytes to download from the target object. | [optional] +**dns_override** | **str** | IP address to use for DNS override. | [optional] **http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] **http_time_limit** | **int** | HTTP time limit in seconds. | [optional] [default to 5] **http_version** | **int** | HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1. | [optional] [default to 2] @@ -37,53 +38,57 @@ Name | Type | Description | Notes **mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] **network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] **num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**o_auth** | [**OAuth**](OAuth.md) | | [optional] **password** | **str** | Password for Basic/NTLM authentication. | [optional] **path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] **probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] **protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] **ssl_version** | **str** | Reflects the verbose SSL protocol version used by a test. | [optional] [readonly] **ssl_version_id** | [**TestSslVersionId**](TestSslVersionId.md) | | [optional] -**target_time** | **int** | Target time for completion, defaults to 50% of time limit specified in seconds. (0 means default behavior) | [optional] -**time_limit** | **int** | Time limit for transaction in seconds. | [optional] [default to 30] -**transaction_script** | **str** | JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ). | **url** | **str** | Target for the test. | **use_ntlm** | **bool** | Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set. | [optional] **user_agent** | **str** | User-agent string to be provided during the test. | [optional] **username** | **str** | Username for Basic/NTLM authentication. | [optional] **verify_certificate** | **bool** | Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. | [optional] [default to False] **allow_unsafe_legacy_renegotiation** | **bool** | Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. | [optional] [default to True] +**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**emulated_device_id** | **str** | ID of the emulated device, if specified when the test was created. | [optional] +**target_time** | **int** | Target completion time. The default is 50% of the specified time limit in seconds. (Set to 0 to use the default behavior). | [optional] +**time_limit** | **int** | Time limit for transaction in seconds. | [optional] [default to 30] +**transaction_script** | **str** | JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ). | **block_domains** | **str** | Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests. | [optional] **disable_screenshot** | **bool** | Enables or disables screenshots on error. Set true to not capture | [optional] [default to False] **allow_mic_and_camera** | **bool** | Set true allow the use of a fake mic and camera in the browser. | [optional] [default to False] **allow_geolocation** | **bool** | Set true to use the agent’s geolocation by the web page. | [optional] [default to False] **browser_language** | **str** | Set one of the available browser language that you want to use to configure the browser. | [optional] **page_loading_strategy** | [**TestPageLoadingStrategy**](TestPageLoadingStrategy.md) | | [optional] -**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] -**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] -**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] -**agents** | [**List[AgentRequest]**](AgentRequest.md) | | [optional] **credentials** | **List[str]** | Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint). | [optional] **bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] **use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] **monitors** | **List[str]** | Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint) | [optional] **subinterval** | [**TestSubInterval**](TestSubInterval.md) | | [optional] +**agents** | [**List[TestAgentRequest]**](TestAgentRequest.md) | Contains list of Agent IDs (get `agentId` from `/agents` endpoint). | ## Example ```python -from thousandeyes_sdk.tests.models.update_web_transaction_test import UpdateWebTransactionTest +from thousandeyes_sdk.tests.models.web_transaction_test_request import WebTransactionTestRequest # TODO update the JSON string below json = "{}" -# create an instance of UpdateWebTransactionTest from a JSON string -update_web_transaction_test_instance = UpdateWebTransactionTest.from_json(json) +# create an instance of WebTransactionTestRequest from a JSON string +web_transaction_test_request_instance = WebTransactionTestRequest.from_json(json) # print the JSON string representation of the object -print(UpdateWebTransactionTest.to_json()) +print(WebTransactionTestRequest.to_json()) # convert the object into a dict -update_web_transaction_test_dict = update_web_transaction_test_instance.to_dict() -# create an instance of UpdateWebTransactionTest from a dict -update_web_transaction_test_from_dict = UpdateWebTransactionTest.from_dict(update_web_transaction_test_dict) +web_transaction_test_request_dict = web_transaction_test_request_instance.to_dict() +# create an instance of WebTransactionTestRequest from a dict +web_transaction_test_request_from_dict = WebTransactionTestRequest.from_dict(web_transaction_test_request_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) diff --git a/thousandeyes-sdk-tests/docs/WebTransactionTestResponse.md b/thousandeyes-sdk-tests/docs/WebTransactionTestResponse.md new file mode 100644 index 00000000..eb87add2 --- /dev/null +++ b/thousandeyes-sdk-tests/docs/WebTransactionTestResponse.md @@ -0,0 +1,95 @@ +# WebTransactionTestResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**interval** | [**TestInterval**](TestInterval.md) | | +**alerts_enabled** | **bool** | Indicates if alerts are enabled. | [optional] +**enabled** | **bool** | Test is enabled. | [optional] [default to True] +**alert_rules** | [**List[AlertRule]**](AlertRule.md) | Contains list of enabled alert rule objects. | [optional] +**created_by** | **str** | User that created the test. | [optional] [readonly] +**created_date** | **datetime** | UTC created date (ISO date-time format). | [optional] [readonly] +**description** | **str** | A description of the test. | [optional] +**live_share** | **bool** | Indicates if the test is shared with the account group. | [optional] [readonly] +**modified_by** | **str** | User that modified the test. | [optional] [readonly] +**modified_date** | **datetime** | UTC last modification date (ISO date-time format). | [optional] [readonly] +**saved_event** | **bool** | Indicates if the test is a saved event. | [optional] [readonly] +**test_id** | **str** | Each test is assigned an unique ID; this is used to access test information and results from other endpoints. | [optional] [readonly] +**test_name** | **str** | The name of the test. Test name must be unique. | [optional] +**type** | **str** | | [optional] [readonly] +**links** | [**TestLinks**](TestLinks.md) | | [optional] +**labels** | [**List[TestLabel]**](TestLabel.md) | | [optional] [readonly] +**shared_with_accounts** | [**List[SharedWithAccount]**](SharedWithAccount.md) | | [optional] [readonly] +**auth_type** | [**TestAuthType**](TestAuthType.md) | | [optional] +**agent_interfaces** | [**AgentInterfaces**](AgentInterfaces.md) | | [optional] +**bandwidth_measurements** | **bool** | Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test. | [optional] +**client_certificate** | **str** | String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate. | [optional] +**content_regex** | **str** | Content regex, this field does not require escaping. | [optional] +**custom_headers** | [**TestCustomHeaders**](TestCustomHeaders.md) | | [optional] +**desired_status_code** | **str** | Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code. | [optional] [default to 'default'] +**download_limit** | **int** | Specifies maximum number of bytes to download from the target object. | [optional] +**dns_override** | **str** | IP address to use for DNS override. | [optional] +**http_target_time** | **int** | Target time for HTTP server completion, specified in milliseconds. | [optional] +**http_time_limit** | **int** | HTTP time limit in seconds. | [optional] [default to 5] +**http_version** | **int** | HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1. | [optional] [default to 2] +**include_headers** | **bool** | Set to `true` to capture response headers for objects loaded by the test. | [optional] [default to True] +**mtu_measurements** | **bool** | Set `true` to measure MTU sizes on network from agents to the target. | [optional] +**network_measurements** | **bool** | Enable or disable network measurements. Set to true to enable or false to disable network measurements. | [optional] [default to True] +**num_path_traces** | **int** | Number of path traces executed by the agent. | [optional] [default to 3] +**o_auth** | [**OAuth**](OAuth.md) | | [optional] +**password** | **str** | Password for Basic/NTLM authentication. | [optional] +**path_trace_mode** | [**TestPathTraceMode**](TestPathTraceMode.md) | | [optional] +**probe_mode** | [**TestProbeMode**](TestProbeMode.md) | | [optional] +**protocol** | [**TestProtocol**](TestProtocol.md) | | [optional] +**ssl_version** | **str** | Reflects the verbose SSL protocol version used by a test. | [optional] [readonly] +**ssl_version_id** | [**TestSslVersionId**](TestSslVersionId.md) | | [optional] +**url** | **str** | Target for the test. | +**use_ntlm** | **bool** | Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set. | [optional] +**user_agent** | **str** | User-agent string to be provided during the test. | [optional] +**username** | **str** | Username for Basic/NTLM authentication. | [optional] +**verify_certificate** | **bool** | Ignore or acknowledge certificate errors. Set to false to ignore certificate errors. | [optional] [default to False] +**allow_unsafe_legacy_renegotiation** | **bool** | Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation. | [optional] [default to True] +**follow_redirects** | **bool** | To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`. | [optional] [default to True] +**fixed_packet_rate** | **int** | Sets packets rate sent to measure the network in packets per second. | [optional] +**override_agent_proxy** | **bool** | Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`. | [optional] [default to False] +**override_proxy_id** | **str** | ID of the proxy to be used if the default proxy is overridden. | [optional] +**collect_proxy_network_data** | **bool** | Indicates whether network data to the proxy should be collected. | [optional] [default to False] +**emulated_device_id** | **str** | ID of the emulated device, if specified when the test was created. | [optional] +**target_time** | **int** | Target completion time. The default is 50% of the specified time limit in seconds. (Set to 0 to use the default behavior). | [optional] +**time_limit** | **int** | Time limit for transaction in seconds. | [optional] [default to 30] +**transaction_script** | **str** | JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ). | +**block_domains** | **str** | Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests. | [optional] +**disable_screenshot** | **bool** | Enables or disables screenshots on error. Set true to not capture | [optional] [default to False] +**allow_mic_and_camera** | **bool** | Set true allow the use of a fake mic and camera in the browser. | [optional] [default to False] +**allow_geolocation** | **bool** | Set true to use the agent’s geolocation by the web page. | [optional] [default to False] +**browser_language** | **str** | Set one of the available browser language that you want to use to configure the browser. | [optional] +**page_loading_strategy** | [**TestPageLoadingStrategy**](TestPageLoadingStrategy.md) | | [optional] +**credentials** | **List[str]** | Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint). | [optional] +**bgp_measurements** | **bool** | Set to `true` to enable bgp measurements. | [optional] [default to True] +**use_public_bgp** | **bool** | Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value. | [optional] [default to True] +**monitors** | [**List[Monitor]**](Monitor.md) | Contains list of enabled BGP monitors. | [optional] [readonly] +**subinterval** | [**TestSubInterval**](TestSubInterval.md) | | [optional] +**agents** | [**List[AgentResponse]**](AgentResponse.md) | Contains list of agents. | [optional] + +## Example + +```python +from thousandeyes_sdk.tests.models.web_transaction_test_response import WebTransactionTestResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of WebTransactionTestResponse from a JSON string +web_transaction_test_response_instance = WebTransactionTestResponse.from_json(json) +# print the JSON string representation of the object +print(WebTransactionTestResponse.to_json()) + +# convert the object into a dict +web_transaction_test_response_dict = web_transaction_test_response_instance.to_dict() +# create an instance of WebTransactionTestResponse from a dict +web_transaction_test_response_from_dict = WebTransactionTestResponse.from_dict(web_transaction_test_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) + + diff --git a/thousandeyes-sdk-tests/docs/WebTransactionApi.md b/thousandeyes-sdk-tests/docs/WebTransactionTestsApi.md similarity index 69% rename from thousandeyes-sdk-tests/docs/WebTransactionApi.md rename to thousandeyes-sdk-tests/docs/WebTransactionTestsApi.md index 0dcd81cb..84eefe62 100644 --- a/thousandeyes-sdk-tests/docs/WebTransactionApi.md +++ b/thousandeyes-sdk-tests/docs/WebTransactionTestsApi.md @@ -1,18 +1,18 @@ -# thousandeyes_sdk.tests.WebTransactionApi +# thousandeyes_sdk.tests.WebTransactionTestsApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_web_transactions_test**](WebTransactionApi.md#create_web_transactions_test) | **POST** /v7/tests/web-transactions | Create Web Transactions test -[**delete_web_transactions_test**](WebTransactionApi.md#delete_web_transactions_test) | **DELETE** /v7/tests/web-transactions/{testId} | Delete Web Transactions test -[**get_web_transactions_test**](WebTransactionApi.md#get_web_transactions_test) | **GET** /v7/tests/web-transactions/{testId} | Get Web Transactions test -[**get_web_transactions_tests**](WebTransactionApi.md#get_web_transactions_tests) | **GET** /v7/tests/web-transactions | List Web Transactions tests -[**update_web_transactions_test**](WebTransactionApi.md#update_web_transactions_test) | **PUT** /v7/tests/web-transactions/{testId} | Update Web Transactions test +[**create_web_transactions_test**](WebTransactionTestsApi.md#create_web_transactions_test) | **POST** /tests/web-transactions | Create Web Transactions test +[**delete_web_transactions_test**](WebTransactionTestsApi.md#delete_web_transactions_test) | **DELETE** /tests/web-transactions/{testId} | Delete Web Transactions test +[**get_web_transactions_test**](WebTransactionTestsApi.md#get_web_transactions_test) | **GET** /tests/web-transactions/{testId} | Get Web Transactions test +[**get_web_transactions_tests**](WebTransactionTestsApi.md#get_web_transactions_tests) | **GET** /tests/web-transactions | List Web Transactions tests +[**update_web_transactions_test**](WebTransactionTestsApi.md#update_web_transactions_test) | **PUT** /tests/web-transactions/{testId} | Update Web Transactions test # **create_web_transactions_test** -> WebTransactionTest create_web_transactions_test(update_web_transaction_test, aid=aid, expand=expand) +> WebTransactionTestResponse create_web_transactions_test(web_transaction_test_request, aid=aid, expand=expand) Create Web Transactions test @@ -24,16 +24,16 @@ Creates a new Web Transactions test. This method requires Account Admin permissi ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.update_web_transaction_test import UpdateWebTransactionTest -from thousandeyes_sdk.tests.models.web_transaction_test import WebTransactionTest +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions +from thousandeyes_sdk.tests.models.web_transaction_test_request import WebTransactionTestRequest +from thousandeyes_sdk.tests.models.web_transaction_test_response import WebTransactionTestResponse from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -49,18 +49,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.WebTransactionApi(api_client) - update_web_transaction_test = thousandeyes_sdk.tests.UpdateWebTransactionTest() # UpdateWebTransactionTest | + api_instance = thousandeyes_sdk.tests.WebTransactionTestsApi(api_client) + web_transaction_test_request = thousandeyes_sdk.tests.WebTransactionTestRequest() # WebTransactionTestRequest | 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.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Create Web Transactions test - api_response = api_instance.create_web_transactions_test(update_web_transaction_test, aid=aid, expand=expand) - print("The response of WebTransactionApi->create_web_transactions_test:\n") + api_response = api_instance.create_web_transactions_test(web_transaction_test_request, aid=aid, expand=expand) + print("The response of WebTransactionTestsApi->create_web_transactions_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling WebTransactionApi->create_web_transactions_test: %s\n" % e) + print("Exception when calling WebTransactionTestsApi->create_web_transactions_test: %s\n" % e) ``` @@ -70,13 +70,13 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **update_web_transaction_test** | [**UpdateWebTransactionTest**](UpdateWebTransactionTest.md)| | + **web_transaction_test_request** | [**WebTransactionTestRequest**](WebTransactionTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**WebTransactionTest**](WebTransactionTest.md) +[**WebTransactionTestResponse**](WebTransactionTestResponse.md) ### Authorization @@ -119,10 +119,10 @@ import thousandeyes_sdk.tests from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -138,15 +138,15 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.WebTransactionApi(api_client) - test_id = '281474976710706' # str | ID of the test + api_instance = thousandeyes_sdk.tests.WebTransactionTestsApi(api_client) + test_id = '202701' # str | Test ID aid = '1234' # str | A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. (optional) try: # Delete Web Transactions test api_instance.delete_web_transactions_test(test_id, aid=aid) except Exception as e: - print("Exception when calling WebTransactionApi->delete_web_transactions_test: %s\n" % e) + print("Exception when calling WebTransactionTestsApi->delete_web_transactions_test: %s\n" % e) ``` @@ -156,7 +156,7 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | + **test_id** | **str**| Test ID | **aid** | **str**| A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. | [optional] ### Return type @@ -188,7 +188,7 @@ 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) # **get_web_transactions_test** -> WebTransactionTest get_web_transactions_test(test_id, aid=aid, expand=expand) +> WebTransactionTestResponse get_web_transactions_test(test_id, aid=aid, expand=expand) Get Web Transactions test @@ -200,15 +200,15 @@ Returns details for a Web Transactions test, including name, intervals, targets, ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.web_transaction_test import WebTransactionTest +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions +from thousandeyes_sdk.tests.models.web_transaction_test_response import WebTransactionTestResponse from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -224,18 +224,18 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.WebTransactionApi(api_client) - test_id = '281474976710706' # str | ID of the test + api_instance = thousandeyes_sdk.tests.WebTransactionTestsApi(api_client) + test_id = '202701' # str | Test 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) - expand = [thousandeyes_sdk.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Get Web Transactions test api_response = api_instance.get_web_transactions_test(test_id, aid=aid, expand=expand) - print("The response of WebTransactionApi->get_web_transactions_test:\n") + print("The response of WebTransactionTestsApi->get_web_transactions_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling WebTransactionApi->get_web_transactions_test: %s\n" % e) + print("Exception when calling WebTransactionTestsApi->get_web_transactions_test: %s\n" % e) ``` @@ -245,13 +245,13 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | + **test_id** | **str**| Test 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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**WebTransactionTest**](WebTransactionTest.md) +[**WebTransactionTestResponse**](WebTransactionTestResponse.md) ### Authorization @@ -294,10 +294,10 @@ from thousandeyes_sdk.tests.models.web_transaction_tests import WebTransactionTe from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -313,16 +313,16 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.WebTransactionApi(api_client) + api_instance = thousandeyes_sdk.tests.WebTransactionTestsApi(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 Web Transactions tests api_response = api_instance.get_web_transactions_tests(aid=aid) - print("The response of WebTransactionApi->get_web_transactions_tests:\n") + print("The response of WebTransactionTestsApi->get_web_transactions_tests:\n") pprint(api_response) except Exception as e: - print("Exception when calling WebTransactionApi->get_web_transactions_tests: %s\n" % e) + print("Exception when calling WebTransactionTestsApi->get_web_transactions_tests: %s\n" % e) ``` @@ -363,7 +363,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **update_web_transactions_test** -> WebTransactionTest update_web_transactions_test(test_id, update_web_transaction_test, aid=aid, expand=expand) +> WebTransactionTestResponse update_web_transactions_test(test_id, web_transaction_test_request, aid=aid, expand=expand) Update Web Transactions test @@ -375,16 +375,16 @@ Updates a Web Transactions test. The target test cannot be a live share or saved ```python import thousandeyes_sdk.tests -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.update_web_transaction_test import UpdateWebTransactionTest -from thousandeyes_sdk.tests.models.web_transaction_test import WebTransactionTest +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions +from thousandeyes_sdk.tests.models.web_transaction_test_request import WebTransactionTestRequest +from thousandeyes_sdk.tests.models.web_transaction_test_response import WebTransactionTestResponse from thousandeyes_sdk.tests.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -400,19 +400,19 @@ configuration = thousandeyes_sdk.core.Configuration( # Enter a context with an instance of the API client with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: # Create an instance of the API class - api_instance = thousandeyes_sdk.tests.WebTransactionApi(api_client) - test_id = '281474976710706' # str | ID of the test - update_web_transaction_test = thousandeyes_sdk.tests.UpdateWebTransactionTest() # UpdateWebTransactionTest | + api_instance = thousandeyes_sdk.tests.WebTransactionTestsApi(api_client) + test_id = '202701' # str | Test ID + web_transaction_test_request = thousandeyes_sdk.tests.WebTransactionTestRequest() # WebTransactionTestRequest | 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.tests.Expand()] # List[Expand] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) + expand = [thousandeyes_sdk.tests.ExpandTestOptions()] # List[ExpandTestOptions] | Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. (optional) try: # Update Web Transactions test - api_response = api_instance.update_web_transactions_test(test_id, update_web_transaction_test, aid=aid, expand=expand) - print("The response of WebTransactionApi->update_web_transactions_test:\n") + api_response = api_instance.update_web_transactions_test(test_id, web_transaction_test_request, aid=aid, expand=expand) + print("The response of WebTransactionTestsApi->update_web_transactions_test:\n") pprint(api_response) except Exception as e: - print("Exception when calling WebTransactionApi->update_web_transactions_test: %s\n" % e) + print("Exception when calling WebTransactionTestsApi->update_web_transactions_test: %s\n" % e) ``` @@ -422,14 +422,14 @@ with thousandeyes_sdk.tests.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **test_id** | **str**| ID of the test | - **update_web_transaction_test** | [**UpdateWebTransactionTest**](UpdateWebTransactionTest.md)| | + **test_id** | **str**| Test ID | + **web_transaction_test_request** | [**WebTransactionTestRequest**](WebTransactionTestRequest.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] - **expand** | [**List[Expand]**](Expand.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] + **expand** | [**List[ExpandTestOptions]**](ExpandTestOptions.md)| Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. | [optional] ### Return type -[**WebTransactionTest**](WebTransactionTest.md) +[**WebTransactionTestResponse**](WebTransactionTestResponse.md) ### Authorization diff --git a/thousandeyes-sdk-tests/pyproject.toml b/thousandeyes-sdk-tests/pyproject.toml index 05fe08a4..5310e17e 100644 --- a/thousandeyes-sdk-tests/pyproject.toml +++ b/thousandeyes-sdk-tests/pyproject.toml @@ -9,9 +9,9 @@ description = "ThousandEyes SDK Tests API" license = { file = "LICENSE" } requires-python = ">= 3.8" dependencies = [ - "urllib3 >= 1.25.3", + "urllib3 >= 2.0.0", "python-dateutil >=2.8.2", - "pydantic >=2", + "pydantic >=2.1.0", "typing-extensions >=4.7.1", "thousandeyes-sdk-core", ] diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/__init__.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/__init__.py index c1f65ef5..f9aa8e3c 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/__init__.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/__init__.py @@ -7,7 +7,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -15,35 +14,39 @@ # import apis into sdk package -from thousandeyes_sdk.tests.api.api_api import APIApi -from thousandeyes_sdk.tests.api.agent_to_agent_api import AgentToAgentApi -from thousandeyes_sdk.tests.api.agent_to_server_api import AgentToServerApi -from thousandeyes_sdk.tests.api.all_test_types_api import AllTestTypesApi -from thousandeyes_sdk.tests.api.bgp_api import BGPApi -from thousandeyes_sdk.tests.api.dnssec_api import DNSSECApi -from thousandeyes_sdk.tests.api.dns_server_api import DNSServerApi -from thousandeyes_sdk.tests.api.dns_trace_api import DNSTraceApi -from thousandeyes_sdk.tests.api.ftp_server_api import FTPServerApi -from thousandeyes_sdk.tests.api.http_server_api import HTTPServerApi -from thousandeyes_sdk.tests.api.page_load_api import PageLoadApi +from thousandeyes_sdk.tests.api.api_tests_api import APITestsApi +from thousandeyes_sdk.tests.api.agent_to_agent_tests_api import AgentToAgentTestsApi +from thousandeyes_sdk.tests.api.agent_to_server_tests_api import AgentToServerTestsApi +from thousandeyes_sdk.tests.api.bgp_tests_api import BGPTestsApi +from thousandeyes_sdk.tests.api.dnssec_tests_api import DNSSECTestsApi +from thousandeyes_sdk.tests.api.dns_server_tests_api import DNSServerTestsApi +from thousandeyes_sdk.tests.api.dns_trace_tests_api import DNSTraceTestsApi +from thousandeyes_sdk.tests.api.ftp_server_tests_api import FTPServerTestsApi +from thousandeyes_sdk.tests.api.http_server_tests_api import HTTPServerTestsApi +from thousandeyes_sdk.tests.api.page_load_tests_api import PageLoadTestsApi from thousandeyes_sdk.tests.api.path_visualization_interface_groups_api import PathVisualizationInterfaceGroupsApi -from thousandeyes_sdk.tests.api.sip_server_api import SIPServerApi -from thousandeyes_sdk.tests.api.voice_api import VoiceApi -from thousandeyes_sdk.tests.api.web_transaction_api import WebTransactionApi +from thousandeyes_sdk.tests.api.sip_server_tests_api import SIPServerTestsApi +from thousandeyes_sdk.tests.api.tests_api import TestsApi +from thousandeyes_sdk.tests.api.voice_tests_api import VoiceTestsApi +from thousandeyes_sdk.tests.api.web_transaction_tests_api import WebTransactionTestsApi # import models into sdk package -from thousandeyes_sdk.tests.models.agent import Agent from thousandeyes_sdk.tests.models.agent_base import AgentBase -from thousandeyes_sdk.tests.models.agent_request import AgentRequest +from thousandeyes_sdk.tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.tests.models.agent_response import AgentResponse from thousandeyes_sdk.tests.models.agent_to_agent_instant_test import AgentToAgentInstantTest from thousandeyes_sdk.tests.models.agent_to_agent_properties import AgentToAgentProperties from thousandeyes_sdk.tests.models.agent_to_agent_test import AgentToAgentTest from thousandeyes_sdk.tests.models.agent_to_agent_test_protocol import AgentToAgentTestProtocol +from thousandeyes_sdk.tests.models.agent_to_agent_test_request import AgentToAgentTestRequest +from thousandeyes_sdk.tests.models.agent_to_agent_test_response import AgentToAgentTestResponse from thousandeyes_sdk.tests.models.agent_to_agent_tests import AgentToAgentTests from thousandeyes_sdk.tests.models.agent_to_server_instant_test import AgentToServerInstantTest from thousandeyes_sdk.tests.models.agent_to_server_properties import AgentToServerProperties from thousandeyes_sdk.tests.models.agent_to_server_test import AgentToServerTest +from thousandeyes_sdk.tests.models.agent_to_server_test_request import AgentToServerTestRequest +from thousandeyes_sdk.tests.models.agent_to_server_test_response import AgentToServerTestResponse from thousandeyes_sdk.tests.models.agent_to_server_tests import AgentToServerTests from thousandeyes_sdk.tests.models.alert_direction import AlertDirection from thousandeyes_sdk.tests.models.alert_rounds_violation_mode import AlertRoundsViolationMode @@ -61,37 +64,53 @@ from thousandeyes_sdk.tests.models.api_request_header import ApiRequestHeader from thousandeyes_sdk.tests.models.api_request_method import ApiRequestMethod from thousandeyes_sdk.tests.models.api_request_variable import ApiRequestVariable from thousandeyes_sdk.tests.models.api_test import ApiTest +from thousandeyes_sdk.tests.models.api_test_request import ApiTestRequest +from thousandeyes_sdk.tests.models.api_test_response import ApiTestResponse from thousandeyes_sdk.tests.models.api_tests import ApiTests from thousandeyes_sdk.tests.models.base_bgp_test import BaseBgpTest from thousandeyes_sdk.tests.models.base_request import BaseRequest from thousandeyes_sdk.tests.models.base_test import BaseTest from thousandeyes_sdk.tests.models.bgp_test import BgpTest +from thousandeyes_sdk.tests.models.bgp_test_request import BgpTestRequest +from thousandeyes_sdk.tests.models.bgp_test_response import BgpTestResponse from thousandeyes_sdk.tests.models.bgp_tests import BgpTests from thousandeyes_sdk.tests.models.cloud_enterprise_agent_type import CloudEnterpriseAgentType from thousandeyes_sdk.tests.models.dns_query_class import DnsQueryClass from thousandeyes_sdk.tests.models.dns_sec_instant_test import DnsSecInstantTest from thousandeyes_sdk.tests.models.dns_sec_properties import DnsSecProperties from thousandeyes_sdk.tests.models.dns_sec_test import DnsSecTest +from thousandeyes_sdk.tests.models.dns_sec_test_request import DnsSecTestRequest +from thousandeyes_sdk.tests.models.dns_sec_test_response import DnsSecTestResponse from thousandeyes_sdk.tests.models.dns_sec_tests import DnsSecTests from thousandeyes_sdk.tests.models.dns_server_instant_test import DnsServerInstantTest from thousandeyes_sdk.tests.models.dns_server_properties import DnsServerProperties from thousandeyes_sdk.tests.models.dns_server_test import DnsServerTest +from thousandeyes_sdk.tests.models.dns_server_test_request import DnsServerTestRequest +from thousandeyes_sdk.tests.models.dns_server_test_response import DnsServerTestResponse from thousandeyes_sdk.tests.models.dns_server_tests import DnsServerTests from thousandeyes_sdk.tests.models.dns_servers_request import DnsServersRequest from thousandeyes_sdk.tests.models.dns_trace_instant_test import DnsTraceInstantTest from thousandeyes_sdk.tests.models.dns_trace_properties import DnsTraceProperties from thousandeyes_sdk.tests.models.dns_trace_test import DnsTraceTest +from thousandeyes_sdk.tests.models.dns_trace_test_request import DnsTraceTestRequest +from thousandeyes_sdk.tests.models.dns_trace_test_response import DnsTraceTestResponse from thousandeyes_sdk.tests.models.dns_trace_tests import DnsTraceTests from thousandeyes_sdk.tests.models.error import Error -from thousandeyes_sdk.tests.models.expand import Expand +from thousandeyes_sdk.tests.models.expand_bgp_test_options import ExpandBgpTestOptions +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions from thousandeyes_sdk.tests.models.ftp_server_instant_test import FtpServerInstantTest from thousandeyes_sdk.tests.models.ftp_server_properties import FtpServerProperties from thousandeyes_sdk.tests.models.ftp_server_request_type import FtpServerRequestType from thousandeyes_sdk.tests.models.ftp_server_test import FtpServerTest +from thousandeyes_sdk.tests.models.ftp_server_test_request import FtpServerTestRequest +from thousandeyes_sdk.tests.models.ftp_server_test_response import FtpServerTestResponse from thousandeyes_sdk.tests.models.ftp_server_tests import FtpServerTests +from thousandeyes_sdk.tests.models.http_server_base_properties import HttpServerBaseProperties from thousandeyes_sdk.tests.models.http_server_instant_test import HttpServerInstantTest from thousandeyes_sdk.tests.models.http_server_properties import HttpServerProperties from thousandeyes_sdk.tests.models.http_server_test import HttpServerTest +from thousandeyes_sdk.tests.models.http_server_test_request import HttpServerTestRequest +from thousandeyes_sdk.tests.models.http_server_test_response import HttpServerTestResponse from thousandeyes_sdk.tests.models.http_server_tests import HttpServerTests from thousandeyes_sdk.tests.models.instant_test import InstantTest from thousandeyes_sdk.tests.models.interface_group import InterfaceGroup @@ -100,22 +119,28 @@ from thousandeyes_sdk.tests.models.link import Link from thousandeyes_sdk.tests.models.monitor import Monitor from thousandeyes_sdk.tests.models.monitor_type import MonitorType from thousandeyes_sdk.tests.models.monitors_request import MonitorsRequest +from thousandeyes_sdk.tests.models.o_auth import OAuth from thousandeyes_sdk.tests.models.page_load_instant_test import PageLoadInstantTest from thousandeyes_sdk.tests.models.page_load_properties import PageLoadProperties from thousandeyes_sdk.tests.models.page_load_test import PageLoadTest +from thousandeyes_sdk.tests.models.page_load_test_request import PageLoadTestRequest +from thousandeyes_sdk.tests.models.page_load_test_response import PageLoadTestResponse from thousandeyes_sdk.tests.models.page_load_tests import PageLoadTests +from thousandeyes_sdk.tests.models.request_method import RequestMethod from thousandeyes_sdk.tests.models.self_links import SelfLinks +from thousandeyes_sdk.tests.models.sensitivity_level import SensitivityLevel from thousandeyes_sdk.tests.models.severity import Severity from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount from thousandeyes_sdk.tests.models.simple_agent import SimpleAgent from thousandeyes_sdk.tests.models.simple_test import SimpleTest from thousandeyes_sdk.tests.models.sip_server_instant_test import SipServerInstantTest -from thousandeyes_sdk.tests.models.sip_server_instant_test_request import SipServerInstantTestRequest -from thousandeyes_sdk.tests.models.sip_server_instant_test_response import SipServerInstantTestResponse from thousandeyes_sdk.tests.models.sip_server_properties import SipServerProperties from thousandeyes_sdk.tests.models.sip_server_test import SipServerTest +from thousandeyes_sdk.tests.models.sip_server_test_request import SipServerTestRequest +from thousandeyes_sdk.tests.models.sip_server_test_response import SipServerTestResponse from thousandeyes_sdk.tests.models.sip_server_tests import SipServerTests from thousandeyes_sdk.tests.models.sip_test_protocol import SipTestProtocol +from thousandeyes_sdk.tests.models.test_agent_request import TestAgentRequest from thousandeyes_sdk.tests.models.test_auth_type import TestAuthType from thousandeyes_sdk.tests.models.test_custom_headers import TestCustomHeaders from thousandeyes_sdk.tests.models.test_direction import TestDirection @@ -155,28 +180,19 @@ from thousandeyes_sdk.tests.models.unexpanded_sip_server_test import UnexpandedS from thousandeyes_sdk.tests.models.unexpanded_test import UnexpandedTest from thousandeyes_sdk.tests.models.unexpanded_voice_test import UnexpandedVoiceTest from thousandeyes_sdk.tests.models.unexpanded_web_transaction_test import UnexpandedWebTransactionTest -from thousandeyes_sdk.tests.models.update_agent_to_agent_test import UpdateAgentToAgentTest -from thousandeyes_sdk.tests.models.update_agent_to_server_test import UpdateAgentToServerTest -from thousandeyes_sdk.tests.models.update_api_test import UpdateApiTest -from thousandeyes_sdk.tests.models.update_bgp_test import UpdateBgpTest from thousandeyes_sdk.tests.models.update_bgp_test_request import UpdateBgpTestRequest -from thousandeyes_sdk.tests.models.update_dns_sec_test import UpdateDnsSecTest -from thousandeyes_sdk.tests.models.update_dns_server_test import UpdateDnsServerTest -from thousandeyes_sdk.tests.models.update_dns_trace_test import UpdateDnsTraceTest -from thousandeyes_sdk.tests.models.update_ftp_server_test import UpdateFtpServerTest -from thousandeyes_sdk.tests.models.update_http_server_test import UpdateHttpServerTest -from thousandeyes_sdk.tests.models.update_page_load_test import UpdatePageLoadTest from thousandeyes_sdk.tests.models.update_sip_server_test import UpdateSipServerTest -from thousandeyes_sdk.tests.models.update_sip_server_test1 import UpdateSipServerTest1 -from thousandeyes_sdk.tests.models.update_voice_test import UpdateVoiceTest -from thousandeyes_sdk.tests.models.update_web_transaction_test import UpdateWebTransactionTest from thousandeyes_sdk.tests.models.validation_error import ValidationError from thousandeyes_sdk.tests.models.validation_error_item import ValidationErrorItem from thousandeyes_sdk.tests.models.voice_instant_test import VoiceInstantTest from thousandeyes_sdk.tests.models.voice_properties import VoiceProperties from thousandeyes_sdk.tests.models.voice_test import VoiceTest +from thousandeyes_sdk.tests.models.voice_test_request import VoiceTestRequest +from thousandeyes_sdk.tests.models.voice_test_response import VoiceTestResponse from thousandeyes_sdk.tests.models.voice_tests import VoiceTests from thousandeyes_sdk.tests.models.web_transaction_instant_test import WebTransactionInstantTest from thousandeyes_sdk.tests.models.web_transaction_properties import WebTransactionProperties from thousandeyes_sdk.tests.models.web_transaction_test import WebTransactionTest +from thousandeyes_sdk.tests.models.web_transaction_test_request import WebTransactionTestRequest +from thousandeyes_sdk.tests.models.web_transaction_test_response import WebTransactionTestResponse from thousandeyes_sdk.tests.models.web_transaction_tests import WebTransactionTests diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/__init__.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/__init__.py index ef55b2ed..fabae759 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/__init__.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/__init__.py @@ -1,19 +1,19 @@ # flake8: noqa # import apis into api package -from thousandeyes_sdk.tests.api.api_api import APIApi -from thousandeyes_sdk.tests.api.agent_to_agent_api import AgentToAgentApi -from thousandeyes_sdk.tests.api.agent_to_server_api import AgentToServerApi -from thousandeyes_sdk.tests.api.all_test_types_api import AllTestTypesApi -from thousandeyes_sdk.tests.api.bgp_api import BGPApi -from thousandeyes_sdk.tests.api.dnssec_api import DNSSECApi -from thousandeyes_sdk.tests.api.dns_server_api import DNSServerApi -from thousandeyes_sdk.tests.api.dns_trace_api import DNSTraceApi -from thousandeyes_sdk.tests.api.ftp_server_api import FTPServerApi -from thousandeyes_sdk.tests.api.http_server_api import HTTPServerApi -from thousandeyes_sdk.tests.api.page_load_api import PageLoadApi +from thousandeyes_sdk.tests.api.api_tests_api import APITestsApi +from thousandeyes_sdk.tests.api.agent_to_agent_tests_api import AgentToAgentTestsApi +from thousandeyes_sdk.tests.api.agent_to_server_tests_api import AgentToServerTestsApi +from thousandeyes_sdk.tests.api.bgp_tests_api import BGPTestsApi +from thousandeyes_sdk.tests.api.dnssec_tests_api import DNSSECTestsApi +from thousandeyes_sdk.tests.api.dns_server_tests_api import DNSServerTestsApi +from thousandeyes_sdk.tests.api.dns_trace_tests_api import DNSTraceTestsApi +from thousandeyes_sdk.tests.api.ftp_server_tests_api import FTPServerTestsApi +from thousandeyes_sdk.tests.api.http_server_tests_api import HTTPServerTestsApi +from thousandeyes_sdk.tests.api.page_load_tests_api import PageLoadTestsApi from thousandeyes_sdk.tests.api.path_visualization_interface_groups_api import PathVisualizationInterfaceGroupsApi -from thousandeyes_sdk.tests.api.sip_server_api import SIPServerApi -from thousandeyes_sdk.tests.api.voice_api import VoiceApi -from thousandeyes_sdk.tests.api.web_transaction_api import WebTransactionApi +from thousandeyes_sdk.tests.api.sip_server_tests_api import SIPServerTestsApi +from thousandeyes_sdk.tests.api.tests_api import TestsApi +from thousandeyes_sdk.tests.api.voice_tests_api import VoiceTestsApi +from thousandeyes_sdk.tests.api.web_transaction_tests_api import WebTransactionTestsApi diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/agent_to_agent_api.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/agent_to_agent_tests_api.py similarity index 89% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/agent_to_agent_api.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/agent_to_agent_tests_api.py index 59bdea06..c94376ca 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/agent_to_agent_api.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/agent_to_agent_tests_api.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,17 +21,17 @@ import thousandeyes_sdk.tests.models from pydantic import Field, StrictStr from typing import List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent_to_agent_test import AgentToAgentTest +from thousandeyes_sdk.tests.models.agent_to_agent_test_request import AgentToAgentTestRequest +from thousandeyes_sdk.tests.models.agent_to_agent_test_response import AgentToAgentTestResponse from thousandeyes_sdk.tests.models.agent_to_agent_tests import AgentToAgentTests -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.update_agent_to_agent_test import UpdateAgentToAgentTest +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions 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 AgentToAgentApi: +class AgentToAgentTestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -49,9 +48,9 @@ class AgentToAgentApi: @validate_call def create_agent_to_agent_test( self, - update_agent_to_agent_test: UpdateAgentToAgentTest, + agent_to_agent_test_request: AgentToAgentTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -64,17 +63,17 @@ class AgentToAgentApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AgentToAgentTest: + ) -> AgentToAgentTestResponse: """Create Agent to Agent test Creates a new Agent to Agent test. This method requires Account Admin permissions. - :param update_agent_to_agent_test: (required) - :type update_agent_to_agent_test: UpdateAgentToAgentTest + :param agent_to_agent_test_request: (required) + :type agent_to_agent_test_request: AgentToAgentTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -98,7 +97,7 @@ class AgentToAgentApi: """ # noqa: E501 _param = self._create_agent_to_agent_test_serialize( - update_agent_to_agent_test=update_agent_to_agent_test, + agent_to_agent_test_request=agent_to_agent_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -108,7 +107,7 @@ class AgentToAgentApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "AgentToAgentTest", + '201': "AgentToAgentTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -132,9 +131,9 @@ class AgentToAgentApi: @validate_call def create_agent_to_agent_test_with_http_info( self, - update_agent_to_agent_test: UpdateAgentToAgentTest, + agent_to_agent_test_request: AgentToAgentTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -147,17 +146,17 @@ class AgentToAgentApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AgentToAgentTest]: + ) -> ApiResponse[AgentToAgentTestResponse]: """Create Agent to Agent test Creates a new Agent to Agent test. This method requires Account Admin permissions. - :param update_agent_to_agent_test: (required) - :type update_agent_to_agent_test: UpdateAgentToAgentTest + :param agent_to_agent_test_request: (required) + :type agent_to_agent_test_request: AgentToAgentTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -181,7 +180,7 @@ class AgentToAgentApi: """ # noqa: E501 _param = self._create_agent_to_agent_test_serialize( - update_agent_to_agent_test=update_agent_to_agent_test, + agent_to_agent_test_request=agent_to_agent_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -191,7 +190,7 @@ class AgentToAgentApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "AgentToAgentTest", + '201': "AgentToAgentTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -215,9 +214,9 @@ class AgentToAgentApi: @validate_call def create_agent_to_agent_test_without_preload_content( self, - update_agent_to_agent_test: UpdateAgentToAgentTest, + agent_to_agent_test_request: AgentToAgentTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -235,12 +234,12 @@ class AgentToAgentApi: Creates a new Agent to Agent test. This method requires Account Admin permissions. - :param update_agent_to_agent_test: (required) - :type update_agent_to_agent_test: UpdateAgentToAgentTest + :param agent_to_agent_test_request: (required) + :type agent_to_agent_test_request: AgentToAgentTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -264,7 +263,7 @@ class AgentToAgentApi: """ # noqa: E501 _param = self._create_agent_to_agent_test_serialize( - update_agent_to_agent_test=update_agent_to_agent_test, + agent_to_agent_test_request=agent_to_agent_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -274,7 +273,7 @@ class AgentToAgentApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "AgentToAgentTest", + '201': "AgentToAgentTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -292,7 +291,7 @@ class AgentToAgentApi: def _create_agent_to_agent_test_serialize( self, - update_agent_to_agent_test, + agent_to_agent_test_request, aid, expand, _request_auth, @@ -327,8 +326,8 @@ class AgentToAgentApi: # process the header parameters # process the form parameters # process the body parameter - if update_agent_to_agent_test is not None: - _body_params = update_agent_to_agent_test + if agent_to_agent_test_request is not None: + _body_params = agent_to_agent_test_request # set the HTTP header `Accept` @@ -361,7 +360,7 @@ class AgentToAgentApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tests/agent-to-agent', + resource_path='/tests/agent-to-agent', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -380,7 +379,7 @@ class AgentToAgentApi: @validate_call def delete_agent_to_agent_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -399,7 +398,7 @@ class AgentToAgentApi: Deletes the specified Agent to Agent test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -458,7 +457,7 @@ class AgentToAgentApi: @validate_call def delete_agent_to_agent_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -477,7 +476,7 @@ class AgentToAgentApi: Deletes the specified Agent to Agent test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -536,7 +535,7 @@ class AgentToAgentApi: @validate_call def delete_agent_to_agent_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -555,7 +554,7 @@ class AgentToAgentApi: Deletes the specified Agent to Agent test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -657,7 +656,7 @@ class AgentToAgentApi: return self.api_client.param_serialize( method='DELETE', - resource_path='/v7/tests/agent-to-agent/{testId}', + resource_path='/tests/agent-to-agent/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -676,9 +675,9 @@ class AgentToAgentApi: @validate_call def get_agent_to_agent_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -691,17 +690,17 @@ class AgentToAgentApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AgentToAgentTest: + ) -> AgentToAgentTestResponse: """Get Agent to Agent test Returns details for a Agent to Agent test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -735,7 +734,7 @@ class AgentToAgentApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AgentToAgentTest", + '200': "AgentToAgentTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -758,9 +757,9 @@ class AgentToAgentApi: @validate_call def get_agent_to_agent_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -773,17 +772,17 @@ class AgentToAgentApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AgentToAgentTest]: + ) -> ApiResponse[AgentToAgentTestResponse]: """Get Agent to Agent test Returns details for a Agent to Agent test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -817,7 +816,7 @@ class AgentToAgentApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AgentToAgentTest", + '200': "AgentToAgentTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -840,9 +839,9 @@ class AgentToAgentApi: @validate_call def get_agent_to_agent_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -860,12 +859,12 @@ class AgentToAgentApi: Returns details for a Agent to Agent test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -899,7 +898,7 @@ class AgentToAgentApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AgentToAgentTest", + '200': "AgentToAgentTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -972,7 +971,7 @@ class AgentToAgentApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/tests/agent-to-agent/{testId}', + resource_path='/tests/agent-to-agent/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1254,7 +1253,7 @@ class AgentToAgentApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/tests/agent-to-agent', + resource_path='/tests/agent-to-agent', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1273,10 +1272,10 @@ class AgentToAgentApi: @validate_call def update_agent_to_agent_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_agent_to_agent_test: UpdateAgentToAgentTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + agent_to_agent_test_request: AgentToAgentTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1289,19 +1288,19 @@ class AgentToAgentApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AgentToAgentTest: + ) -> AgentToAgentTestResponse: """Update Agent to Agent test Updates a Agent to Agent test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_agent_to_agent_test: (required) - :type update_agent_to_agent_test: UpdateAgentToAgentTest + :param agent_to_agent_test_request: (required) + :type agent_to_agent_test_request: AgentToAgentTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1326,7 +1325,7 @@ class AgentToAgentApi: _param = self._update_agent_to_agent_test_serialize( test_id=test_id, - update_agent_to_agent_test=update_agent_to_agent_test, + agent_to_agent_test_request=agent_to_agent_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1336,7 +1335,7 @@ class AgentToAgentApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AgentToAgentTest", + '200': "AgentToAgentTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1360,10 +1359,10 @@ class AgentToAgentApi: @validate_call def update_agent_to_agent_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_agent_to_agent_test: UpdateAgentToAgentTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + agent_to_agent_test_request: AgentToAgentTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1376,19 +1375,19 @@ class AgentToAgentApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AgentToAgentTest]: + ) -> ApiResponse[AgentToAgentTestResponse]: """Update Agent to Agent test Updates a Agent to Agent test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_agent_to_agent_test: (required) - :type update_agent_to_agent_test: UpdateAgentToAgentTest + :param agent_to_agent_test_request: (required) + :type agent_to_agent_test_request: AgentToAgentTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1413,7 +1412,7 @@ class AgentToAgentApi: _param = self._update_agent_to_agent_test_serialize( test_id=test_id, - update_agent_to_agent_test=update_agent_to_agent_test, + agent_to_agent_test_request=agent_to_agent_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1423,7 +1422,7 @@ class AgentToAgentApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AgentToAgentTest", + '200': "AgentToAgentTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1447,10 +1446,10 @@ class AgentToAgentApi: @validate_call def update_agent_to_agent_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_agent_to_agent_test: UpdateAgentToAgentTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + agent_to_agent_test_request: AgentToAgentTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1468,14 +1467,14 @@ class AgentToAgentApi: Updates a Agent to Agent test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_agent_to_agent_test: (required) - :type update_agent_to_agent_test: UpdateAgentToAgentTest + :param agent_to_agent_test_request: (required) + :type agent_to_agent_test_request: AgentToAgentTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1500,7 +1499,7 @@ class AgentToAgentApi: _param = self._update_agent_to_agent_test_serialize( test_id=test_id, - update_agent_to_agent_test=update_agent_to_agent_test, + agent_to_agent_test_request=agent_to_agent_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1510,7 +1509,7 @@ class AgentToAgentApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AgentToAgentTest", + '200': "AgentToAgentTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1529,7 +1528,7 @@ class AgentToAgentApi: def _update_agent_to_agent_test_serialize( self, test_id, - update_agent_to_agent_test, + agent_to_agent_test_request, aid, expand, _request_auth, @@ -1566,8 +1565,8 @@ class AgentToAgentApi: # process the header parameters # process the form parameters # process the body parameter - if update_agent_to_agent_test is not None: - _body_params = update_agent_to_agent_test + if agent_to_agent_test_request is not None: + _body_params = agent_to_agent_test_request # set the HTTP header `Accept` @@ -1600,7 +1599,7 @@ class AgentToAgentApi: return self.api_client.param_serialize( method='PUT', - resource_path='/v7/tests/agent-to-agent/{testId}', + resource_path='/tests/agent-to-agent/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/agent_to_server_api.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/agent_to_server_tests_api.py similarity index 89% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/agent_to_server_api.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/agent_to_server_tests_api.py index 4ddfb8dc..73a2ade7 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/agent_to_server_api.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/agent_to_server_tests_api.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,17 +21,17 @@ import thousandeyes_sdk.tests.models from pydantic import Field, StrictStr from typing import List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent_to_server_test import AgentToServerTest +from thousandeyes_sdk.tests.models.agent_to_server_test_request import AgentToServerTestRequest +from thousandeyes_sdk.tests.models.agent_to_server_test_response import AgentToServerTestResponse from thousandeyes_sdk.tests.models.agent_to_server_tests import AgentToServerTests -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.update_agent_to_server_test import UpdateAgentToServerTest +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions 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 AgentToServerApi: +class AgentToServerTestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -49,9 +48,9 @@ class AgentToServerApi: @validate_call def create_agent_to_server_test( self, - update_agent_to_server_test: UpdateAgentToServerTest, + agent_to_server_test_request: AgentToServerTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -64,17 +63,17 @@ class AgentToServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AgentToServerTest: + ) -> AgentToServerTestResponse: """Create Agent to Server test Creates a new Agent to Server test. This method requires Account Admin permissions. - :param update_agent_to_server_test: (required) - :type update_agent_to_server_test: UpdateAgentToServerTest + :param agent_to_server_test_request: (required) + :type agent_to_server_test_request: AgentToServerTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -98,7 +97,7 @@ class AgentToServerApi: """ # noqa: E501 _param = self._create_agent_to_server_test_serialize( - update_agent_to_server_test=update_agent_to_server_test, + agent_to_server_test_request=agent_to_server_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -108,7 +107,7 @@ class AgentToServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "AgentToServerTest", + '201': "AgentToServerTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -132,9 +131,9 @@ class AgentToServerApi: @validate_call def create_agent_to_server_test_with_http_info( self, - update_agent_to_server_test: UpdateAgentToServerTest, + agent_to_server_test_request: AgentToServerTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -147,17 +146,17 @@ class AgentToServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AgentToServerTest]: + ) -> ApiResponse[AgentToServerTestResponse]: """Create Agent to Server test Creates a new Agent to Server test. This method requires Account Admin permissions. - :param update_agent_to_server_test: (required) - :type update_agent_to_server_test: UpdateAgentToServerTest + :param agent_to_server_test_request: (required) + :type agent_to_server_test_request: AgentToServerTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -181,7 +180,7 @@ class AgentToServerApi: """ # noqa: E501 _param = self._create_agent_to_server_test_serialize( - update_agent_to_server_test=update_agent_to_server_test, + agent_to_server_test_request=agent_to_server_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -191,7 +190,7 @@ class AgentToServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "AgentToServerTest", + '201': "AgentToServerTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -215,9 +214,9 @@ class AgentToServerApi: @validate_call def create_agent_to_server_test_without_preload_content( self, - update_agent_to_server_test: UpdateAgentToServerTest, + agent_to_server_test_request: AgentToServerTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -235,12 +234,12 @@ class AgentToServerApi: Creates a new Agent to Server test. This method requires Account Admin permissions. - :param update_agent_to_server_test: (required) - :type update_agent_to_server_test: UpdateAgentToServerTest + :param agent_to_server_test_request: (required) + :type agent_to_server_test_request: AgentToServerTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -264,7 +263,7 @@ class AgentToServerApi: """ # noqa: E501 _param = self._create_agent_to_server_test_serialize( - update_agent_to_server_test=update_agent_to_server_test, + agent_to_server_test_request=agent_to_server_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -274,7 +273,7 @@ class AgentToServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "AgentToServerTest", + '201': "AgentToServerTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -292,7 +291,7 @@ class AgentToServerApi: def _create_agent_to_server_test_serialize( self, - update_agent_to_server_test, + agent_to_server_test_request, aid, expand, _request_auth, @@ -327,8 +326,8 @@ class AgentToServerApi: # process the header parameters # process the form parameters # process the body parameter - if update_agent_to_server_test is not None: - _body_params = update_agent_to_server_test + if agent_to_server_test_request is not None: + _body_params = agent_to_server_test_request # set the HTTP header `Accept` @@ -361,7 +360,7 @@ class AgentToServerApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tests/agent-to-server', + resource_path='/tests/agent-to-server', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -380,7 +379,7 @@ class AgentToServerApi: @validate_call def delete_agent_to_server_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -399,7 +398,7 @@ class AgentToServerApi: Deletes an Agent to Server test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -458,7 +457,7 @@ class AgentToServerApi: @validate_call def delete_agent_to_server_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -477,7 +476,7 @@ class AgentToServerApi: Deletes an Agent to Server test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -536,7 +535,7 @@ class AgentToServerApi: @validate_call def delete_agent_to_server_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -555,7 +554,7 @@ class AgentToServerApi: Deletes an Agent to Server test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -657,7 +656,7 @@ class AgentToServerApi: return self.api_client.param_serialize( method='DELETE', - resource_path='/v7/tests/agent-to-server/{testId}', + resource_path='/tests/agent-to-server/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -676,9 +675,9 @@ class AgentToServerApi: @validate_call def get_agent_to_server_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -691,17 +690,17 @@ class AgentToServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AgentToServerTest: + ) -> AgentToServerTestResponse: """Get Agent to Server test Returns details for a Agent to Server test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -735,7 +734,7 @@ class AgentToServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AgentToServerTest", + '200': "AgentToServerTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -758,9 +757,9 @@ class AgentToServerApi: @validate_call def get_agent_to_server_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -773,17 +772,17 @@ class AgentToServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AgentToServerTest]: + ) -> ApiResponse[AgentToServerTestResponse]: """Get Agent to Server test Returns details for a Agent to Server test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -817,7 +816,7 @@ class AgentToServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AgentToServerTest", + '200': "AgentToServerTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -840,9 +839,9 @@ class AgentToServerApi: @validate_call def get_agent_to_server_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -860,12 +859,12 @@ class AgentToServerApi: Returns details for a Agent to Server test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -899,7 +898,7 @@ class AgentToServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AgentToServerTest", + '200': "AgentToServerTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -972,7 +971,7 @@ class AgentToServerApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/tests/agent-to-server/{testId}', + resource_path='/tests/agent-to-server/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1254,7 +1253,7 @@ class AgentToServerApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/tests/agent-to-server', + resource_path='/tests/agent-to-server', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1273,10 +1272,10 @@ class AgentToServerApi: @validate_call def update_agent_to_server_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_agent_to_server_test: UpdateAgentToServerTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + agent_to_server_test_request: AgentToServerTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1289,19 +1288,19 @@ class AgentToServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AgentToServerTest: + ) -> AgentToServerTestResponse: """Update Agent to Server test Updates an Agent to Server test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_agent_to_server_test: (required) - :type update_agent_to_server_test: UpdateAgentToServerTest + :param agent_to_server_test_request: (required) + :type agent_to_server_test_request: AgentToServerTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1326,7 +1325,7 @@ class AgentToServerApi: _param = self._update_agent_to_server_test_serialize( test_id=test_id, - update_agent_to_server_test=update_agent_to_server_test, + agent_to_server_test_request=agent_to_server_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1336,7 +1335,7 @@ class AgentToServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AgentToServerTest", + '200': "AgentToServerTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1360,10 +1359,10 @@ class AgentToServerApi: @validate_call def update_agent_to_server_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_agent_to_server_test: UpdateAgentToServerTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + agent_to_server_test_request: AgentToServerTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1376,19 +1375,19 @@ class AgentToServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AgentToServerTest]: + ) -> ApiResponse[AgentToServerTestResponse]: """Update Agent to Server test Updates an Agent to Server test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_agent_to_server_test: (required) - :type update_agent_to_server_test: UpdateAgentToServerTest + :param agent_to_server_test_request: (required) + :type agent_to_server_test_request: AgentToServerTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1413,7 +1412,7 @@ class AgentToServerApi: _param = self._update_agent_to_server_test_serialize( test_id=test_id, - update_agent_to_server_test=update_agent_to_server_test, + agent_to_server_test_request=agent_to_server_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1423,7 +1422,7 @@ class AgentToServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AgentToServerTest", + '200': "AgentToServerTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1447,10 +1446,10 @@ class AgentToServerApi: @validate_call def update_agent_to_server_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_agent_to_server_test: UpdateAgentToServerTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + agent_to_server_test_request: AgentToServerTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1468,14 +1467,14 @@ class AgentToServerApi: Updates an Agent to Server test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_agent_to_server_test: (required) - :type update_agent_to_server_test: UpdateAgentToServerTest + :param agent_to_server_test_request: (required) + :type agent_to_server_test_request: AgentToServerTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1500,7 +1499,7 @@ class AgentToServerApi: _param = self._update_agent_to_server_test_serialize( test_id=test_id, - update_agent_to_server_test=update_agent_to_server_test, + agent_to_server_test_request=agent_to_server_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1510,7 +1509,7 @@ class AgentToServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AgentToServerTest", + '200': "AgentToServerTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1529,7 +1528,7 @@ class AgentToServerApi: def _update_agent_to_server_test_serialize( self, test_id, - update_agent_to_server_test, + agent_to_server_test_request, aid, expand, _request_auth, @@ -1566,8 +1565,8 @@ class AgentToServerApi: # process the header parameters # process the form parameters # process the body parameter - if update_agent_to_server_test is not None: - _body_params = update_agent_to_server_test + if agent_to_server_test_request is not None: + _body_params = agent_to_server_test_request # set the HTTP header `Accept` @@ -1600,7 +1599,7 @@ class AgentToServerApi: return self.api_client.param_serialize( method='PUT', - resource_path='/v7/tests/agent-to-server/{testId}', + resource_path='/tests/agent-to-server/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/api_api.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/api_tests_api.py similarity index 90% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/api_api.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/api_tests_api.py index 7ba8afdf..420e9d47 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/api_api.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/api_tests_api.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,17 +21,17 @@ import thousandeyes_sdk.tests.models from pydantic import Field, StrictStr from typing import List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.api_test import ApiTest +from thousandeyes_sdk.tests.models.api_test_request import ApiTestRequest +from thousandeyes_sdk.tests.models.api_test_response import ApiTestResponse from thousandeyes_sdk.tests.models.api_tests import ApiTests -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.update_api_test import UpdateApiTest +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions 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 APIApi: +class APITestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -49,9 +48,9 @@ class APIApi: @validate_call def create_api_test( self, - update_api_test: UpdateApiTest, + api_test_request: ApiTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -64,17 +63,17 @@ class APIApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiTest: + ) -> ApiTestResponse: """Create API test Creates a new API test. This method requires Account Admin permissions. - :param update_api_test: (required) - :type update_api_test: UpdateApiTest + :param api_test_request: (required) + :type api_test_request: ApiTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -98,7 +97,7 @@ class APIApi: """ # noqa: E501 _param = self._create_api_test_serialize( - update_api_test=update_api_test, + api_test_request=api_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -108,7 +107,7 @@ class APIApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "ApiTest", + '201': "ApiTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -132,9 +131,9 @@ class APIApi: @validate_call def create_api_test_with_http_info( self, - update_api_test: UpdateApiTest, + api_test_request: ApiTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -147,17 +146,17 @@ class APIApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[ApiTest]: + ) -> ApiResponse[ApiTestResponse]: """Create API test Creates a new API test. This method requires Account Admin permissions. - :param update_api_test: (required) - :type update_api_test: UpdateApiTest + :param api_test_request: (required) + :type api_test_request: ApiTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -181,7 +180,7 @@ class APIApi: """ # noqa: E501 _param = self._create_api_test_serialize( - update_api_test=update_api_test, + api_test_request=api_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -191,7 +190,7 @@ class APIApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "ApiTest", + '201': "ApiTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -215,9 +214,9 @@ class APIApi: @validate_call def create_api_test_without_preload_content( self, - update_api_test: UpdateApiTest, + api_test_request: ApiTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -235,12 +234,12 @@ class APIApi: Creates a new API test. This method requires Account Admin permissions. - :param update_api_test: (required) - :type update_api_test: UpdateApiTest + :param api_test_request: (required) + :type api_test_request: ApiTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -264,7 +263,7 @@ class APIApi: """ # noqa: E501 _param = self._create_api_test_serialize( - update_api_test=update_api_test, + api_test_request=api_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -274,7 +273,7 @@ class APIApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "ApiTest", + '201': "ApiTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -292,7 +291,7 @@ class APIApi: def _create_api_test_serialize( self, - update_api_test, + api_test_request, aid, expand, _request_auth, @@ -327,8 +326,8 @@ class APIApi: # process the header parameters # process the form parameters # process the body parameter - if update_api_test is not None: - _body_params = update_api_test + if api_test_request is not None: + _body_params = api_test_request # set the HTTP header `Accept` @@ -361,7 +360,7 @@ class APIApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tests/api', + resource_path='/tests/api', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -380,7 +379,7 @@ class APIApi: @validate_call def delete_api_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -399,7 +398,7 @@ class APIApi: Deletes the specified API test. This method requires write permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -458,7 +457,7 @@ class APIApi: @validate_call def delete_api_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -477,7 +476,7 @@ class APIApi: Deletes the specified API test. This method requires write permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -536,7 +535,7 @@ class APIApi: @validate_call def delete_api_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -555,7 +554,7 @@ class APIApi: Deletes the specified API test. This method requires write permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -657,7 +656,7 @@ class APIApi: return self.api_client.param_serialize( method='DELETE', - resource_path='/v7/tests/api/{testId}', + resource_path='/tests/api/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -676,9 +675,9 @@ class APIApi: @validate_call def get_api_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -691,17 +690,17 @@ class APIApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiTest: + ) -> ApiTestResponse: """Get API test Returns details for a API test configuration. Please use `expand` parameter to access sub-resources such as alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -735,7 +734,7 @@ class APIApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ApiTest", + '200': "ApiTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -758,9 +757,9 @@ class APIApi: @validate_call def get_api_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -773,17 +772,17 @@ class APIApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[ApiTest]: + ) -> ApiResponse[ApiTestResponse]: """Get API test Returns details for a API test configuration. Please use `expand` parameter to access sub-resources such as alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -817,7 +816,7 @@ class APIApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ApiTest", + '200': "ApiTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -840,9 +839,9 @@ class APIApi: @validate_call def get_api_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -860,12 +859,12 @@ class APIApi: Returns details for a API test configuration. Please use `expand` parameter to access sub-resources such as alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -899,7 +898,7 @@ class APIApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ApiTest", + '200': "ApiTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -972,7 +971,7 @@ class APIApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/tests/api/{testId}', + resource_path='/tests/api/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1254,7 +1253,7 @@ class APIApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/tests/api', + resource_path='/tests/api', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1273,10 +1272,10 @@ class APIApi: @validate_call def update_api_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_api_test: UpdateApiTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + api_test_request: ApiTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1289,19 +1288,19 @@ class APIApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiTest: + ) -> ApiTestResponse: """Update API test Updates an API test. The target test cannot be a live share or saved event. This method requires write permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_api_test: (required) - :type update_api_test: UpdateApiTest + :param api_test_request: (required) + :type api_test_request: ApiTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1326,7 +1325,7 @@ class APIApi: _param = self._update_api_test_serialize( test_id=test_id, - update_api_test=update_api_test, + api_test_request=api_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1336,7 +1335,7 @@ class APIApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ApiTest", + '200': "ApiTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1360,10 +1359,10 @@ class APIApi: @validate_call def update_api_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_api_test: UpdateApiTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + api_test_request: ApiTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1376,19 +1375,19 @@ class APIApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[ApiTest]: + ) -> ApiResponse[ApiTestResponse]: """Update API test Updates an API test. The target test cannot be a live share or saved event. This method requires write permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_api_test: (required) - :type update_api_test: UpdateApiTest + :param api_test_request: (required) + :type api_test_request: ApiTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1413,7 +1412,7 @@ class APIApi: _param = self._update_api_test_serialize( test_id=test_id, - update_api_test=update_api_test, + api_test_request=api_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1423,7 +1422,7 @@ class APIApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ApiTest", + '200': "ApiTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1447,10 +1446,10 @@ class APIApi: @validate_call def update_api_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_api_test: UpdateApiTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + api_test_request: ApiTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1468,14 +1467,14 @@ class APIApi: Updates an API test. The target test cannot be a live share or saved event. This method requires write permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_api_test: (required) - :type update_api_test: UpdateApiTest + :param api_test_request: (required) + :type api_test_request: ApiTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1500,7 +1499,7 @@ class APIApi: _param = self._update_api_test_serialize( test_id=test_id, - update_api_test=update_api_test, + api_test_request=api_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1510,7 +1509,7 @@ class APIApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ApiTest", + '200': "ApiTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1529,7 +1528,7 @@ class APIApi: def _update_api_test_serialize( self, test_id, - update_api_test, + api_test_request, aid, expand, _request_auth, @@ -1566,8 +1565,8 @@ class APIApi: # process the header parameters # process the form parameters # process the body parameter - if update_api_test is not None: - _body_params = update_api_test + if api_test_request is not None: + _body_params = api_test_request # set the HTTP header `Accept` @@ -1600,7 +1599,7 @@ class APIApi: return self.api_client.param_serialize( method='PUT', - resource_path='/v7/tests/api/{testId}', + resource_path='/tests/api/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/bgp_api.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/bgp_tests_api.py similarity index 89% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/bgp_api.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/bgp_tests_api.py index aa69ec83..43458a79 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/bgp_api.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/bgp_tests_api.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,10 +21,10 @@ import thousandeyes_sdk.tests.models from pydantic import Field, StrictStr from typing import List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.bgp_test import BgpTest +from thousandeyes_sdk.tests.models.bgp_test_request import BgpTestRequest +from thousandeyes_sdk.tests.models.bgp_test_response import BgpTestResponse from thousandeyes_sdk.tests.models.bgp_tests import BgpTests -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.update_bgp_test import UpdateBgpTest +from thousandeyes_sdk.tests.models.expand_bgp_test_options import ExpandBgpTestOptions from thousandeyes_sdk.tests.models.update_bgp_test_request import UpdateBgpTestRequest from thousandeyes_sdk.core.api_client import ApiClient, RequestSerialized @@ -33,7 +32,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class BGPApi: +class BGPTestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -50,9 +49,9 @@ class BGPApi: @validate_call def create_bgp_test( self, - update_bgp_test: UpdateBgpTest, + bgp_test_request: BgpTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandBgpTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion takes place if the query parameter is not present. To expand the `monitors` sub-resource, pass the `?expand=monitor` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -65,17 +64,17 @@ class BGPApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> BgpTest: + ) -> BgpTestResponse: """Create BGP test Creates a new BGP test. This method requires Account Admin permissions. - :param update_bgp_test: (required) - :type update_bgp_test: UpdateBgpTest + :param bgp_test_request: (required) + :type bgp_test_request: BgpTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion takes place if the query parameter is not present. To expand the `monitors` sub-resource, pass the `?expand=monitor` query. + :type expand: List[ExpandBgpTestOptions] :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 @@ -99,7 +98,7 @@ class BGPApi: """ # noqa: E501 _param = self._create_bgp_test_serialize( - update_bgp_test=update_bgp_test, + bgp_test_request=bgp_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -109,7 +108,7 @@ class BGPApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "BgpTest", + '201': "BgpTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -133,9 +132,9 @@ class BGPApi: @validate_call def create_bgp_test_with_http_info( self, - update_bgp_test: UpdateBgpTest, + bgp_test_request: BgpTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandBgpTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion takes place if the query parameter is not present. To expand the `monitors` sub-resource, pass the `?expand=monitor` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -148,17 +147,17 @@ class BGPApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[BgpTest]: + ) -> ApiResponse[BgpTestResponse]: """Create BGP test Creates a new BGP test. This method requires Account Admin permissions. - :param update_bgp_test: (required) - :type update_bgp_test: UpdateBgpTest + :param bgp_test_request: (required) + :type bgp_test_request: BgpTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion takes place if the query parameter is not present. To expand the `monitors` sub-resource, pass the `?expand=monitor` query. + :type expand: List[ExpandBgpTestOptions] :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 @@ -182,7 +181,7 @@ class BGPApi: """ # noqa: E501 _param = self._create_bgp_test_serialize( - update_bgp_test=update_bgp_test, + bgp_test_request=bgp_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -192,7 +191,7 @@ class BGPApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "BgpTest", + '201': "BgpTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -216,9 +215,9 @@ class BGPApi: @validate_call def create_bgp_test_without_preload_content( self, - update_bgp_test: UpdateBgpTest, + bgp_test_request: BgpTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandBgpTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion takes place if the query parameter is not present. To expand the `monitors` sub-resource, pass the `?expand=monitor` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -236,12 +235,12 @@ class BGPApi: Creates a new BGP test. This method requires Account Admin permissions. - :param update_bgp_test: (required) - :type update_bgp_test: UpdateBgpTest + :param bgp_test_request: (required) + :type bgp_test_request: BgpTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion takes place if the query parameter is not present. To expand the `monitors` sub-resource, pass the `?expand=monitor` query. + :type expand: List[ExpandBgpTestOptions] :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 @@ -265,7 +264,7 @@ class BGPApi: """ # noqa: E501 _param = self._create_bgp_test_serialize( - update_bgp_test=update_bgp_test, + bgp_test_request=bgp_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -275,7 +274,7 @@ class BGPApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "BgpTest", + '201': "BgpTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -293,7 +292,7 @@ class BGPApi: def _create_bgp_test_serialize( self, - update_bgp_test, + bgp_test_request, aid, expand, _request_auth, @@ -328,8 +327,8 @@ class BGPApi: # process the header parameters # process the form parameters # process the body parameter - if update_bgp_test is not None: - _body_params = update_bgp_test + if bgp_test_request is not None: + _body_params = bgp_test_request # set the HTTP header `Accept` @@ -362,7 +361,7 @@ class BGPApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tests/bgp', + resource_path='/tests/bgp', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -381,7 +380,7 @@ class BGPApi: @validate_call def delete_bgp_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -400,7 +399,7 @@ class BGPApi: Deletes a BGP test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -459,7 +458,7 @@ class BGPApi: @validate_call def delete_bgp_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -478,7 +477,7 @@ class BGPApi: Deletes a BGP test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -537,7 +536,7 @@ class BGPApi: @validate_call def delete_bgp_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -556,7 +555,7 @@ class BGPApi: Deletes a BGP test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -658,7 +657,7 @@ class BGPApi: return self.api_client.param_serialize( method='DELETE', - resource_path='/v7/tests/bgp/{testId}', + resource_path='/tests/bgp/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -677,9 +676,9 @@ class BGPApi: @validate_call def get_bgp_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandBgpTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion takes place if the query parameter is not present. To expand the `monitors` sub-resource, pass the `?expand=monitor` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -692,17 +691,17 @@ class BGPApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> BgpTest: + ) -> BgpTestResponse: """Get BGP test Returns details for a BGP test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str - :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion takes place if the query parameter is not present. To expand the `monitors` sub-resource, pass the `?expand=monitor` query. + :type expand: List[ExpandBgpTestOptions] :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 @@ -736,7 +735,7 @@ class BGPApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "BgpTest", + '200': "BgpTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -759,9 +758,9 @@ class BGPApi: @validate_call def get_bgp_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandBgpTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion takes place if the query parameter is not present. To expand the `monitors` sub-resource, pass the `?expand=monitor` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -774,17 +773,17 @@ class BGPApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[BgpTest]: + ) -> ApiResponse[BgpTestResponse]: """Get BGP test Returns details for a BGP test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str - :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion takes place if the query parameter is not present. To expand the `monitors` sub-resource, pass the `?expand=monitor` query. + :type expand: List[ExpandBgpTestOptions] :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 @@ -818,7 +817,7 @@ class BGPApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "BgpTest", + '200': "BgpTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -841,9 +840,9 @@ class BGPApi: @validate_call def get_bgp_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandBgpTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion takes place if the query parameter is not present. To expand the `monitors` sub-resource, pass the `?expand=monitor` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -861,12 +860,12 @@ class BGPApi: Returns details for a BGP test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str - :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion takes place if the query parameter is not present. To expand the `monitors` sub-resource, pass the `?expand=monitor` query. + :type expand: List[ExpandBgpTestOptions] :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 @@ -900,7 +899,7 @@ class BGPApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "BgpTest", + '200': "BgpTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -973,7 +972,7 @@ class BGPApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/tests/bgp/{testId}', + resource_path='/tests/bgp/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1255,7 +1254,7 @@ class BGPApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/tests/bgp', + resource_path='/tests/bgp', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1274,10 +1273,10 @@ class BGPApi: @validate_call def update_bgp_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test ID")], update_bgp_test_request: UpdateBgpTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandBgpTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion takes place if the query parameter is not present. To expand the `monitors` sub-resource, pass the `?expand=monitor` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1290,19 +1289,19 @@ class BGPApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> BgpTest: + ) -> BgpTestResponse: """Update BGP test Updates a BGP test. This method requires Account Admin permissions. The target test cannot be a live share or saved event. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param update_bgp_test_request: (required) :type update_bgp_test_request: UpdateBgpTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion takes place if the query parameter is not present. To expand the `monitors` sub-resource, pass the `?expand=monitor` query. + :type expand: List[ExpandBgpTestOptions] :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 @@ -1337,7 +1336,7 @@ class BGPApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "BgpTest", + '200': "BgpTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1361,10 +1360,10 @@ class BGPApi: @validate_call def update_bgp_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test ID")], update_bgp_test_request: UpdateBgpTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandBgpTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion takes place if the query parameter is not present. To expand the `monitors` sub-resource, pass the `?expand=monitor` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1377,19 +1376,19 @@ class BGPApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[BgpTest]: + ) -> ApiResponse[BgpTestResponse]: """Update BGP test Updates a BGP test. This method requires Account Admin permissions. The target test cannot be a live share or saved event. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param update_bgp_test_request: (required) :type update_bgp_test_request: UpdateBgpTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion takes place if the query parameter is not present. To expand the `monitors` sub-resource, pass the `?expand=monitor` query. + :type expand: List[ExpandBgpTestOptions] :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 @@ -1424,7 +1423,7 @@ class BGPApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "BgpTest", + '200': "BgpTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1448,10 +1447,10 @@ class BGPApi: @validate_call def update_bgp_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test ID")], update_bgp_test_request: UpdateBgpTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandBgpTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion takes place if the query parameter is not present. To expand the `monitors` sub-resource, pass the `?expand=monitor` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1469,14 +1468,14 @@ class BGPApi: Updates a BGP test. This method requires Account Admin permissions. The target test cannot be a live share or saved event. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param update_bgp_test_request: (required) :type update_bgp_test_request: UpdateBgpTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion takes place if the query parameter is not present. To expand the `monitors` sub-resource, pass the `?expand=monitor` query. + :type expand: List[ExpandBgpTestOptions] :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 @@ -1511,7 +1510,7 @@ class BGPApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "BgpTest", + '200': "BgpTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1601,7 +1600,7 @@ class BGPApi: return self.api_client.param_serialize( method='PUT', - resource_path='/v7/tests/bgp/{testId}', + resource_path='/tests/bgp/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/dns_server_api.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/dns_server_tests_api.py similarity index 90% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/dns_server_api.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/dns_server_tests_api.py index 7a2931c7..c8113013 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/dns_server_api.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/dns_server_tests_api.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,17 +21,17 @@ import thousandeyes_sdk.tests.models from pydantic import Field, StrictStr from typing import List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.dns_server_test import DnsServerTest +from thousandeyes_sdk.tests.models.dns_server_test_request import DnsServerTestRequest +from thousandeyes_sdk.tests.models.dns_server_test_response import DnsServerTestResponse from thousandeyes_sdk.tests.models.dns_server_tests import DnsServerTests -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.update_dns_server_test import UpdateDnsServerTest +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions 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 DNSServerApi: +class DNSServerTestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -49,9 +48,9 @@ class DNSServerApi: @validate_call def create_dns_server_test( self, - update_dns_server_test: UpdateDnsServerTest, + dns_server_test_request: DnsServerTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -64,17 +63,17 @@ class DNSServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> DnsServerTest: + ) -> DnsServerTestResponse: """Create DNS Server test Creates a new DNS Server test. This method requires Account Admin permissions. - :param update_dns_server_test: (required) - :type update_dns_server_test: UpdateDnsServerTest + :param dns_server_test_request: (required) + :type dns_server_test_request: DnsServerTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -98,7 +97,7 @@ class DNSServerApi: """ # noqa: E501 _param = self._create_dns_server_test_serialize( - update_dns_server_test=update_dns_server_test, + dns_server_test_request=dns_server_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -108,7 +107,7 @@ class DNSServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "DnsServerTest", + '201': "DnsServerTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -132,9 +131,9 @@ class DNSServerApi: @validate_call def create_dns_server_test_with_http_info( self, - update_dns_server_test: UpdateDnsServerTest, + dns_server_test_request: DnsServerTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -147,17 +146,17 @@ class DNSServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[DnsServerTest]: + ) -> ApiResponse[DnsServerTestResponse]: """Create DNS Server test Creates a new DNS Server test. This method requires Account Admin permissions. - :param update_dns_server_test: (required) - :type update_dns_server_test: UpdateDnsServerTest + :param dns_server_test_request: (required) + :type dns_server_test_request: DnsServerTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -181,7 +180,7 @@ class DNSServerApi: """ # noqa: E501 _param = self._create_dns_server_test_serialize( - update_dns_server_test=update_dns_server_test, + dns_server_test_request=dns_server_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -191,7 +190,7 @@ class DNSServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "DnsServerTest", + '201': "DnsServerTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -215,9 +214,9 @@ class DNSServerApi: @validate_call def create_dns_server_test_without_preload_content( self, - update_dns_server_test: UpdateDnsServerTest, + dns_server_test_request: DnsServerTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -235,12 +234,12 @@ class DNSServerApi: Creates a new DNS Server test. This method requires Account Admin permissions. - :param update_dns_server_test: (required) - :type update_dns_server_test: UpdateDnsServerTest + :param dns_server_test_request: (required) + :type dns_server_test_request: DnsServerTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -264,7 +263,7 @@ class DNSServerApi: """ # noqa: E501 _param = self._create_dns_server_test_serialize( - update_dns_server_test=update_dns_server_test, + dns_server_test_request=dns_server_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -274,7 +273,7 @@ class DNSServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "DnsServerTest", + '201': "DnsServerTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -292,7 +291,7 @@ class DNSServerApi: def _create_dns_server_test_serialize( self, - update_dns_server_test, + dns_server_test_request, aid, expand, _request_auth, @@ -327,8 +326,8 @@ class DNSServerApi: # process the header parameters # process the form parameters # process the body parameter - if update_dns_server_test is not None: - _body_params = update_dns_server_test + if dns_server_test_request is not None: + _body_params = dns_server_test_request # set the HTTP header `Accept` @@ -361,7 +360,7 @@ class DNSServerApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tests/dns-server', + resource_path='/tests/dns-server', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -380,7 +379,7 @@ class DNSServerApi: @validate_call def delete_dns_server_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -399,7 +398,7 @@ class DNSServerApi: Deletes the specified DNS Server test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -458,7 +457,7 @@ class DNSServerApi: @validate_call def delete_dns_server_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -477,7 +476,7 @@ class DNSServerApi: Deletes the specified DNS Server test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -536,7 +535,7 @@ class DNSServerApi: @validate_call def delete_dns_server_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -555,7 +554,7 @@ class DNSServerApi: Deletes the specified DNS Server test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -657,7 +656,7 @@ class DNSServerApi: return self.api_client.param_serialize( method='DELETE', - resource_path='/v7/tests/dns-server/{testId}', + resource_path='/tests/dns-server/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -676,9 +675,9 @@ class DNSServerApi: @validate_call def get_dns_server_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -691,17 +690,17 @@ class DNSServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> DnsServerTest: + ) -> DnsServerTestResponse: """Get DNS Server test Returns details for a DNS Server test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -735,7 +734,7 @@ class DNSServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "DnsServerTest", + '200': "DnsServerTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -758,9 +757,9 @@ class DNSServerApi: @validate_call def get_dns_server_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -773,17 +772,17 @@ class DNSServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[DnsServerTest]: + ) -> ApiResponse[DnsServerTestResponse]: """Get DNS Server test Returns details for a DNS Server test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -817,7 +816,7 @@ class DNSServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "DnsServerTest", + '200': "DnsServerTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -840,9 +839,9 @@ class DNSServerApi: @validate_call def get_dns_server_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -860,12 +859,12 @@ class DNSServerApi: Returns details for a DNS Server test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -899,7 +898,7 @@ class DNSServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "DnsServerTest", + '200': "DnsServerTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -972,7 +971,7 @@ class DNSServerApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/tests/dns-server/{testId}', + resource_path='/tests/dns-server/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1254,7 +1253,7 @@ class DNSServerApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/tests/dns-server', + resource_path='/tests/dns-server', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1273,10 +1272,10 @@ class DNSServerApi: @validate_call def update_dns_server_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_dns_server_test: UpdateDnsServerTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + dns_server_test_request: DnsServerTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1289,19 +1288,19 @@ class DNSServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> DnsServerTest: + ) -> DnsServerTestResponse: """Update DNS Server test Updates a DNS Server test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_dns_server_test: (required) - :type update_dns_server_test: UpdateDnsServerTest + :param dns_server_test_request: (required) + :type dns_server_test_request: DnsServerTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1326,7 +1325,7 @@ class DNSServerApi: _param = self._update_dns_server_test_serialize( test_id=test_id, - update_dns_server_test=update_dns_server_test, + dns_server_test_request=dns_server_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1336,7 +1335,7 @@ class DNSServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "DnsServerTest", + '200': "DnsServerTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1360,10 +1359,10 @@ class DNSServerApi: @validate_call def update_dns_server_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_dns_server_test: UpdateDnsServerTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + dns_server_test_request: DnsServerTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1376,19 +1375,19 @@ class DNSServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[DnsServerTest]: + ) -> ApiResponse[DnsServerTestResponse]: """Update DNS Server test Updates a DNS Server test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_dns_server_test: (required) - :type update_dns_server_test: UpdateDnsServerTest + :param dns_server_test_request: (required) + :type dns_server_test_request: DnsServerTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1413,7 +1412,7 @@ class DNSServerApi: _param = self._update_dns_server_test_serialize( test_id=test_id, - update_dns_server_test=update_dns_server_test, + dns_server_test_request=dns_server_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1423,7 +1422,7 @@ class DNSServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "DnsServerTest", + '200': "DnsServerTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1447,10 +1446,10 @@ class DNSServerApi: @validate_call def update_dns_server_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_dns_server_test: UpdateDnsServerTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + dns_server_test_request: DnsServerTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1468,14 +1467,14 @@ class DNSServerApi: Updates a DNS Server test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_dns_server_test: (required) - :type update_dns_server_test: UpdateDnsServerTest + :param dns_server_test_request: (required) + :type dns_server_test_request: DnsServerTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1500,7 +1499,7 @@ class DNSServerApi: _param = self._update_dns_server_test_serialize( test_id=test_id, - update_dns_server_test=update_dns_server_test, + dns_server_test_request=dns_server_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1510,7 +1509,7 @@ class DNSServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "DnsServerTest", + '200': "DnsServerTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1529,7 +1528,7 @@ class DNSServerApi: def _update_dns_server_test_serialize( self, test_id, - update_dns_server_test, + dns_server_test_request, aid, expand, _request_auth, @@ -1566,8 +1565,8 @@ class DNSServerApi: # process the header parameters # process the form parameters # process the body parameter - if update_dns_server_test is not None: - _body_params = update_dns_server_test + if dns_server_test_request is not None: + _body_params = dns_server_test_request # set the HTTP header `Accept` @@ -1600,7 +1599,7 @@ class DNSServerApi: return self.api_client.param_serialize( method='PUT', - resource_path='/v7/tests/dns-server/{testId}', + resource_path='/tests/dns-server/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/dns_trace_api.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/dns_trace_tests_api.py similarity index 90% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/dns_trace_api.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/dns_trace_tests_api.py index 9d23bfba..bb7a0045 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/dns_trace_api.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/dns_trace_tests_api.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,17 +21,17 @@ import thousandeyes_sdk.tests.models from pydantic import Field, StrictStr from typing import List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.dns_trace_test import DnsTraceTest +from thousandeyes_sdk.tests.models.dns_trace_test_request import DnsTraceTestRequest +from thousandeyes_sdk.tests.models.dns_trace_test_response import DnsTraceTestResponse from thousandeyes_sdk.tests.models.dns_trace_tests import DnsTraceTests -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.update_dns_trace_test import UpdateDnsTraceTest +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions 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 DNSTraceApi: +class DNSTraceTestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -49,9 +48,9 @@ class DNSTraceApi: @validate_call def create_dns_trace_test( self, - update_dns_trace_test: UpdateDnsTraceTest, + dns_trace_test_request: DnsTraceTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -64,17 +63,17 @@ class DNSTraceApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> DnsTraceTest: + ) -> DnsTraceTestResponse: """Create DNS Trace test Creates a new DNS Trace test. This method requires Account Admin permissions. - :param update_dns_trace_test: (required) - :type update_dns_trace_test: UpdateDnsTraceTest + :param dns_trace_test_request: (required) + :type dns_trace_test_request: DnsTraceTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -98,7 +97,7 @@ class DNSTraceApi: """ # noqa: E501 _param = self._create_dns_trace_test_serialize( - update_dns_trace_test=update_dns_trace_test, + dns_trace_test_request=dns_trace_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -108,7 +107,7 @@ class DNSTraceApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "DnsTraceTest", + '201': "DnsTraceTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -132,9 +131,9 @@ class DNSTraceApi: @validate_call def create_dns_trace_test_with_http_info( self, - update_dns_trace_test: UpdateDnsTraceTest, + dns_trace_test_request: DnsTraceTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -147,17 +146,17 @@ class DNSTraceApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[DnsTraceTest]: + ) -> ApiResponse[DnsTraceTestResponse]: """Create DNS Trace test Creates a new DNS Trace test. This method requires Account Admin permissions. - :param update_dns_trace_test: (required) - :type update_dns_trace_test: UpdateDnsTraceTest + :param dns_trace_test_request: (required) + :type dns_trace_test_request: DnsTraceTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -181,7 +180,7 @@ class DNSTraceApi: """ # noqa: E501 _param = self._create_dns_trace_test_serialize( - update_dns_trace_test=update_dns_trace_test, + dns_trace_test_request=dns_trace_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -191,7 +190,7 @@ class DNSTraceApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "DnsTraceTest", + '201': "DnsTraceTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -215,9 +214,9 @@ class DNSTraceApi: @validate_call def create_dns_trace_test_without_preload_content( self, - update_dns_trace_test: UpdateDnsTraceTest, + dns_trace_test_request: DnsTraceTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -235,12 +234,12 @@ class DNSTraceApi: Creates a new DNS Trace test. This method requires Account Admin permissions. - :param update_dns_trace_test: (required) - :type update_dns_trace_test: UpdateDnsTraceTest + :param dns_trace_test_request: (required) + :type dns_trace_test_request: DnsTraceTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -264,7 +263,7 @@ class DNSTraceApi: """ # noqa: E501 _param = self._create_dns_trace_test_serialize( - update_dns_trace_test=update_dns_trace_test, + dns_trace_test_request=dns_trace_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -274,7 +273,7 @@ class DNSTraceApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "DnsTraceTest", + '201': "DnsTraceTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -292,7 +291,7 @@ class DNSTraceApi: def _create_dns_trace_test_serialize( self, - update_dns_trace_test, + dns_trace_test_request, aid, expand, _request_auth, @@ -327,8 +326,8 @@ class DNSTraceApi: # process the header parameters # process the form parameters # process the body parameter - if update_dns_trace_test is not None: - _body_params = update_dns_trace_test + if dns_trace_test_request is not None: + _body_params = dns_trace_test_request # set the HTTP header `Accept` @@ -361,7 +360,7 @@ class DNSTraceApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tests/dns-trace', + resource_path='/tests/dns-trace', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -380,7 +379,7 @@ class DNSTraceApi: @validate_call def delete_dns_trace_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -399,7 +398,7 @@ class DNSTraceApi: Deletes the specified DNS Trace test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -458,7 +457,7 @@ class DNSTraceApi: @validate_call def delete_dns_trace_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -477,7 +476,7 @@ class DNSTraceApi: Deletes the specified DNS Trace test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -536,7 +535,7 @@ class DNSTraceApi: @validate_call def delete_dns_trace_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -555,7 +554,7 @@ class DNSTraceApi: Deletes the specified DNS Trace test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -657,7 +656,7 @@ class DNSTraceApi: return self.api_client.param_serialize( method='DELETE', - resource_path='/v7/tests/dns-trace/{testId}', + resource_path='/tests/dns-trace/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -676,9 +675,9 @@ class DNSTraceApi: @validate_call def get_dns_trace_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -691,17 +690,17 @@ class DNSTraceApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> DnsTraceTest: + ) -> DnsTraceTestResponse: """Get DNS Trace test Returns details for a DNS Trace test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -735,7 +734,7 @@ class DNSTraceApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "DnsTraceTest", + '200': "DnsTraceTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -758,9 +757,9 @@ class DNSTraceApi: @validate_call def get_dns_trace_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -773,17 +772,17 @@ class DNSTraceApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[DnsTraceTest]: + ) -> ApiResponse[DnsTraceTestResponse]: """Get DNS Trace test Returns details for a DNS Trace test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -817,7 +816,7 @@ class DNSTraceApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "DnsTraceTest", + '200': "DnsTraceTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -840,9 +839,9 @@ class DNSTraceApi: @validate_call def get_dns_trace_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -860,12 +859,12 @@ class DNSTraceApi: Returns details for a DNS Trace test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -899,7 +898,7 @@ class DNSTraceApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "DnsTraceTest", + '200': "DnsTraceTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -972,7 +971,7 @@ class DNSTraceApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/tests/dns-trace/{testId}', + resource_path='/tests/dns-trace/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1254,7 +1253,7 @@ class DNSTraceApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/tests/dns-trace', + resource_path='/tests/dns-trace', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1273,10 +1272,10 @@ class DNSTraceApi: @validate_call def update_dns_trace_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_dns_trace_test: UpdateDnsTraceTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + dns_trace_test_request: DnsTraceTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1289,19 +1288,19 @@ class DNSTraceApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> DnsTraceTest: + ) -> DnsTraceTestResponse: """Update DNS Trace test Updates a DNS Trace test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_dns_trace_test: (required) - :type update_dns_trace_test: UpdateDnsTraceTest + :param dns_trace_test_request: (required) + :type dns_trace_test_request: DnsTraceTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1326,7 +1325,7 @@ class DNSTraceApi: _param = self._update_dns_trace_test_serialize( test_id=test_id, - update_dns_trace_test=update_dns_trace_test, + dns_trace_test_request=dns_trace_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1336,7 +1335,7 @@ class DNSTraceApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "DnsTraceTest", + '200': "DnsTraceTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1360,10 +1359,10 @@ class DNSTraceApi: @validate_call def update_dns_trace_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_dns_trace_test: UpdateDnsTraceTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + dns_trace_test_request: DnsTraceTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1376,19 +1375,19 @@ class DNSTraceApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[DnsTraceTest]: + ) -> ApiResponse[DnsTraceTestResponse]: """Update DNS Trace test Updates a DNS Trace test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_dns_trace_test: (required) - :type update_dns_trace_test: UpdateDnsTraceTest + :param dns_trace_test_request: (required) + :type dns_trace_test_request: DnsTraceTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1413,7 +1412,7 @@ class DNSTraceApi: _param = self._update_dns_trace_test_serialize( test_id=test_id, - update_dns_trace_test=update_dns_trace_test, + dns_trace_test_request=dns_trace_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1423,7 +1422,7 @@ class DNSTraceApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "DnsTraceTest", + '200': "DnsTraceTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1447,10 +1446,10 @@ class DNSTraceApi: @validate_call def update_dns_trace_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_dns_trace_test: UpdateDnsTraceTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + dns_trace_test_request: DnsTraceTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1468,14 +1467,14 @@ class DNSTraceApi: Updates a DNS Trace test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_dns_trace_test: (required) - :type update_dns_trace_test: UpdateDnsTraceTest + :param dns_trace_test_request: (required) + :type dns_trace_test_request: DnsTraceTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1500,7 +1499,7 @@ class DNSTraceApi: _param = self._update_dns_trace_test_serialize( test_id=test_id, - update_dns_trace_test=update_dns_trace_test, + dns_trace_test_request=dns_trace_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1510,7 +1509,7 @@ class DNSTraceApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "DnsTraceTest", + '200': "DnsTraceTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1529,7 +1528,7 @@ class DNSTraceApi: def _update_dns_trace_test_serialize( self, test_id, - update_dns_trace_test, + dns_trace_test_request, aid, expand, _request_auth, @@ -1566,8 +1565,8 @@ class DNSTraceApi: # process the header parameters # process the form parameters # process the body parameter - if update_dns_trace_test is not None: - _body_params = update_dns_trace_test + if dns_trace_test_request is not None: + _body_params = dns_trace_test_request # set the HTTP header `Accept` @@ -1600,7 +1599,7 @@ class DNSTraceApi: return self.api_client.param_serialize( method='PUT', - resource_path='/v7/tests/dns-trace/{testId}', + resource_path='/tests/dns-trace/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/dnssec_api.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/dnssec_tests_api.py similarity index 90% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/dnssec_api.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/dnssec_tests_api.py index aac95cea..d8fa7903 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/dnssec_api.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/dnssec_tests_api.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,17 +21,17 @@ import thousandeyes_sdk.tests.models from pydantic import Field, StrictStr from typing import List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.dns_sec_test import DnsSecTest +from thousandeyes_sdk.tests.models.dns_sec_test_request import DnsSecTestRequest +from thousandeyes_sdk.tests.models.dns_sec_test_response import DnsSecTestResponse from thousandeyes_sdk.tests.models.dns_sec_tests import DnsSecTests -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.update_dns_sec_test import UpdateDnsSecTest +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions 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 DNSSECApi: +class DNSSECTestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -49,9 +48,9 @@ class DNSSECApi: @validate_call def create_dns_sec_test( self, - update_dns_sec_test: UpdateDnsSecTest, + dns_sec_test_request: DnsSecTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -64,17 +63,17 @@ class DNSSECApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> DnsSecTest: + ) -> DnsSecTestResponse: """Create DNSSEC test Creates a new DNSSEC test. This method requires Account Admin permissions. - :param update_dns_sec_test: (required) - :type update_dns_sec_test: UpdateDnsSecTest + :param dns_sec_test_request: (required) + :type dns_sec_test_request: DnsSecTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -98,7 +97,7 @@ class DNSSECApi: """ # noqa: E501 _param = self._create_dns_sec_test_serialize( - update_dns_sec_test=update_dns_sec_test, + dns_sec_test_request=dns_sec_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -108,7 +107,7 @@ class DNSSECApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "DnsSecTest", + '201': "DnsSecTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -132,9 +131,9 @@ class DNSSECApi: @validate_call def create_dns_sec_test_with_http_info( self, - update_dns_sec_test: UpdateDnsSecTest, + dns_sec_test_request: DnsSecTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -147,17 +146,17 @@ class DNSSECApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[DnsSecTest]: + ) -> ApiResponse[DnsSecTestResponse]: """Create DNSSEC test Creates a new DNSSEC test. This method requires Account Admin permissions. - :param update_dns_sec_test: (required) - :type update_dns_sec_test: UpdateDnsSecTest + :param dns_sec_test_request: (required) + :type dns_sec_test_request: DnsSecTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -181,7 +180,7 @@ class DNSSECApi: """ # noqa: E501 _param = self._create_dns_sec_test_serialize( - update_dns_sec_test=update_dns_sec_test, + dns_sec_test_request=dns_sec_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -191,7 +190,7 @@ class DNSSECApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "DnsSecTest", + '201': "DnsSecTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -215,9 +214,9 @@ class DNSSECApi: @validate_call def create_dns_sec_test_without_preload_content( self, - update_dns_sec_test: UpdateDnsSecTest, + dns_sec_test_request: DnsSecTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -235,12 +234,12 @@ class DNSSECApi: Creates a new DNSSEC test. This method requires Account Admin permissions. - :param update_dns_sec_test: (required) - :type update_dns_sec_test: UpdateDnsSecTest + :param dns_sec_test_request: (required) + :type dns_sec_test_request: DnsSecTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -264,7 +263,7 @@ class DNSSECApi: """ # noqa: E501 _param = self._create_dns_sec_test_serialize( - update_dns_sec_test=update_dns_sec_test, + dns_sec_test_request=dns_sec_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -274,7 +273,7 @@ class DNSSECApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "DnsSecTest", + '201': "DnsSecTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -292,7 +291,7 @@ class DNSSECApi: def _create_dns_sec_test_serialize( self, - update_dns_sec_test, + dns_sec_test_request, aid, expand, _request_auth, @@ -327,8 +326,8 @@ class DNSSECApi: # process the header parameters # process the form parameters # process the body parameter - if update_dns_sec_test is not None: - _body_params = update_dns_sec_test + if dns_sec_test_request is not None: + _body_params = dns_sec_test_request # set the HTTP header `Accept` @@ -361,7 +360,7 @@ class DNSSECApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tests/dnssec', + resource_path='/tests/dnssec', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -380,7 +379,7 @@ class DNSSECApi: @validate_call def delete_dns_sec_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -399,7 +398,7 @@ class DNSSECApi: Deletes the specified DNSSEC test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -458,7 +457,7 @@ class DNSSECApi: @validate_call def delete_dns_sec_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -477,7 +476,7 @@ class DNSSECApi: Deletes the specified DNSSEC test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -536,7 +535,7 @@ class DNSSECApi: @validate_call def delete_dns_sec_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -555,7 +554,7 @@ class DNSSECApi: Deletes the specified DNSSEC test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -657,7 +656,7 @@ class DNSSECApi: return self.api_client.param_serialize( method='DELETE', - resource_path='/v7/tests/dnssec/{testId}', + resource_path='/tests/dnssec/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -676,9 +675,9 @@ class DNSSECApi: @validate_call def get_dns_sec_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -691,17 +690,17 @@ class DNSSECApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> DnsSecTest: + ) -> DnsSecTestResponse: """Get DNSSEC test Returns details for a DNSSEC test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -735,7 +734,7 @@ class DNSSECApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "DnsSecTest", + '200': "DnsSecTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -758,9 +757,9 @@ class DNSSECApi: @validate_call def get_dns_sec_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -773,17 +772,17 @@ class DNSSECApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[DnsSecTest]: + ) -> ApiResponse[DnsSecTestResponse]: """Get DNSSEC test Returns details for a DNSSEC test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -817,7 +816,7 @@ class DNSSECApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "DnsSecTest", + '200': "DnsSecTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -840,9 +839,9 @@ class DNSSECApi: @validate_call def get_dns_sec_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -860,12 +859,12 @@ class DNSSECApi: Returns details for a DNSSEC test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -899,7 +898,7 @@ class DNSSECApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "DnsSecTest", + '200': "DnsSecTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -972,7 +971,7 @@ class DNSSECApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/tests/dnssec/{testId}', + resource_path='/tests/dnssec/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1254,7 +1253,7 @@ class DNSSECApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/tests/dnssec', + resource_path='/tests/dnssec', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1273,10 +1272,10 @@ class DNSSECApi: @validate_call def update_dns_sec_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_dns_sec_test: UpdateDnsSecTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + dns_sec_test_request: DnsSecTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1289,19 +1288,19 @@ class DNSSECApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> DnsSecTest: + ) -> DnsSecTestResponse: """Update DNSSEC test Updates a DNSSEC test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_dns_sec_test: (required) - :type update_dns_sec_test: UpdateDnsSecTest + :param dns_sec_test_request: (required) + :type dns_sec_test_request: DnsSecTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1326,7 +1325,7 @@ class DNSSECApi: _param = self._update_dns_sec_test_serialize( test_id=test_id, - update_dns_sec_test=update_dns_sec_test, + dns_sec_test_request=dns_sec_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1336,7 +1335,7 @@ class DNSSECApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "DnsSecTest", + '200': "DnsSecTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1360,10 +1359,10 @@ class DNSSECApi: @validate_call def update_dns_sec_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_dns_sec_test: UpdateDnsSecTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + dns_sec_test_request: DnsSecTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1376,19 +1375,19 @@ class DNSSECApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[DnsSecTest]: + ) -> ApiResponse[DnsSecTestResponse]: """Update DNSSEC test Updates a DNSSEC test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_dns_sec_test: (required) - :type update_dns_sec_test: UpdateDnsSecTest + :param dns_sec_test_request: (required) + :type dns_sec_test_request: DnsSecTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1413,7 +1412,7 @@ class DNSSECApi: _param = self._update_dns_sec_test_serialize( test_id=test_id, - update_dns_sec_test=update_dns_sec_test, + dns_sec_test_request=dns_sec_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1423,7 +1422,7 @@ class DNSSECApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "DnsSecTest", + '200': "DnsSecTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1447,10 +1446,10 @@ class DNSSECApi: @validate_call def update_dns_sec_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_dns_sec_test: UpdateDnsSecTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + dns_sec_test_request: DnsSecTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1468,14 +1467,14 @@ class DNSSECApi: Updates a DNSSEC test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_dns_sec_test: (required) - :type update_dns_sec_test: UpdateDnsSecTest + :param dns_sec_test_request: (required) + :type dns_sec_test_request: DnsSecTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1500,7 +1499,7 @@ class DNSSECApi: _param = self._update_dns_sec_test_serialize( test_id=test_id, - update_dns_sec_test=update_dns_sec_test, + dns_sec_test_request=dns_sec_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1510,7 +1509,7 @@ class DNSSECApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "DnsSecTest", + '200': "DnsSecTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1529,7 +1528,7 @@ class DNSSECApi: def _update_dns_sec_test_serialize( self, test_id, - update_dns_sec_test, + dns_sec_test_request, aid, expand, _request_auth, @@ -1566,8 +1565,8 @@ class DNSSECApi: # process the header parameters # process the form parameters # process the body parameter - if update_dns_sec_test is not None: - _body_params = update_dns_sec_test + if dns_sec_test_request is not None: + _body_params = dns_sec_test_request # set the HTTP header `Accept` @@ -1600,7 +1599,7 @@ class DNSSECApi: return self.api_client.param_serialize( method='PUT', - resource_path='/v7/tests/dnssec/{testId}', + resource_path='/tests/dnssec/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/ftp_server_api.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/ftp_server_tests_api.py similarity index 90% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/ftp_server_api.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/ftp_server_tests_api.py index 6142dfe5..c2fd159e 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/ftp_server_api.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/ftp_server_tests_api.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,17 +21,17 @@ import thousandeyes_sdk.tests.models from pydantic import Field, StrictStr from typing import List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.ftp_server_test import FtpServerTest +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions +from thousandeyes_sdk.tests.models.ftp_server_test_request import FtpServerTestRequest +from thousandeyes_sdk.tests.models.ftp_server_test_response import FtpServerTestResponse from thousandeyes_sdk.tests.models.ftp_server_tests import FtpServerTests -from thousandeyes_sdk.tests.models.update_ftp_server_test import UpdateFtpServerTest 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 FTPServerApi: +class FTPServerTestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -49,9 +48,9 @@ class FTPServerApi: @validate_call def create_ftp_server_test( self, - update_ftp_server_test: UpdateFtpServerTest, + ftp_server_test_request: FtpServerTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -64,17 +63,17 @@ class FTPServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> FtpServerTest: + ) -> FtpServerTestResponse: """Create FTP Server test Creates a new FTP Server test. This method requires Account Admin permissions. - :param update_ftp_server_test: (required) - :type update_ftp_server_test: UpdateFtpServerTest + :param ftp_server_test_request: (required) + :type ftp_server_test_request: FtpServerTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -98,7 +97,7 @@ class FTPServerApi: """ # noqa: E501 _param = self._create_ftp_server_test_serialize( - update_ftp_server_test=update_ftp_server_test, + ftp_server_test_request=ftp_server_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -108,7 +107,7 @@ class FTPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "FtpServerTest", + '201': "FtpServerTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -132,9 +131,9 @@ class FTPServerApi: @validate_call def create_ftp_server_test_with_http_info( self, - update_ftp_server_test: UpdateFtpServerTest, + ftp_server_test_request: FtpServerTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -147,17 +146,17 @@ class FTPServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[FtpServerTest]: + ) -> ApiResponse[FtpServerTestResponse]: """Create FTP Server test Creates a new FTP Server test. This method requires Account Admin permissions. - :param update_ftp_server_test: (required) - :type update_ftp_server_test: UpdateFtpServerTest + :param ftp_server_test_request: (required) + :type ftp_server_test_request: FtpServerTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -181,7 +180,7 @@ class FTPServerApi: """ # noqa: E501 _param = self._create_ftp_server_test_serialize( - update_ftp_server_test=update_ftp_server_test, + ftp_server_test_request=ftp_server_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -191,7 +190,7 @@ class FTPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "FtpServerTest", + '201': "FtpServerTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -215,9 +214,9 @@ class FTPServerApi: @validate_call def create_ftp_server_test_without_preload_content( self, - update_ftp_server_test: UpdateFtpServerTest, + ftp_server_test_request: FtpServerTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -235,12 +234,12 @@ class FTPServerApi: Creates a new FTP Server test. This method requires Account Admin permissions. - :param update_ftp_server_test: (required) - :type update_ftp_server_test: UpdateFtpServerTest + :param ftp_server_test_request: (required) + :type ftp_server_test_request: FtpServerTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -264,7 +263,7 @@ class FTPServerApi: """ # noqa: E501 _param = self._create_ftp_server_test_serialize( - update_ftp_server_test=update_ftp_server_test, + ftp_server_test_request=ftp_server_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -274,7 +273,7 @@ class FTPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "FtpServerTest", + '201': "FtpServerTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -292,7 +291,7 @@ class FTPServerApi: def _create_ftp_server_test_serialize( self, - update_ftp_server_test, + ftp_server_test_request, aid, expand, _request_auth, @@ -327,8 +326,8 @@ class FTPServerApi: # process the header parameters # process the form parameters # process the body parameter - if update_ftp_server_test is not None: - _body_params = update_ftp_server_test + if ftp_server_test_request is not None: + _body_params = ftp_server_test_request # set the HTTP header `Accept` @@ -361,7 +360,7 @@ class FTPServerApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tests/ftp-server', + resource_path='/tests/ftp-server', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -380,7 +379,7 @@ class FTPServerApi: @validate_call def delete_ftp_server_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -399,7 +398,7 @@ class FTPServerApi: Deletes the specified FTP Server test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -457,7 +456,7 @@ class FTPServerApi: @validate_call def delete_ftp_server_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -476,7 +475,7 @@ class FTPServerApi: Deletes the specified FTP Server test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -534,7 +533,7 @@ class FTPServerApi: @validate_call def delete_ftp_server_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -553,7 +552,7 @@ class FTPServerApi: Deletes the specified FTP Server test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -654,7 +653,7 @@ class FTPServerApi: return self.api_client.param_serialize( method='DELETE', - resource_path='/v7/tests/ftp-server/{testId}', + resource_path='/tests/ftp-server/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -673,9 +672,9 @@ class FTPServerApi: @validate_call def get_ftp_server_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -688,17 +687,17 @@ class FTPServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> FtpServerTest: + ) -> FtpServerTestResponse: """Get FTP Server test Returns details for a FTP Server test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -732,7 +731,7 @@ class FTPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "FtpServerTest", + '200': "FtpServerTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -755,9 +754,9 @@ class FTPServerApi: @validate_call def get_ftp_server_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -770,17 +769,17 @@ class FTPServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[FtpServerTest]: + ) -> ApiResponse[FtpServerTestResponse]: """Get FTP Server test Returns details for a FTP Server test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -814,7 +813,7 @@ class FTPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "FtpServerTest", + '200': "FtpServerTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -837,9 +836,9 @@ class FTPServerApi: @validate_call def get_ftp_server_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -857,12 +856,12 @@ class FTPServerApi: Returns details for a FTP Server test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -896,7 +895,7 @@ class FTPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "FtpServerTest", + '200': "FtpServerTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -969,7 +968,7 @@ class FTPServerApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/tests/ftp-server/{testId}', + resource_path='/tests/ftp-server/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1251,7 +1250,7 @@ class FTPServerApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/tests/ftp-server', + resource_path='/tests/ftp-server', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1270,10 +1269,10 @@ class FTPServerApi: @validate_call def update_ftp_server_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_ftp_server_test: UpdateFtpServerTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + ftp_server_test_request: FtpServerTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1286,19 +1285,19 @@ class FTPServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> FtpServerTest: + ) -> FtpServerTestResponse: """Update FTP Server test Updates a FTP Server test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_ftp_server_test: (required) - :type update_ftp_server_test: UpdateFtpServerTest + :param ftp_server_test_request: (required) + :type ftp_server_test_request: FtpServerTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1323,7 +1322,7 @@ class FTPServerApi: _param = self._update_ftp_server_test_serialize( test_id=test_id, - update_ftp_server_test=update_ftp_server_test, + ftp_server_test_request=ftp_server_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1333,7 +1332,7 @@ class FTPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "FtpServerTest", + '200': "FtpServerTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1357,10 +1356,10 @@ class FTPServerApi: @validate_call def update_ftp_server_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_ftp_server_test: UpdateFtpServerTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + ftp_server_test_request: FtpServerTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1373,19 +1372,19 @@ class FTPServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[FtpServerTest]: + ) -> ApiResponse[FtpServerTestResponse]: """Update FTP Server test Updates a FTP Server test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_ftp_server_test: (required) - :type update_ftp_server_test: UpdateFtpServerTest + :param ftp_server_test_request: (required) + :type ftp_server_test_request: FtpServerTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1410,7 +1409,7 @@ class FTPServerApi: _param = self._update_ftp_server_test_serialize( test_id=test_id, - update_ftp_server_test=update_ftp_server_test, + ftp_server_test_request=ftp_server_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1420,7 +1419,7 @@ class FTPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "FtpServerTest", + '200': "FtpServerTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1444,10 +1443,10 @@ class FTPServerApi: @validate_call def update_ftp_server_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_ftp_server_test: UpdateFtpServerTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + ftp_server_test_request: FtpServerTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1465,14 +1464,14 @@ class FTPServerApi: Updates a FTP Server test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_ftp_server_test: (required) - :type update_ftp_server_test: UpdateFtpServerTest + :param ftp_server_test_request: (required) + :type ftp_server_test_request: FtpServerTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1497,7 +1496,7 @@ class FTPServerApi: _param = self._update_ftp_server_test_serialize( test_id=test_id, - update_ftp_server_test=update_ftp_server_test, + ftp_server_test_request=ftp_server_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1507,7 +1506,7 @@ class FTPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "FtpServerTest", + '200': "FtpServerTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1526,7 +1525,7 @@ class FTPServerApi: def _update_ftp_server_test_serialize( self, test_id, - update_ftp_server_test, + ftp_server_test_request, aid, expand, _request_auth, @@ -1563,8 +1562,8 @@ class FTPServerApi: # process the header parameters # process the form parameters # process the body parameter - if update_ftp_server_test is not None: - _body_params = update_ftp_server_test + if ftp_server_test_request is not None: + _body_params = ftp_server_test_request # set the HTTP header `Accept` @@ -1597,7 +1596,7 @@ class FTPServerApi: return self.api_client.param_serialize( method='PUT', - resource_path='/v7/tests/ftp-server/{testId}', + resource_path='/tests/ftp-server/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/http_server_api.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/http_server_tests_api.py similarity index 90% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/http_server_api.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/http_server_tests_api.py index 0b9cf07d..3fa9480d 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/http_server_api.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/http_server_tests_api.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,17 +21,17 @@ import thousandeyes_sdk.tests.models from pydantic import Field, StrictStr from typing import List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.http_server_test import HttpServerTest +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions +from thousandeyes_sdk.tests.models.http_server_test_request import HttpServerTestRequest +from thousandeyes_sdk.tests.models.http_server_test_response import HttpServerTestResponse from thousandeyes_sdk.tests.models.http_server_tests import HttpServerTests -from thousandeyes_sdk.tests.models.update_http_server_test import UpdateHttpServerTest 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 HTTPServerApi: +class HTTPServerTestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -49,9 +48,9 @@ class HTTPServerApi: @validate_call def create_http_server_test( self, - update_http_server_test: UpdateHttpServerTest, + http_server_test_request: HttpServerTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -64,17 +63,17 @@ class HTTPServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> HttpServerTest: + ) -> HttpServerTestResponse: """Create HTTP Server test Creates a new HTTP Server test. This method requires Account Admin permissions. - :param update_http_server_test: (required) - :type update_http_server_test: UpdateHttpServerTest + :param http_server_test_request: (required) + :type http_server_test_request: HttpServerTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -98,7 +97,7 @@ class HTTPServerApi: """ # noqa: E501 _param = self._create_http_server_test_serialize( - update_http_server_test=update_http_server_test, + http_server_test_request=http_server_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -108,7 +107,7 @@ class HTTPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "HttpServerTest", + '201': "HttpServerTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -132,9 +131,9 @@ class HTTPServerApi: @validate_call def create_http_server_test_with_http_info( self, - update_http_server_test: UpdateHttpServerTest, + http_server_test_request: HttpServerTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -147,17 +146,17 @@ class HTTPServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[HttpServerTest]: + ) -> ApiResponse[HttpServerTestResponse]: """Create HTTP Server test Creates a new HTTP Server test. This method requires Account Admin permissions. - :param update_http_server_test: (required) - :type update_http_server_test: UpdateHttpServerTest + :param http_server_test_request: (required) + :type http_server_test_request: HttpServerTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -181,7 +180,7 @@ class HTTPServerApi: """ # noqa: E501 _param = self._create_http_server_test_serialize( - update_http_server_test=update_http_server_test, + http_server_test_request=http_server_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -191,7 +190,7 @@ class HTTPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "HttpServerTest", + '201': "HttpServerTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -215,9 +214,9 @@ class HTTPServerApi: @validate_call def create_http_server_test_without_preload_content( self, - update_http_server_test: UpdateHttpServerTest, + http_server_test_request: HttpServerTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -235,12 +234,12 @@ class HTTPServerApi: Creates a new HTTP Server test. This method requires Account Admin permissions. - :param update_http_server_test: (required) - :type update_http_server_test: UpdateHttpServerTest + :param http_server_test_request: (required) + :type http_server_test_request: HttpServerTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -264,7 +263,7 @@ class HTTPServerApi: """ # noqa: E501 _param = self._create_http_server_test_serialize( - update_http_server_test=update_http_server_test, + http_server_test_request=http_server_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -274,7 +273,7 @@ class HTTPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "HttpServerTest", + '201': "HttpServerTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -292,7 +291,7 @@ class HTTPServerApi: def _create_http_server_test_serialize( self, - update_http_server_test, + http_server_test_request, aid, expand, _request_auth, @@ -327,8 +326,8 @@ class HTTPServerApi: # process the header parameters # process the form parameters # process the body parameter - if update_http_server_test is not None: - _body_params = update_http_server_test + if http_server_test_request is not None: + _body_params = http_server_test_request # set the HTTP header `Accept` @@ -361,7 +360,7 @@ class HTTPServerApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tests/http-server', + resource_path='/tests/http-server', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -380,7 +379,7 @@ class HTTPServerApi: @validate_call def delete_http_server_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -399,7 +398,7 @@ class HTTPServerApi: Deletes the specified HTTP Server test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -458,7 +457,7 @@ class HTTPServerApi: @validate_call def delete_http_server_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -477,7 +476,7 @@ class HTTPServerApi: Deletes the specified HTTP Server test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -536,7 +535,7 @@ class HTTPServerApi: @validate_call def delete_http_server_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -555,7 +554,7 @@ class HTTPServerApi: Deletes the specified HTTP Server test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -657,7 +656,7 @@ class HTTPServerApi: return self.api_client.param_serialize( method='DELETE', - resource_path='/v7/tests/http-server/{testId}', + resource_path='/tests/http-server/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -676,9 +675,9 @@ class HTTPServerApi: @validate_call def get_http_server_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -691,17 +690,17 @@ class HTTPServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> HttpServerTest: + ) -> HttpServerTestResponse: """Get HTTP Server test Returns details for a HTTP Server test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -735,7 +734,7 @@ class HTTPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "HttpServerTest", + '200': "HttpServerTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -758,9 +757,9 @@ class HTTPServerApi: @validate_call def get_http_server_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -773,17 +772,17 @@ class HTTPServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[HttpServerTest]: + ) -> ApiResponse[HttpServerTestResponse]: """Get HTTP Server test Returns details for a HTTP Server test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -817,7 +816,7 @@ class HTTPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "HttpServerTest", + '200': "HttpServerTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -840,9 +839,9 @@ class HTTPServerApi: @validate_call def get_http_server_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -860,12 +859,12 @@ class HTTPServerApi: Returns details for a HTTP Server test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -899,7 +898,7 @@ class HTTPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "HttpServerTest", + '200': "HttpServerTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -972,7 +971,7 @@ class HTTPServerApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/tests/http-server/{testId}', + resource_path='/tests/http-server/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1254,7 +1253,7 @@ class HTTPServerApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/tests/http-server', + resource_path='/tests/http-server', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1273,10 +1272,10 @@ class HTTPServerApi: @validate_call def update_http_server_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_http_server_test: UpdateHttpServerTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + http_server_test_request: HttpServerTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1289,19 +1288,19 @@ class HTTPServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> HttpServerTest: + ) -> HttpServerTestResponse: """Update HTTP Server test Updates a HTTP Server test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_http_server_test: (required) - :type update_http_server_test: UpdateHttpServerTest + :param http_server_test_request: (required) + :type http_server_test_request: HttpServerTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1326,7 +1325,7 @@ class HTTPServerApi: _param = self._update_http_server_test_serialize( test_id=test_id, - update_http_server_test=update_http_server_test, + http_server_test_request=http_server_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1336,7 +1335,7 @@ class HTTPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "HttpServerTest", + '200': "HttpServerTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1360,10 +1359,10 @@ class HTTPServerApi: @validate_call def update_http_server_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_http_server_test: UpdateHttpServerTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + http_server_test_request: HttpServerTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1376,19 +1375,19 @@ class HTTPServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[HttpServerTest]: + ) -> ApiResponse[HttpServerTestResponse]: """Update HTTP Server test Updates a HTTP Server test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_http_server_test: (required) - :type update_http_server_test: UpdateHttpServerTest + :param http_server_test_request: (required) + :type http_server_test_request: HttpServerTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1413,7 +1412,7 @@ class HTTPServerApi: _param = self._update_http_server_test_serialize( test_id=test_id, - update_http_server_test=update_http_server_test, + http_server_test_request=http_server_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1423,7 +1422,7 @@ class HTTPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "HttpServerTest", + '200': "HttpServerTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1447,10 +1446,10 @@ class HTTPServerApi: @validate_call def update_http_server_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_http_server_test: UpdateHttpServerTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + http_server_test_request: HttpServerTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1468,14 +1467,14 @@ class HTTPServerApi: Updates a HTTP Server test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_http_server_test: (required) - :type update_http_server_test: UpdateHttpServerTest + :param http_server_test_request: (required) + :type http_server_test_request: HttpServerTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1500,7 +1499,7 @@ class HTTPServerApi: _param = self._update_http_server_test_serialize( test_id=test_id, - update_http_server_test=update_http_server_test, + http_server_test_request=http_server_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1510,7 +1509,7 @@ class HTTPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "HttpServerTest", + '200': "HttpServerTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1529,7 +1528,7 @@ class HTTPServerApi: def _update_http_server_test_serialize( self, test_id, - update_http_server_test, + http_server_test_request, aid, expand, _request_auth, @@ -1566,8 +1565,8 @@ class HTTPServerApi: # process the header parameters # process the form parameters # process the body parameter - if update_http_server_test is not None: - _body_params = update_http_server_test + if http_server_test_request is not None: + _body_params = http_server_test_request # set the HTTP header `Accept` @@ -1600,7 +1599,7 @@ class HTTPServerApi: return self.api_client.param_serialize( method='PUT', - resource_path='/v7/tests/http-server/{testId}', + resource_path='/tests/http-server/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/page_load_api.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/page_load_tests_api.py similarity index 90% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/page_load_api.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/page_load_tests_api.py index 533260cd..06a8780a 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/page_load_api.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/page_load_tests_api.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,17 +21,17 @@ import thousandeyes_sdk.tests.models from pydantic import Field, StrictStr from typing import List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.page_load_test import PageLoadTest +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions +from thousandeyes_sdk.tests.models.page_load_test_request import PageLoadTestRequest +from thousandeyes_sdk.tests.models.page_load_test_response import PageLoadTestResponse from thousandeyes_sdk.tests.models.page_load_tests import PageLoadTests -from thousandeyes_sdk.tests.models.update_page_load_test import UpdatePageLoadTest 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 PageLoadApi: +class PageLoadTestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -49,9 +48,9 @@ class PageLoadApi: @validate_call def create_page_load_test( self, - update_page_load_test: UpdatePageLoadTest, + page_load_test_request: PageLoadTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -64,17 +63,17 @@ class PageLoadApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PageLoadTest: + ) -> PageLoadTestResponse: """Create Page Load test Creates a new Page Load test. This method requires Account Admin permissions. - :param update_page_load_test: (required) - :type update_page_load_test: UpdatePageLoadTest + :param page_load_test_request: (required) + :type page_load_test_request: PageLoadTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -98,7 +97,7 @@ class PageLoadApi: """ # noqa: E501 _param = self._create_page_load_test_serialize( - update_page_load_test=update_page_load_test, + page_load_test_request=page_load_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -108,7 +107,7 @@ class PageLoadApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "PageLoadTest", + '201': "PageLoadTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -132,9 +131,9 @@ class PageLoadApi: @validate_call def create_page_load_test_with_http_info( self, - update_page_load_test: UpdatePageLoadTest, + page_load_test_request: PageLoadTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -147,17 +146,17 @@ class PageLoadApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PageLoadTest]: + ) -> ApiResponse[PageLoadTestResponse]: """Create Page Load test Creates a new Page Load test. This method requires Account Admin permissions. - :param update_page_load_test: (required) - :type update_page_load_test: UpdatePageLoadTest + :param page_load_test_request: (required) + :type page_load_test_request: PageLoadTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -181,7 +180,7 @@ class PageLoadApi: """ # noqa: E501 _param = self._create_page_load_test_serialize( - update_page_load_test=update_page_load_test, + page_load_test_request=page_load_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -191,7 +190,7 @@ class PageLoadApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "PageLoadTest", + '201': "PageLoadTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -215,9 +214,9 @@ class PageLoadApi: @validate_call def create_page_load_test_without_preload_content( self, - update_page_load_test: UpdatePageLoadTest, + page_load_test_request: PageLoadTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -235,12 +234,12 @@ class PageLoadApi: Creates a new Page Load test. This method requires Account Admin permissions. - :param update_page_load_test: (required) - :type update_page_load_test: UpdatePageLoadTest + :param page_load_test_request: (required) + :type page_load_test_request: PageLoadTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -264,7 +263,7 @@ class PageLoadApi: """ # noqa: E501 _param = self._create_page_load_test_serialize( - update_page_load_test=update_page_load_test, + page_load_test_request=page_load_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -274,7 +273,7 @@ class PageLoadApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "PageLoadTest", + '201': "PageLoadTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -292,7 +291,7 @@ class PageLoadApi: def _create_page_load_test_serialize( self, - update_page_load_test, + page_load_test_request, aid, expand, _request_auth, @@ -327,8 +326,8 @@ class PageLoadApi: # process the header parameters # process the form parameters # process the body parameter - if update_page_load_test is not None: - _body_params = update_page_load_test + if page_load_test_request is not None: + _body_params = page_load_test_request # set the HTTP header `Accept` @@ -361,7 +360,7 @@ class PageLoadApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tests/page-load', + resource_path='/tests/page-load', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -380,7 +379,7 @@ class PageLoadApi: @validate_call def delete_page_load_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -399,7 +398,7 @@ class PageLoadApi: Deletes the specified Page Load test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -458,7 +457,7 @@ class PageLoadApi: @validate_call def delete_page_load_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -477,7 +476,7 @@ class PageLoadApi: Deletes the specified Page Load test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -536,7 +535,7 @@ class PageLoadApi: @validate_call def delete_page_load_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -555,7 +554,7 @@ class PageLoadApi: Deletes the specified Page Load test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -657,7 +656,7 @@ class PageLoadApi: return self.api_client.param_serialize( method='DELETE', - resource_path='/v7/tests/page-load/{testId}', + resource_path='/tests/page-load/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -676,9 +675,9 @@ class PageLoadApi: @validate_call def get_page_load_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -691,17 +690,17 @@ class PageLoadApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PageLoadTest: + ) -> PageLoadTestResponse: """Get Page Load test Returns details for a Page Load test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -735,7 +734,7 @@ class PageLoadApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PageLoadTest", + '200': "PageLoadTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -758,9 +757,9 @@ class PageLoadApi: @validate_call def get_page_load_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -773,17 +772,17 @@ class PageLoadApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PageLoadTest]: + ) -> ApiResponse[PageLoadTestResponse]: """Get Page Load test Returns details for a Page Load test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -817,7 +816,7 @@ class PageLoadApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PageLoadTest", + '200': "PageLoadTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -840,9 +839,9 @@ class PageLoadApi: @validate_call def get_page_load_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -860,12 +859,12 @@ class PageLoadApi: Returns details for a Page Load test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -899,7 +898,7 @@ class PageLoadApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PageLoadTest", + '200': "PageLoadTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -972,7 +971,7 @@ class PageLoadApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/tests/page-load/{testId}', + resource_path='/tests/page-load/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1254,7 +1253,7 @@ class PageLoadApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/tests/page-load', + resource_path='/tests/page-load', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1273,10 +1272,10 @@ class PageLoadApi: @validate_call def update_page_load_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_page_load_test: UpdatePageLoadTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + page_load_test_request: PageLoadTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1289,19 +1288,19 @@ class PageLoadApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> PageLoadTest: + ) -> PageLoadTestResponse: """Update Page Load test Updates a Page Load test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_page_load_test: (required) - :type update_page_load_test: UpdatePageLoadTest + :param page_load_test_request: (required) + :type page_load_test_request: PageLoadTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1326,7 +1325,7 @@ class PageLoadApi: _param = self._update_page_load_test_serialize( test_id=test_id, - update_page_load_test=update_page_load_test, + page_load_test_request=page_load_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1336,7 +1335,7 @@ class PageLoadApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PageLoadTest", + '200': "PageLoadTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1360,10 +1359,10 @@ class PageLoadApi: @validate_call def update_page_load_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_page_load_test: UpdatePageLoadTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + page_load_test_request: PageLoadTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1376,19 +1375,19 @@ class PageLoadApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[PageLoadTest]: + ) -> ApiResponse[PageLoadTestResponse]: """Update Page Load test Updates a Page Load test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_page_load_test: (required) - :type update_page_load_test: UpdatePageLoadTest + :param page_load_test_request: (required) + :type page_load_test_request: PageLoadTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1413,7 +1412,7 @@ class PageLoadApi: _param = self._update_page_load_test_serialize( test_id=test_id, - update_page_load_test=update_page_load_test, + page_load_test_request=page_load_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1423,7 +1422,7 @@ class PageLoadApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PageLoadTest", + '200': "PageLoadTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1447,10 +1446,10 @@ class PageLoadApi: @validate_call def update_page_load_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_page_load_test: UpdatePageLoadTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + page_load_test_request: PageLoadTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1468,14 +1467,14 @@ class PageLoadApi: Updates a Page Load test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_page_load_test: (required) - :type update_page_load_test: UpdatePageLoadTest + :param page_load_test_request: (required) + :type page_load_test_request: PageLoadTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1500,7 +1499,7 @@ class PageLoadApi: _param = self._update_page_load_test_serialize( test_id=test_id, - update_page_load_test=update_page_load_test, + page_load_test_request=page_load_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1510,7 +1509,7 @@ class PageLoadApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "PageLoadTest", + '200': "PageLoadTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1529,7 +1528,7 @@ class PageLoadApi: def _update_page_load_test_serialize( self, test_id, - update_page_load_test, + page_load_test_request, aid, expand, _request_auth, @@ -1566,8 +1565,8 @@ class PageLoadApi: # process the header parameters # process the form parameters # process the body parameter - if update_page_load_test is not None: - _body_params = update_page_load_test + if page_load_test_request is not None: + _body_params = page_load_test_request # set the HTTP header `Accept` @@ -1600,7 +1599,7 @@ class PageLoadApi: return self.api_client.param_serialize( method='PUT', - resource_path='/v7/tests/page-load/{testId}', + resource_path='/tests/page-load/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/path_visualization_interface_groups_api.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/path_visualization_interface_groups_api.py index ecad806d..f35527a2 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/path_visualization_interface_groups_api.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/path_visualization_interface_groups_api.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -341,7 +340,7 @@ class PathVisualizationInterfaceGroupsApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/network/path-vis/interface-groups', + resource_path='/network/path-vis/interface-groups', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -637,7 +636,7 @@ class PathVisualizationInterfaceGroupsApi: return self.api_client.param_serialize( method='DELETE', - resource_path='/v7/network/path-vis/interface-groups/{interfaceGroupId}', + resource_path='/network/path-vis/interface-groups/{interfaceGroupId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -919,7 +918,7 @@ class PathVisualizationInterfaceGroupsApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/network/path-vis/interface-groups', + resource_path='/network/path-vis/interface-groups', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1247,7 +1246,7 @@ class PathVisualizationInterfaceGroupsApi: return self.api_client.param_serialize( method='PUT', - resource_path='/v7/network/path-vis/interface-groups/{interfaceGroupId}', + resource_path='/network/path-vis/interface-groups/{interfaceGroupId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/sip_server_api.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/sip_server_tests_api.py similarity index 90% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/sip_server_api.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/sip_server_tests_api.py index d8ce2b8f..83e93afe 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/sip_server_api.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/sip_server_tests_api.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,17 +21,17 @@ import thousandeyes_sdk.tests.models from pydantic import Field, StrictStr from typing import List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.sip_server_test import SipServerTest +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions +from thousandeyes_sdk.tests.models.sip_server_test_request import SipServerTestRequest +from thousandeyes_sdk.tests.models.sip_server_test_response import SipServerTestResponse from thousandeyes_sdk.tests.models.sip_server_tests import SipServerTests -from thousandeyes_sdk.tests.models.update_sip_server_test import UpdateSipServerTest 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 SIPServerApi: +class SIPServerTestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -49,9 +48,9 @@ class SIPServerApi: @validate_call def create_sip_server_test( self, - update_sip_server_test: UpdateSipServerTest, + sip_server_test_request: SipServerTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -64,17 +63,17 @@ class SIPServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> SipServerTest: + ) -> SipServerTestResponse: """Create SIP Server test Creates a new SIP Server test. This method requires Account Admin permissions. - :param update_sip_server_test: (required) - :type update_sip_server_test: UpdateSipServerTest + :param sip_server_test_request: (required) + :type sip_server_test_request: SipServerTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -98,7 +97,7 @@ class SIPServerApi: """ # noqa: E501 _param = self._create_sip_server_test_serialize( - update_sip_server_test=update_sip_server_test, + sip_server_test_request=sip_server_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -108,7 +107,7 @@ class SIPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "SipServerTest", + '201': "SipServerTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -132,9 +131,9 @@ class SIPServerApi: @validate_call def create_sip_server_test_with_http_info( self, - update_sip_server_test: UpdateSipServerTest, + sip_server_test_request: SipServerTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -147,17 +146,17 @@ class SIPServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[SipServerTest]: + ) -> ApiResponse[SipServerTestResponse]: """Create SIP Server test Creates a new SIP Server test. This method requires Account Admin permissions. - :param update_sip_server_test: (required) - :type update_sip_server_test: UpdateSipServerTest + :param sip_server_test_request: (required) + :type sip_server_test_request: SipServerTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -181,7 +180,7 @@ class SIPServerApi: """ # noqa: E501 _param = self._create_sip_server_test_serialize( - update_sip_server_test=update_sip_server_test, + sip_server_test_request=sip_server_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -191,7 +190,7 @@ class SIPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "SipServerTest", + '201': "SipServerTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -215,9 +214,9 @@ class SIPServerApi: @validate_call def create_sip_server_test_without_preload_content( self, - update_sip_server_test: UpdateSipServerTest, + sip_server_test_request: SipServerTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -235,12 +234,12 @@ class SIPServerApi: Creates a new SIP Server test. This method requires Account Admin permissions. - :param update_sip_server_test: (required) - :type update_sip_server_test: UpdateSipServerTest + :param sip_server_test_request: (required) + :type sip_server_test_request: SipServerTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -264,7 +263,7 @@ class SIPServerApi: """ # noqa: E501 _param = self._create_sip_server_test_serialize( - update_sip_server_test=update_sip_server_test, + sip_server_test_request=sip_server_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -274,7 +273,7 @@ class SIPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "SipServerTest", + '201': "SipServerTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -292,7 +291,7 @@ class SIPServerApi: def _create_sip_server_test_serialize( self, - update_sip_server_test, + sip_server_test_request, aid, expand, _request_auth, @@ -327,8 +326,8 @@ class SIPServerApi: # process the header parameters # process the form parameters # process the body parameter - if update_sip_server_test is not None: - _body_params = update_sip_server_test + if sip_server_test_request is not None: + _body_params = sip_server_test_request # set the HTTP header `Accept` @@ -361,7 +360,7 @@ class SIPServerApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tests/sip-server', + resource_path='/tests/sip-server', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -380,7 +379,7 @@ class SIPServerApi: @validate_call def delete_sip_server_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -399,7 +398,7 @@ class SIPServerApi: Deletes the specified SIP Server test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -457,7 +456,7 @@ class SIPServerApi: @validate_call def delete_sip_server_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -476,7 +475,7 @@ class SIPServerApi: Deletes the specified SIP Server test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -534,7 +533,7 @@ class SIPServerApi: @validate_call def delete_sip_server_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -553,7 +552,7 @@ class SIPServerApi: Deletes the specified SIP Server test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -654,7 +653,7 @@ class SIPServerApi: return self.api_client.param_serialize( method='DELETE', - resource_path='/v7/tests/sip-server/{testId}', + resource_path='/tests/sip-server/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -673,9 +672,9 @@ class SIPServerApi: @validate_call def get_sip_server_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -688,17 +687,17 @@ class SIPServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> SipServerTest: + ) -> SipServerTestResponse: """Get SIP Server test Returns details for a SIP Server test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -732,7 +731,7 @@ class SIPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "SipServerTest", + '200': "SipServerTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -755,9 +754,9 @@ class SIPServerApi: @validate_call def get_sip_server_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -770,17 +769,17 @@ class SIPServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[SipServerTest]: + ) -> ApiResponse[SipServerTestResponse]: """Get SIP Server test Returns details for a SIP Server test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -814,7 +813,7 @@ class SIPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "SipServerTest", + '200': "SipServerTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -837,9 +836,9 @@ class SIPServerApi: @validate_call def get_sip_server_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -857,12 +856,12 @@ class SIPServerApi: Returns details for a SIP Server test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -896,7 +895,7 @@ class SIPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "SipServerTest", + '200': "SipServerTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -969,7 +968,7 @@ class SIPServerApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/tests/sip-server/{testId}', + resource_path='/tests/sip-server/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1251,7 +1250,7 @@ class SIPServerApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/tests/sip-server', + resource_path='/tests/sip-server', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1270,10 +1269,10 @@ class SIPServerApi: @validate_call def update_sip_server_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_sip_server_test: UpdateSipServerTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + sip_server_test_request: SipServerTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1286,19 +1285,19 @@ class SIPServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> SipServerTest: + ) -> SipServerTestResponse: """Update SIP Server test Updates a SIP Server test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_sip_server_test: (required) - :type update_sip_server_test: UpdateSipServerTest + :param sip_server_test_request: (required) + :type sip_server_test_request: SipServerTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1323,7 +1322,7 @@ class SIPServerApi: _param = self._update_sip_server_test_serialize( test_id=test_id, - update_sip_server_test=update_sip_server_test, + sip_server_test_request=sip_server_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1333,7 +1332,7 @@ class SIPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "SipServerTest", + '200': "SipServerTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1357,10 +1356,10 @@ class SIPServerApi: @validate_call def update_sip_server_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_sip_server_test: UpdateSipServerTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + sip_server_test_request: SipServerTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1373,19 +1372,19 @@ class SIPServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[SipServerTest]: + ) -> ApiResponse[SipServerTestResponse]: """Update SIP Server test Updates a SIP Server test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_sip_server_test: (required) - :type update_sip_server_test: UpdateSipServerTest + :param sip_server_test_request: (required) + :type sip_server_test_request: SipServerTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1410,7 +1409,7 @@ class SIPServerApi: _param = self._update_sip_server_test_serialize( test_id=test_id, - update_sip_server_test=update_sip_server_test, + sip_server_test_request=sip_server_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1420,7 +1419,7 @@ class SIPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "SipServerTest", + '200': "SipServerTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1444,10 +1443,10 @@ class SIPServerApi: @validate_call def update_sip_server_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_sip_server_test: UpdateSipServerTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + sip_server_test_request: SipServerTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1465,14 +1464,14 @@ class SIPServerApi: Updates a SIP Server test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_sip_server_test: (required) - :type update_sip_server_test: UpdateSipServerTest + :param sip_server_test_request: (required) + :type sip_server_test_request: SipServerTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1497,7 +1496,7 @@ class SIPServerApi: _param = self._update_sip_server_test_serialize( test_id=test_id, - update_sip_server_test=update_sip_server_test, + sip_server_test_request=sip_server_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1507,7 +1506,7 @@ class SIPServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "SipServerTest", + '200': "SipServerTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1526,7 +1525,7 @@ class SIPServerApi: def _update_sip_server_test_serialize( self, test_id, - update_sip_server_test, + sip_server_test_request, aid, expand, _request_auth, @@ -1563,8 +1562,8 @@ class SIPServerApi: # process the header parameters # process the form parameters # process the body parameter - if update_sip_server_test is not None: - _body_params = update_sip_server_test + if sip_server_test_request is not None: + _body_params = sip_server_test_request # set the HTTP header `Accept` @@ -1597,7 +1596,7 @@ class SIPServerApi: return self.api_client.param_serialize( method='PUT', - resource_path='/v7/tests/sip-server/{testId}', + resource_path='/tests/sip-server/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/all_test_types_api.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/tests_api.py similarity index 99% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/all_test_types_api.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/tests_api.py index 5c7d0217..32b300e4 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/all_test_types_api.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/tests_api.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,7 +28,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class AllTestTypesApi: +class TestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -309,7 +308,7 @@ class AllTestTypesApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/tests', + resource_path='/tests', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/voice_api.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/voice_tests_api.py similarity index 90% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/voice_api.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/voice_tests_api.py index eb814626..151b36ec 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/voice_api.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/voice_tests_api.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,9 +21,9 @@ import thousandeyes_sdk.tests.models from pydantic import Field, StrictStr from typing import List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.update_voice_test import UpdateVoiceTest -from thousandeyes_sdk.tests.models.voice_test import VoiceTest +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions +from thousandeyes_sdk.tests.models.voice_test_request import VoiceTestRequest +from thousandeyes_sdk.tests.models.voice_test_response import VoiceTestResponse from thousandeyes_sdk.tests.models.voice_tests import VoiceTests from thousandeyes_sdk.core.api_client import ApiClient, RequestSerialized @@ -32,7 +31,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class VoiceApi: +class VoiceTestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -49,9 +48,9 @@ class VoiceApi: @validate_call def create_voice_test( self, - update_voice_test: UpdateVoiceTest, + voice_test_request: VoiceTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -64,17 +63,17 @@ class VoiceApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> VoiceTest: + ) -> VoiceTestResponse: """Create Voice test Creates a new Voice test. This method requires Account Admin permissions. - :param update_voice_test: (required) - :type update_voice_test: UpdateVoiceTest + :param voice_test_request: (required) + :type voice_test_request: VoiceTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -98,7 +97,7 @@ class VoiceApi: """ # noqa: E501 _param = self._create_voice_test_serialize( - update_voice_test=update_voice_test, + voice_test_request=voice_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -108,7 +107,7 @@ class VoiceApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "VoiceTest", + '201': "VoiceTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -132,9 +131,9 @@ class VoiceApi: @validate_call def create_voice_test_with_http_info( self, - update_voice_test: UpdateVoiceTest, + voice_test_request: VoiceTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -147,17 +146,17 @@ class VoiceApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[VoiceTest]: + ) -> ApiResponse[VoiceTestResponse]: """Create Voice test Creates a new Voice test. This method requires Account Admin permissions. - :param update_voice_test: (required) - :type update_voice_test: UpdateVoiceTest + :param voice_test_request: (required) + :type voice_test_request: VoiceTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -181,7 +180,7 @@ class VoiceApi: """ # noqa: E501 _param = self._create_voice_test_serialize( - update_voice_test=update_voice_test, + voice_test_request=voice_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -191,7 +190,7 @@ class VoiceApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "VoiceTest", + '201': "VoiceTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -215,9 +214,9 @@ class VoiceApi: @validate_call def create_voice_test_without_preload_content( self, - update_voice_test: UpdateVoiceTest, + voice_test_request: VoiceTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -235,12 +234,12 @@ class VoiceApi: Creates a new Voice test. This method requires Account Admin permissions. - :param update_voice_test: (required) - :type update_voice_test: UpdateVoiceTest + :param voice_test_request: (required) + :type voice_test_request: VoiceTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -264,7 +263,7 @@ class VoiceApi: """ # noqa: E501 _param = self._create_voice_test_serialize( - update_voice_test=update_voice_test, + voice_test_request=voice_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -274,7 +273,7 @@ class VoiceApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "VoiceTest", + '201': "VoiceTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -292,7 +291,7 @@ class VoiceApi: def _create_voice_test_serialize( self, - update_voice_test, + voice_test_request, aid, expand, _request_auth, @@ -327,8 +326,8 @@ class VoiceApi: # process the header parameters # process the form parameters # process the body parameter - if update_voice_test is not None: - _body_params = update_voice_test + if voice_test_request is not None: + _body_params = voice_test_request # set the HTTP header `Accept` @@ -361,7 +360,7 @@ class VoiceApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tests/voice', + resource_path='/tests/voice', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -380,7 +379,7 @@ class VoiceApi: @validate_call def delete_voice_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -399,7 +398,7 @@ class VoiceApi: Deletes the specified Voice test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -458,7 +457,7 @@ class VoiceApi: @validate_call def delete_voice_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -477,7 +476,7 @@ class VoiceApi: Deletes the specified Voice test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -536,7 +535,7 @@ class VoiceApi: @validate_call def delete_voice_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -555,7 +554,7 @@ class VoiceApi: Deletes the specified Voice test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -657,7 +656,7 @@ class VoiceApi: return self.api_client.param_serialize( method='DELETE', - resource_path='/v7/tests/voice/{testId}', + resource_path='/tests/voice/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -676,9 +675,9 @@ class VoiceApi: @validate_call def get_voice_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -691,17 +690,17 @@ class VoiceApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> VoiceTest: + ) -> VoiceTestResponse: """Get Voice test Returns details for a Voice test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -735,7 +734,7 @@ class VoiceApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "VoiceTest", + '200': "VoiceTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -758,9 +757,9 @@ class VoiceApi: @validate_call def get_voice_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -773,17 +772,17 @@ class VoiceApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[VoiceTest]: + ) -> ApiResponse[VoiceTestResponse]: """Get Voice test Returns details for a Voice test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -817,7 +816,7 @@ class VoiceApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "VoiceTest", + '200': "VoiceTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -840,9 +839,9 @@ class VoiceApi: @validate_call def get_voice_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -860,12 +859,12 @@ class VoiceApi: Returns details for a Voice test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -899,7 +898,7 @@ class VoiceApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "VoiceTest", + '200': "VoiceTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -972,7 +971,7 @@ class VoiceApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/tests/voice/{testId}', + resource_path='/tests/voice/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1254,7 +1253,7 @@ class VoiceApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/tests/voice', + resource_path='/tests/voice', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1273,10 +1272,10 @@ class VoiceApi: @validate_call def update_voice_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_voice_test: UpdateVoiceTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + voice_test_request: VoiceTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1289,19 +1288,19 @@ class VoiceApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> VoiceTest: + ) -> VoiceTestResponse: """Update Voice test Updates a Voice test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_voice_test: (required) - :type update_voice_test: UpdateVoiceTest + :param voice_test_request: (required) + :type voice_test_request: VoiceTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1326,7 +1325,7 @@ class VoiceApi: _param = self._update_voice_test_serialize( test_id=test_id, - update_voice_test=update_voice_test, + voice_test_request=voice_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1336,7 +1335,7 @@ class VoiceApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "VoiceTest", + '200': "VoiceTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1360,10 +1359,10 @@ class VoiceApi: @validate_call def update_voice_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_voice_test: UpdateVoiceTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + voice_test_request: VoiceTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1376,19 +1375,19 @@ class VoiceApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[VoiceTest]: + ) -> ApiResponse[VoiceTestResponse]: """Update Voice test Updates a Voice test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_voice_test: (required) - :type update_voice_test: UpdateVoiceTest + :param voice_test_request: (required) + :type voice_test_request: VoiceTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1413,7 +1412,7 @@ class VoiceApi: _param = self._update_voice_test_serialize( test_id=test_id, - update_voice_test=update_voice_test, + voice_test_request=voice_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1423,7 +1422,7 @@ class VoiceApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "VoiceTest", + '200': "VoiceTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1447,10 +1446,10 @@ class VoiceApi: @validate_call def update_voice_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_voice_test: UpdateVoiceTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + voice_test_request: VoiceTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1468,14 +1467,14 @@ class VoiceApi: Updates a Voice test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_voice_test: (required) - :type update_voice_test: UpdateVoiceTest + :param voice_test_request: (required) + :type voice_test_request: VoiceTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1500,7 +1499,7 @@ class VoiceApi: _param = self._update_voice_test_serialize( test_id=test_id, - update_voice_test=update_voice_test, + voice_test_request=voice_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1510,7 +1509,7 @@ class VoiceApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "VoiceTest", + '200': "VoiceTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1529,7 +1528,7 @@ class VoiceApi: def _update_voice_test_serialize( self, test_id, - update_voice_test, + voice_test_request, aid, expand, _request_auth, @@ -1566,8 +1565,8 @@ class VoiceApi: # process the header parameters # process the form parameters # process the body parameter - if update_voice_test is not None: - _body_params = update_voice_test + if voice_test_request is not None: + _body_params = voice_test_request # set the HTTP header `Accept` @@ -1600,7 +1599,7 @@ class VoiceApi: return self.api_client.param_serialize( method='PUT', - resource_path='/v7/tests/voice/{testId}', + resource_path='/tests/voice/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/web_transaction_api.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/web_transaction_tests_api.py similarity index 89% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/web_transaction_api.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/web_transaction_tests_api.py index abcd005c..6aa414ee 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/web_transaction_api.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/api/web_transaction_tests_api.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,9 +21,9 @@ import thousandeyes_sdk.tests.models from pydantic import Field, StrictStr from typing import List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.expand import Expand -from thousandeyes_sdk.tests.models.update_web_transaction_test import UpdateWebTransactionTest -from thousandeyes_sdk.tests.models.web_transaction_test import WebTransactionTest +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions +from thousandeyes_sdk.tests.models.web_transaction_test_request import WebTransactionTestRequest +from thousandeyes_sdk.tests.models.web_transaction_test_response import WebTransactionTestResponse from thousandeyes_sdk.tests.models.web_transaction_tests import WebTransactionTests from thousandeyes_sdk.core.api_client import ApiClient, RequestSerialized @@ -32,7 +31,7 @@ from thousandeyes_sdk.core.api_response import ApiResponse from thousandeyes_sdk.core.rest import RESTResponseType -class WebTransactionApi: +class WebTransactionTestsApi: """NOTE: This class is auto generated by OpenAPI Generator Ref: https://openapi-generator.tech @@ -49,9 +48,9 @@ class WebTransactionApi: @validate_call def create_web_transactions_test( self, - update_web_transaction_test: UpdateWebTransactionTest, + web_transaction_test_request: WebTransactionTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -64,17 +63,17 @@ class WebTransactionApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> WebTransactionTest: + ) -> WebTransactionTestResponse: """Create Web Transactions test Creates a new Web Transactions test. This method requires Account Admin permissions. - :param update_web_transaction_test: (required) - :type update_web_transaction_test: UpdateWebTransactionTest + :param web_transaction_test_request: (required) + :type web_transaction_test_request: WebTransactionTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -98,7 +97,7 @@ class WebTransactionApi: """ # noqa: E501 _param = self._create_web_transactions_test_serialize( - update_web_transaction_test=update_web_transaction_test, + web_transaction_test_request=web_transaction_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -108,7 +107,7 @@ class WebTransactionApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "WebTransactionTest", + '201': "WebTransactionTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -132,9 +131,9 @@ class WebTransactionApi: @validate_call def create_web_transactions_test_with_http_info( self, - update_web_transaction_test: UpdateWebTransactionTest, + web_transaction_test_request: WebTransactionTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -147,17 +146,17 @@ class WebTransactionApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[WebTransactionTest]: + ) -> ApiResponse[WebTransactionTestResponse]: """Create Web Transactions test Creates a new Web Transactions test. This method requires Account Admin permissions. - :param update_web_transaction_test: (required) - :type update_web_transaction_test: UpdateWebTransactionTest + :param web_transaction_test_request: (required) + :type web_transaction_test_request: WebTransactionTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -181,7 +180,7 @@ class WebTransactionApi: """ # noqa: E501 _param = self._create_web_transactions_test_serialize( - update_web_transaction_test=update_web_transaction_test, + web_transaction_test_request=web_transaction_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -191,7 +190,7 @@ class WebTransactionApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "WebTransactionTest", + '201': "WebTransactionTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -215,9 +214,9 @@ class WebTransactionApi: @validate_call def create_web_transactions_test_without_preload_content( self, - update_web_transaction_test: UpdateWebTransactionTest, + web_transaction_test_request: WebTransactionTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -235,12 +234,12 @@ class WebTransactionApi: Creates a new Web Transactions test. This method requires Account Admin permissions. - :param update_web_transaction_test: (required) - :type update_web_transaction_test: UpdateWebTransactionTest + :param web_transaction_test_request: (required) + :type web_transaction_test_request: WebTransactionTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -264,7 +263,7 @@ class WebTransactionApi: """ # noqa: E501 _param = self._create_web_transactions_test_serialize( - update_web_transaction_test=update_web_transaction_test, + web_transaction_test_request=web_transaction_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -274,7 +273,7 @@ class WebTransactionApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "WebTransactionTest", + '201': "WebTransactionTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -292,7 +291,7 @@ class WebTransactionApi: def _create_web_transactions_test_serialize( self, - update_web_transaction_test, + web_transaction_test_request, aid, expand, _request_auth, @@ -327,8 +326,8 @@ class WebTransactionApi: # process the header parameters # process the form parameters # process the body parameter - if update_web_transaction_test is not None: - _body_params = update_web_transaction_test + if web_transaction_test_request is not None: + _body_params = web_transaction_test_request # set the HTTP header `Accept` @@ -361,7 +360,7 @@ class WebTransactionApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/tests/web-transactions', + resource_path='/tests/web-transactions', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -380,7 +379,7 @@ class WebTransactionApi: @validate_call def delete_web_transactions_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -399,7 +398,7 @@ class WebTransactionApi: Deletes the specified Web Transactions test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -458,7 +457,7 @@ class WebTransactionApi: @validate_call def delete_web_transactions_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -477,7 +476,7 @@ class WebTransactionApi: Deletes the specified Web Transactions test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -536,7 +535,7 @@ class WebTransactionApi: @validate_call def delete_web_transactions_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, _request_timeout: Union[ None, @@ -555,7 +554,7 @@ class WebTransactionApi: Deletes the specified Web Transactions test. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str @@ -657,7 +656,7 @@ class WebTransactionApi: return self.api_client.param_serialize( method='DELETE', - resource_path='/v7/tests/web-transactions/{testId}', + resource_path='/tests/web-transactions/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -676,9 +675,9 @@ class WebTransactionApi: @validate_call def get_web_transactions_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -691,17 +690,17 @@ class WebTransactionApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> WebTransactionTest: + ) -> WebTransactionTestResponse: """Get Web Transactions test Returns details for a Web Transactions test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -735,7 +734,7 @@ class WebTransactionApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "WebTransactionTest", + '200': "WebTransactionTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -758,9 +757,9 @@ class WebTransactionApi: @validate_call def get_web_transactions_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -773,17 +772,17 @@ class WebTransactionApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[WebTransactionTest]: + ) -> ApiResponse[WebTransactionTestResponse]: """Get Web Transactions test Returns details for a Web Transactions test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -817,7 +816,7 @@ class WebTransactionApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "WebTransactionTest", + '200': "WebTransactionTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -840,9 +839,9 @@ class WebTransactionApi: @validate_call def get_web_transactions_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], + test_id: Annotated[StrictStr, Field(description="Test 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, - expand: Annotated[Optional[List[Expand]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -860,12 +859,12 @@ class WebTransactionApi: Returns details for a Web Transactions test, including name, intervals, targets, alert rules and agents. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str :param aid: A unique identifier associated with your account group. You can retrieve your `AccountGroupId` from the `/account-groups` endpoint. Note that you must be assigned to the target account group. Specifying this parameter without being assigned to the target account group will result in an error response. :type aid: str :param expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -899,7 +898,7 @@ class WebTransactionApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "WebTransactionTest", + '200': "WebTransactionTestResponse", '401': "UnauthorizedError", '403': "Error", '404': "Error", @@ -972,7 +971,7 @@ class WebTransactionApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/tests/web-transactions/{testId}', + resource_path='/tests/web-transactions/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1254,7 +1253,7 @@ class WebTransactionApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/tests/web-transactions', + resource_path='/tests/web-transactions', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1273,10 +1272,10 @@ class WebTransactionApi: @validate_call def update_web_transactions_test( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_web_transaction_test: UpdateWebTransactionTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + web_transaction_test_request: WebTransactionTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1289,19 +1288,19 @@ class WebTransactionApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> WebTransactionTest: + ) -> WebTransactionTestResponse: """Update Web Transactions test Updates a Web Transactions test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_web_transaction_test: (required) - :type update_web_transaction_test: UpdateWebTransactionTest + :param web_transaction_test_request: (required) + :type web_transaction_test_request: WebTransactionTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1326,7 +1325,7 @@ class WebTransactionApi: _param = self._update_web_transactions_test_serialize( test_id=test_id, - update_web_transaction_test=update_web_transaction_test, + web_transaction_test_request=web_transaction_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1336,7 +1335,7 @@ class WebTransactionApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "WebTransactionTest", + '200': "WebTransactionTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1360,10 +1359,10 @@ class WebTransactionApi: @validate_call def update_web_transactions_test_with_http_info( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_web_transaction_test: UpdateWebTransactionTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + web_transaction_test_request: WebTransactionTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1376,19 +1375,19 @@ class WebTransactionApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[WebTransactionTest]: + ) -> ApiResponse[WebTransactionTestResponse]: """Update Web Transactions test Updates a Web Transactions test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_web_transaction_test: (required) - :type update_web_transaction_test: UpdateWebTransactionTest + :param web_transaction_test_request: (required) + :type web_transaction_test_request: WebTransactionTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1413,7 +1412,7 @@ class WebTransactionApi: _param = self._update_web_transactions_test_serialize( test_id=test_id, - update_web_transaction_test=update_web_transaction_test, + web_transaction_test_request=web_transaction_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1423,7 +1422,7 @@ class WebTransactionApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "WebTransactionTest", + '200': "WebTransactionTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1447,10 +1446,10 @@ class WebTransactionApi: @validate_call def update_web_transactions_test_without_preload_content( self, - test_id: Annotated[StrictStr, Field(description="ID of the test")], - update_web_transaction_test: UpdateWebTransactionTest, + test_id: Annotated[StrictStr, Field(description="Test ID")], + web_transaction_test_request: WebTransactionTestRequest, 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 the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, + expand: Annotated[Optional[List[ExpandTestOptions]], Field(description="Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1468,14 +1467,14 @@ class WebTransactionApi: Updates a Web Transactions test. The target test cannot be a live share or saved event. This method requires Account Admin permissions. - :param test_id: ID of the test (required) + :param test_id: Test ID (required) :type test_id: str - :param update_web_transaction_test: (required) - :type update_web_transaction_test: UpdateWebTransactionTest + :param web_transaction_test_request: (required) + :type web_transaction_test_request: WebTransactionTestRequest :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 expand: Optional parameter on whether or not to expand the test sub-resources. By default no expansion is going to take place if the query parameter is not present. If the user wishes to expand the `agents` sub-resource, they need to pass the `?expand=agent` query. - :type expand: List[Expand] + :type expand: List[ExpandTestOptions] :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 @@ -1500,7 +1499,7 @@ class WebTransactionApi: _param = self._update_web_transactions_test_serialize( test_id=test_id, - update_web_transaction_test=update_web_transaction_test, + web_transaction_test_request=web_transaction_test_request, aid=aid, expand=expand, _request_auth=_request_auth, @@ -1510,7 +1509,7 @@ class WebTransactionApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "WebTransactionTest", + '200': "WebTransactionTestResponse", '400': "ValidationError", '401': "UnauthorizedError", '403': "Error", @@ -1529,7 +1528,7 @@ class WebTransactionApi: def _update_web_transactions_test_serialize( self, test_id, - update_web_transaction_test, + web_transaction_test_request, aid, expand, _request_auth, @@ -1566,8 +1565,8 @@ class WebTransactionApi: # process the header parameters # process the form parameters # process the body parameter - if update_web_transaction_test is not None: - _body_params = update_web_transaction_test + if web_transaction_test_request is not None: + _body_params = web_transaction_test_request # set the HTTP header `Accept` @@ -1600,7 +1599,7 @@ class WebTransactionApi: return self.api_client.param_serialize( method='PUT', - resource_path='/v7/tests/web-transactions/{testId}', + resource_path='/tests/web-transactions/{testId}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/__init__.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/__init__.py index ea358299..cf19198c 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/__init__.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/__init__.py @@ -6,7 +6,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -14,17 +13,21 @@ # import models into model package -from thousandeyes_sdk.tests.models.agent import Agent from thousandeyes_sdk.tests.models.agent_base import AgentBase -from thousandeyes_sdk.tests.models.agent_request import AgentRequest +from thousandeyes_sdk.tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.tests.models.agent_response import AgentResponse from thousandeyes_sdk.tests.models.agent_to_agent_instant_test import AgentToAgentInstantTest from thousandeyes_sdk.tests.models.agent_to_agent_properties import AgentToAgentProperties from thousandeyes_sdk.tests.models.agent_to_agent_test import AgentToAgentTest from thousandeyes_sdk.tests.models.agent_to_agent_test_protocol import AgentToAgentTestProtocol +from thousandeyes_sdk.tests.models.agent_to_agent_test_request import AgentToAgentTestRequest +from thousandeyes_sdk.tests.models.agent_to_agent_test_response import AgentToAgentTestResponse from thousandeyes_sdk.tests.models.agent_to_agent_tests import AgentToAgentTests from thousandeyes_sdk.tests.models.agent_to_server_instant_test import AgentToServerInstantTest from thousandeyes_sdk.tests.models.agent_to_server_properties import AgentToServerProperties from thousandeyes_sdk.tests.models.agent_to_server_test import AgentToServerTest +from thousandeyes_sdk.tests.models.agent_to_server_test_request import AgentToServerTestRequest +from thousandeyes_sdk.tests.models.agent_to_server_test_response import AgentToServerTestResponse from thousandeyes_sdk.tests.models.agent_to_server_tests import AgentToServerTests from thousandeyes_sdk.tests.models.alert_direction import AlertDirection from thousandeyes_sdk.tests.models.alert_rounds_violation_mode import AlertRoundsViolationMode @@ -42,37 +45,53 @@ from thousandeyes_sdk.tests.models.api_request_header import ApiRequestHeader from thousandeyes_sdk.tests.models.api_request_method import ApiRequestMethod from thousandeyes_sdk.tests.models.api_request_variable import ApiRequestVariable from thousandeyes_sdk.tests.models.api_test import ApiTest +from thousandeyes_sdk.tests.models.api_test_request import ApiTestRequest +from thousandeyes_sdk.tests.models.api_test_response import ApiTestResponse from thousandeyes_sdk.tests.models.api_tests import ApiTests from thousandeyes_sdk.tests.models.base_bgp_test import BaseBgpTest from thousandeyes_sdk.tests.models.base_request import BaseRequest from thousandeyes_sdk.tests.models.base_test import BaseTest from thousandeyes_sdk.tests.models.bgp_test import BgpTest +from thousandeyes_sdk.tests.models.bgp_test_request import BgpTestRequest +from thousandeyes_sdk.tests.models.bgp_test_response import BgpTestResponse from thousandeyes_sdk.tests.models.bgp_tests import BgpTests from thousandeyes_sdk.tests.models.cloud_enterprise_agent_type import CloudEnterpriseAgentType from thousandeyes_sdk.tests.models.dns_query_class import DnsQueryClass from thousandeyes_sdk.tests.models.dns_sec_instant_test import DnsSecInstantTest from thousandeyes_sdk.tests.models.dns_sec_properties import DnsSecProperties from thousandeyes_sdk.tests.models.dns_sec_test import DnsSecTest +from thousandeyes_sdk.tests.models.dns_sec_test_request import DnsSecTestRequest +from thousandeyes_sdk.tests.models.dns_sec_test_response import DnsSecTestResponse from thousandeyes_sdk.tests.models.dns_sec_tests import DnsSecTests from thousandeyes_sdk.tests.models.dns_server_instant_test import DnsServerInstantTest from thousandeyes_sdk.tests.models.dns_server_properties import DnsServerProperties from thousandeyes_sdk.tests.models.dns_server_test import DnsServerTest +from thousandeyes_sdk.tests.models.dns_server_test_request import DnsServerTestRequest +from thousandeyes_sdk.tests.models.dns_server_test_response import DnsServerTestResponse from thousandeyes_sdk.tests.models.dns_server_tests import DnsServerTests from thousandeyes_sdk.tests.models.dns_servers_request import DnsServersRequest from thousandeyes_sdk.tests.models.dns_trace_instant_test import DnsTraceInstantTest from thousandeyes_sdk.tests.models.dns_trace_properties import DnsTraceProperties from thousandeyes_sdk.tests.models.dns_trace_test import DnsTraceTest +from thousandeyes_sdk.tests.models.dns_trace_test_request import DnsTraceTestRequest +from thousandeyes_sdk.tests.models.dns_trace_test_response import DnsTraceTestResponse from thousandeyes_sdk.tests.models.dns_trace_tests import DnsTraceTests from thousandeyes_sdk.tests.models.error import Error -from thousandeyes_sdk.tests.models.expand import Expand +from thousandeyes_sdk.tests.models.expand_bgp_test_options import ExpandBgpTestOptions +from thousandeyes_sdk.tests.models.expand_test_options import ExpandTestOptions from thousandeyes_sdk.tests.models.ftp_server_instant_test import FtpServerInstantTest from thousandeyes_sdk.tests.models.ftp_server_properties import FtpServerProperties from thousandeyes_sdk.tests.models.ftp_server_request_type import FtpServerRequestType from thousandeyes_sdk.tests.models.ftp_server_test import FtpServerTest +from thousandeyes_sdk.tests.models.ftp_server_test_request import FtpServerTestRequest +from thousandeyes_sdk.tests.models.ftp_server_test_response import FtpServerTestResponse from thousandeyes_sdk.tests.models.ftp_server_tests import FtpServerTests +from thousandeyes_sdk.tests.models.http_server_base_properties import HttpServerBaseProperties from thousandeyes_sdk.tests.models.http_server_instant_test import HttpServerInstantTest from thousandeyes_sdk.tests.models.http_server_properties import HttpServerProperties from thousandeyes_sdk.tests.models.http_server_test import HttpServerTest +from thousandeyes_sdk.tests.models.http_server_test_request import HttpServerTestRequest +from thousandeyes_sdk.tests.models.http_server_test_response import HttpServerTestResponse from thousandeyes_sdk.tests.models.http_server_tests import HttpServerTests from thousandeyes_sdk.tests.models.instant_test import InstantTest from thousandeyes_sdk.tests.models.interface_group import InterfaceGroup @@ -81,22 +100,28 @@ from thousandeyes_sdk.tests.models.link import Link from thousandeyes_sdk.tests.models.monitor import Monitor from thousandeyes_sdk.tests.models.monitor_type import MonitorType from thousandeyes_sdk.tests.models.monitors_request import MonitorsRequest +from thousandeyes_sdk.tests.models.o_auth import OAuth from thousandeyes_sdk.tests.models.page_load_instant_test import PageLoadInstantTest from thousandeyes_sdk.tests.models.page_load_properties import PageLoadProperties from thousandeyes_sdk.tests.models.page_load_test import PageLoadTest +from thousandeyes_sdk.tests.models.page_load_test_request import PageLoadTestRequest +from thousandeyes_sdk.tests.models.page_load_test_response import PageLoadTestResponse from thousandeyes_sdk.tests.models.page_load_tests import PageLoadTests +from thousandeyes_sdk.tests.models.request_method import RequestMethod from thousandeyes_sdk.tests.models.self_links import SelfLinks +from thousandeyes_sdk.tests.models.sensitivity_level import SensitivityLevel from thousandeyes_sdk.tests.models.severity import Severity from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount from thousandeyes_sdk.tests.models.simple_agent import SimpleAgent from thousandeyes_sdk.tests.models.simple_test import SimpleTest from thousandeyes_sdk.tests.models.sip_server_instant_test import SipServerInstantTest -from thousandeyes_sdk.tests.models.sip_server_instant_test_request import SipServerInstantTestRequest -from thousandeyes_sdk.tests.models.sip_server_instant_test_response import SipServerInstantTestResponse from thousandeyes_sdk.tests.models.sip_server_properties import SipServerProperties from thousandeyes_sdk.tests.models.sip_server_test import SipServerTest +from thousandeyes_sdk.tests.models.sip_server_test_request import SipServerTestRequest +from thousandeyes_sdk.tests.models.sip_server_test_response import SipServerTestResponse from thousandeyes_sdk.tests.models.sip_server_tests import SipServerTests from thousandeyes_sdk.tests.models.sip_test_protocol import SipTestProtocol +from thousandeyes_sdk.tests.models.test_agent_request import TestAgentRequest from thousandeyes_sdk.tests.models.test_auth_type import TestAuthType from thousandeyes_sdk.tests.models.test_custom_headers import TestCustomHeaders from thousandeyes_sdk.tests.models.test_direction import TestDirection @@ -136,28 +161,19 @@ from thousandeyes_sdk.tests.models.unexpanded_sip_server_test import UnexpandedS from thousandeyes_sdk.tests.models.unexpanded_test import UnexpandedTest from thousandeyes_sdk.tests.models.unexpanded_voice_test import UnexpandedVoiceTest from thousandeyes_sdk.tests.models.unexpanded_web_transaction_test import UnexpandedWebTransactionTest -from thousandeyes_sdk.tests.models.update_agent_to_agent_test import UpdateAgentToAgentTest -from thousandeyes_sdk.tests.models.update_agent_to_server_test import UpdateAgentToServerTest -from thousandeyes_sdk.tests.models.update_api_test import UpdateApiTest -from thousandeyes_sdk.tests.models.update_bgp_test import UpdateBgpTest from thousandeyes_sdk.tests.models.update_bgp_test_request import UpdateBgpTestRequest -from thousandeyes_sdk.tests.models.update_dns_sec_test import UpdateDnsSecTest -from thousandeyes_sdk.tests.models.update_dns_server_test import UpdateDnsServerTest -from thousandeyes_sdk.tests.models.update_dns_trace_test import UpdateDnsTraceTest -from thousandeyes_sdk.tests.models.update_ftp_server_test import UpdateFtpServerTest -from thousandeyes_sdk.tests.models.update_http_server_test import UpdateHttpServerTest -from thousandeyes_sdk.tests.models.update_page_load_test import UpdatePageLoadTest from thousandeyes_sdk.tests.models.update_sip_server_test import UpdateSipServerTest -from thousandeyes_sdk.tests.models.update_sip_server_test1 import UpdateSipServerTest1 -from thousandeyes_sdk.tests.models.update_voice_test import UpdateVoiceTest -from thousandeyes_sdk.tests.models.update_web_transaction_test import UpdateWebTransactionTest from thousandeyes_sdk.tests.models.validation_error import ValidationError from thousandeyes_sdk.tests.models.validation_error_item import ValidationErrorItem from thousandeyes_sdk.tests.models.voice_instant_test import VoiceInstantTest from thousandeyes_sdk.tests.models.voice_properties import VoiceProperties from thousandeyes_sdk.tests.models.voice_test import VoiceTest +from thousandeyes_sdk.tests.models.voice_test_request import VoiceTestRequest +from thousandeyes_sdk.tests.models.voice_test_response import VoiceTestResponse from thousandeyes_sdk.tests.models.voice_tests import VoiceTests from thousandeyes_sdk.tests.models.web_transaction_instant_test import WebTransactionInstantTest from thousandeyes_sdk.tests.models.web_transaction_properties import WebTransactionProperties from thousandeyes_sdk.tests.models.web_transaction_test import WebTransactionTest +from thousandeyes_sdk.tests.models.web_transaction_test_request import WebTransactionTestRequest +from thousandeyes_sdk.tests.models.web_transaction_test_response import WebTransactionTestResponse from thousandeyes_sdk.tests.models.web_transaction_tests import WebTransactionTests diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_base.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_base.py index a04622c1..21d0a5cd 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_base.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_base.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/label_request.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_interfaces.py similarity index 74% rename from thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/label_request.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_interfaces.py index e51ddd0c..b8cf443d 100644 --- a/thousandeyes-sdk-labels/src/thousandeyes_sdk/labels/models/label_request.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_interfaces.py @@ -1,11 +1,10 @@ # coding: utf-8 """ - Labels API + Tests API - ### Overview This is API for the Labels API (formerly called groups). + This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,13 +21,13 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self -class LabelRequest(BaseModel): +class AgentInterfaces(BaseModel): """ - LabelRequest + AgentInterfaces """ # noqa: E501 - name: Optional[StrictStr] = Field(default=None, description="The name of the new label - this must be unique.") - ids: Optional[List[StrictStr]] = Field(default=None, description="Array of agent/test/dashboard ids the label should be assigned to, depending on the type of label") - __properties: ClassVar[List[str]] = ["name", "ids"] + ip_address: Optional[StrictStr] = Field(default=None, description="IP address of the agent interface.", alias="ipAddress") + agent_id: Optional[StrictStr] = Field(default=None, description="The agent ID of the enterprise agent for the test.", alias="agentId") + __properties: ClassVar[List[str]] = ["ipAddress", "agentId"] model_config = ConfigDict( populate_by_name=True, @@ -49,7 +48,7 @@ class LabelRequest(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of LabelRequest from a JSON string""" + """Create an instance of AgentInterfaces from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -74,7 +73,7 @@ class LabelRequest(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of LabelRequest from a dict""" + """Create an instance of AgentInterfaces from a dict""" if obj is None: return None @@ -82,8 +81,8 @@ class LabelRequest(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ - "name": obj.get("name"), - "ids": obj.get("ids") + "ipAddress": obj.get("ipAddress"), + "agentId": obj.get("agentId") }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_response.py similarity index 96% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_response.py index 67e9c18d..597b490b 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_response.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -23,9 +22,9 @@ from thousandeyes_sdk.tests.models.cloud_enterprise_agent_type import CloudEnter from typing import Optional, Set from typing_extensions import Self -class Agent(BaseModel): +class AgentResponse(BaseModel): """ - Agent + 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") @@ -59,7 +58,7 @@ class Agent(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of Agent from a JSON string""" + """Create an instance of AgentResponse from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -100,7 +99,7 @@ class Agent(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of Agent from a dict""" + """Create an instance of AgentResponse from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_agent_instant_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_agent_instant_test.py index 3b54850c..ba9e8c0e 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_agent_instant_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_agent_instant_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,7 +20,6 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent import Agent from thousandeyes_sdk.tests.models.agent_to_agent_test_protocol import AgentToAgentTestProtocol from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount from thousandeyes_sdk.tests.models.test_direction import TestDirection @@ -62,8 +60,7 @@ class AgentToAgentInstantTest(BaseModel): throughput_duration: Optional[Annotated[int, Field(le=30000, strict=True, ge=5000)]] = Field(default=10000, description="The throughput duration.", alias="throughputDuration") throughput_rate: Optional[Annotated[int, Field(le=1000, strict=True, ge=8)]] = Field(default=None, description="The throughput rate, only applicable for UDP protocol.", alias="throughputRate") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "direction", "dscp", "dscpId", "mss", "numPathTraces", "pathTraceMode", "port", "protocol", "targetAgentId", "throughputMeasurements", "throughputDuration", "throughputRate", "fixedPacketRate", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "direction", "dscp", "dscpId", "mss", "numPathTraces", "pathTraceMode", "port", "protocol", "targetAgentId", "throughputMeasurements", "throughputDuration", "throughputRate", "fixedPacketRate"] model_config = ConfigDict( populate_by_name=True, @@ -107,7 +104,6 @@ class AgentToAgentInstantTest(BaseModel): * 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([ "created_by", @@ -121,7 +117,6 @@ class AgentToAgentInstantTest(BaseModel): "labels", "shared_with_accounts", "dscp", - "agents", ]) _dict = self.model_dump( @@ -146,13 +141,6 @@ class AgentToAgentInstantTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['sharedWithAccounts'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items return _dict @classmethod @@ -190,8 +178,7 @@ class AgentToAgentInstantTest(BaseModel): "throughputMeasurements": obj.get("throughputMeasurements") if obj.get("throughputMeasurements") is not None else False, "throughputDuration": obj.get("throughputDuration") if obj.get("throughputDuration") is not None else 10000, "throughputRate": obj.get("throughputRate"), - "fixedPacketRate": obj.get("fixedPacketRate"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "fixedPacketRate": obj.get("fixedPacketRate") }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_agent_properties.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_agent_properties.py index a4cb3328..2b2e0069 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_agent_properties.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_agent_properties.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_agent_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_agent_test.py index 6ae333e8..6b566cbd 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_agent_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_agent_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,7 +20,6 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent import Agent from thousandeyes_sdk.tests.models.agent_to_agent_test_protocol import AgentToAgentTestProtocol from thousandeyes_sdk.tests.models.alert_rule import AlertRule from thousandeyes_sdk.tests.models.monitor import Monitor @@ -69,11 +67,10 @@ class AgentToAgentTest(BaseModel): throughput_duration: Optional[Annotated[int, Field(le=30000, strict=True, ge=5000)]] = Field(default=10000, description="The throughput duration.", alias="throughputDuration") throughput_rate: Optional[Annotated[int, Field(le=1000, strict=True, ge=8)]] = Field(default=None, description="The throughput rate, only applicable for UDP protocol.", alias="throughputRate") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "direction", "dscp", "dscpId", "mss", "numPathTraces", "pathTraceMode", "port", "protocol", "targetAgentId", "throughputMeasurements", "throughputDuration", "throughputRate", "fixedPacketRate", "agents", "bgpMeasurements", "usePublicBgp", "monitors"] + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "direction", "dscp", "dscpId", "mss", "numPathTraces", "pathTraceMode", "port", "protocol", "targetAgentId", "throughputMeasurements", "throughputDuration", "throughputRate", "fixedPacketRate", "bgpMeasurements", "usePublicBgp", "monitors"] model_config = ConfigDict( populate_by_name=True, @@ -118,7 +115,6 @@ class AgentToAgentTest(BaseModel): * 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([ "created_by", @@ -132,7 +128,6 @@ class AgentToAgentTest(BaseModel): "labels", "shared_with_accounts", "dscp", - "agents", "monitors", ]) @@ -165,13 +160,6 @@ class AgentToAgentTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['sharedWithAccounts'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) _items = [] if self.monitors: @@ -221,7 +209,6 @@ class AgentToAgentTest(BaseModel): "throughputDuration": obj.get("throughputDuration") if obj.get("throughputDuration") is not None else 10000, "throughputRate": obj.get("throughputRate"), "fixedPacketRate": obj.get("fixedPacketRate"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_agent_test_protocol.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_agent_test_protocol.py index 81d3f422..7dd47bdb 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_agent_test_protocol.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_agent_test_protocol.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class AgentToAgentTestProtocol(str, Enum): """ TCP = 'tcp' UDP = 'udp' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of AgentToAgentTestProtocol from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_agent_to_agent_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_agent_test_request.py similarity index 94% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_agent_to_agent_test.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_agent_test_request.py index 54da737b..0551f663 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_agent_to_agent_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_agent_test_request.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,8 +20,8 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent_request import AgentRequest from thousandeyes_sdk.tests.models.agent_to_agent_test_protocol import AgentToAgentTestProtocol +from thousandeyes_sdk.tests.models.test_agent_request import TestAgentRequest from thousandeyes_sdk.tests.models.test_direction import TestDirection from thousandeyes_sdk.tests.models.test_dscp_id import TestDscpId from thousandeyes_sdk.tests.models.test_interval import TestInterval @@ -31,9 +30,9 @@ from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode from typing import Optional, Set from typing_extensions import Self -class UpdateAgentToAgentTest(BaseModel): +class AgentToAgentTestRequest(BaseModel): """ - UpdateAgentToAgentTest + AgentToAgentTestRequest """ # noqa: E501 interval: TestInterval alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") @@ -65,11 +64,11 @@ class UpdateAgentToAgentTest(BaseModel): throughput_duration: Optional[Annotated[int, Field(le=30000, strict=True, ge=5000)]] = Field(default=10000, description="The throughput duration.", alias="throughputDuration") throughput_rate: Optional[Annotated[int, Field(le=1000, strict=True, ge=8)]] = Field(default=None, description="The throughput rate, only applicable for UDP protocol.", alias="throughputRate") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") - agents: Optional[List[AgentRequest]] = None bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") monitors: Optional[List[StrictStr]] = Field(default=None, description="Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint)") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "direction", "dscp", "dscpId", "mss", "numPathTraces", "pathTraceMode", "port", "protocol", "targetAgentId", "throughputMeasurements", "throughputDuration", "throughputRate", "fixedPacketRate", "agents", "bgpMeasurements", "usePublicBgp", "monitors"] + agents: List[TestAgentRequest] = Field(description="Contains list of Agent IDs (get `agentId` from `/agents` endpoint).") + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "direction", "dscp", "dscpId", "mss", "numPathTraces", "pathTraceMode", "port", "protocol", "targetAgentId", "throughputMeasurements", "throughputDuration", "throughputRate", "fixedPacketRate", "bgpMeasurements", "usePublicBgp", "monitors", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -90,7 +89,7 @@ class UpdateAgentToAgentTest(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of UpdateAgentToAgentTest from a JSON string""" + """Create an instance of AgentToAgentTestRequest from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -143,7 +142,7 @@ class UpdateAgentToAgentTest(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of UpdateAgentToAgentTest from a dict""" + """Create an instance of AgentToAgentTestRequest from a dict""" if obj is None: return None @@ -181,10 +180,10 @@ class UpdateAgentToAgentTest(BaseModel): "throughputDuration": obj.get("throughputDuration") if obj.get("throughputDuration") is not None else 10000, "throughputRate": obj.get("throughputRate"), "fixedPacketRate": obj.get("fixedPacketRate"), - "agents": [AgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, - "monitors": obj.get("monitors") + "monitors": obj.get("monitors"), + "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_agent_test_response.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_agent_test_response.py new file mode 100644 index 00000000..43475935 --- /dev/null +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_agent_test_response.py @@ -0,0 +1,228 @@ +# coding: utf-8 + +""" + Tests API + + This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from thousandeyes_sdk.tests.models.agent_response import AgentResponse +from thousandeyes_sdk.tests.models.agent_to_agent_test_protocol import AgentToAgentTestProtocol +from thousandeyes_sdk.tests.models.alert_rule import AlertRule +from thousandeyes_sdk.tests.models.monitor import Monitor +from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount +from thousandeyes_sdk.tests.models.test_direction import TestDirection +from thousandeyes_sdk.tests.models.test_dscp_id import TestDscpId +from thousandeyes_sdk.tests.models.test_interval import TestInterval +from thousandeyes_sdk.tests.models.test_label import TestLabel +from thousandeyes_sdk.tests.models.test_links import TestLinks +from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode +from typing import Optional, Set +from typing_extensions import Self + +class AgentToAgentTestResponse(BaseModel): + """ + AgentToAgentTestResponse + """ # noqa: E501 + interval: TestInterval + alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") + enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") + alert_rules: Optional[List[AlertRule]] = Field(default=None, description="Contains list of enabled alert rule objects.", alias="alertRules") + created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") + created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") + description: Optional[StrictStr] = Field(default=None, description="A description of the test.") + live_share: Optional[StrictBool] = Field(default=None, description="Indicates if the test is shared with the account group.", alias="liveShare") + modified_by: Optional[StrictStr] = Field(default=None, description="User that modified the test.", alias="modifiedBy") + modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") + saved_event: Optional[StrictBool] = Field(default=None, description="Indicates if the test is a saved event.", alias="savedEvent") + test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned an unique ID; this is used to access test information and results from other endpoints.", alias="testId") + test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") + type: Optional[StrictStr] = None + links: Optional[TestLinks] = Field(default=None, alias="_links") + labels: Optional[List[TestLabel]] = None + shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") + direction: Optional[TestDirection] = None + dscp: Optional[StrictStr] = Field(default=None, description="DSCP label.") + dscp_id: Optional[TestDscpId] = Field(default=None, alias="dscpId") + mss: Optional[Annotated[int, Field(le=1400, strict=True, ge=20)]] = Field(default=None, description="Maximum segment size, in bytes.") + num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") + port: Optional[Annotated[int, Field(le=65535, strict=True, ge=1)]] = Field(default=49153, description="Target port.") + protocol: Optional[AgentToAgentTestProtocol] = None + target_agent_id: StrictStr = Field(description="`agentId` of the target agent for the test.", alias="targetAgentId") + throughput_measurements: Optional[StrictBool] = Field(default=False, description="Enable or disable throughput measurements. Throughput measurements cannot be enabled when the source or target of the test is a cloud agent.", alias="throughputMeasurements") + throughput_duration: Optional[Annotated[int, Field(le=30000, strict=True, ge=5000)]] = Field(default=10000, description="The throughput duration.", alias="throughputDuration") + throughput_rate: Optional[Annotated[int, Field(le=1000, strict=True, ge=8)]] = Field(default=None, description="The throughput rate, only applicable for UDP protocol.", alias="throughputRate") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") + use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") + monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") + agents: Optional[List[AgentResponse]] = Field(default=None, description="Contains list of agents.") + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "direction", "dscp", "dscpId", "mss", "numPathTraces", "pathTraceMode", "port", "protocol", "targetAgentId", "throughputMeasurements", "throughputDuration", "throughputRate", "fixedPacketRate", "bgpMeasurements", "usePublicBgp", "monitors", "agents"] + + 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 AgentToAgentTestResponse 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. + * 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([ + "created_by", + "created_date", + "live_share", + "modified_by", + "modified_date", + "saved_event", + "test_id", + "type", + "labels", + "shared_with_accounts", + "dscp", + "monitors", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in alert_rules (list) + _items = [] + if self.alert_rules: + for _item in self.alert_rules: + if _item: + _items.append(_item.to_dict()) + _dict['alertRules'] = _items + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in labels (list) + _items = [] + if self.labels: + for _item in self.labels: + if _item: + _items.append(_item.to_dict()) + _dict['labels'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in shared_with_accounts (list) + _items = [] + if self.shared_with_accounts: + for _item in self.shared_with_accounts: + if _item: + _items.append(_item.to_dict()) + _dict['sharedWithAccounts'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) + _items = [] + if self.monitors: + for _item in self.monitors: + if _item: + _items.append(_item.to_dict()) + _dict['monitors'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in agents (list) + _items = [] + if self.agents: + for _item in self.agents: + if _item: + _items.append(_item.to_dict()) + _dict['agents'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AgentToAgentTestResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "interval": obj.get("interval"), + "alertsEnabled": obj.get("alertsEnabled"), + "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, + "alertRules": [AlertRule.from_dict(_item) for _item in obj["alertRules"]] if obj.get("alertRules") is not None else None, + "createdBy": obj.get("createdBy"), + "createdDate": obj.get("createdDate"), + "description": obj.get("description"), + "liveShare": obj.get("liveShare"), + "modifiedBy": obj.get("modifiedBy"), + "modifiedDate": obj.get("modifiedDate"), + "savedEvent": obj.get("savedEvent"), + "testId": obj.get("testId"), + "testName": obj.get("testName"), + "type": obj.get("type"), + "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, + "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, + "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, + "direction": obj.get("direction"), + "dscp": obj.get("dscp"), + "dscpId": obj.get("dscpId"), + "mss": obj.get("mss"), + "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "pathTraceMode": obj.get("pathTraceMode"), + "port": obj.get("port") if obj.get("port") is not None else 49153, + "protocol": obj.get("protocol"), + "targetAgentId": obj.get("targetAgentId"), + "throughputMeasurements": obj.get("throughputMeasurements") if obj.get("throughputMeasurements") is not None else False, + "throughputDuration": obj.get("throughputDuration") if obj.get("throughputDuration") is not None else 10000, + "throughputRate": obj.get("throughputRate"), + "fixedPacketRate": obj.get("fixedPacketRate"), + "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, + "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, + "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None, + "agents": [AgentResponse.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_agent_tests.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_agent_tests.py index 5f54753f..3accc12e 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_agent_tests.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_agent_tests.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_server_instant_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_server_instant_test.py index 61619b62..624131a6 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_server_instant_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_server_instant_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,7 +20,6 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent import Agent from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount from thousandeyes_sdk.tests.models.test_dscp_id import TestDscpId from thousandeyes_sdk.tests.models.test_ipv6_policy import TestIpv6Policy @@ -65,8 +63,7 @@ class AgentToServerInstantTest(BaseModel): ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") ping_payload_size: Optional[Annotated[int, Field(le=1400, strict=True, ge=0)]] = Field(default=None, description="Payload size (not total packet size) for the end-to-end metric's probes, ping payload size allows values from 0 to 1400 bytes. When set to null, payload sizes are 0 bytes for ICMP-based tests and 1 byte for TCP-based tests.", alias="pingPayloadSize") network_measurements: Optional[StrictBool] = Field(default=False, description="View packet loss in 1-second intervals. This is only available for 1-minute interval tests. Set to `true` to enable network measurements.", alias="networkMeasurements") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "continuousMode", "fixedPacketRate", "mtuMeasurements", "numPathTraces", "pathTraceMode", "port", "probeMode", "protocol", "server", "dscp", "dscpId", "ipv6Policy", "pingPayloadSize", "networkMeasurements", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "continuousMode", "fixedPacketRate", "mtuMeasurements", "numPathTraces", "pathTraceMode", "port", "probeMode", "protocol", "server", "dscp", "dscpId", "ipv6Policy", "pingPayloadSize", "networkMeasurements"] model_config = ConfigDict( populate_by_name=True, @@ -110,7 +107,6 @@ class AgentToServerInstantTest(BaseModel): * 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([ "created_by", @@ -124,7 +120,6 @@ class AgentToServerInstantTest(BaseModel): "labels", "shared_with_accounts", "dscp", - "agents", ]) _dict = self.model_dump( @@ -149,13 +144,6 @@ class AgentToServerInstantTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['sharedWithAccounts'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items return _dict @classmethod @@ -195,8 +183,7 @@ class AgentToServerInstantTest(BaseModel): "dscpId": obj.get("dscpId"), "ipv6Policy": obj.get("ipv6Policy"), "pingPayloadSize": obj.get("pingPayloadSize"), - "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else False, - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else False }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_server_properties.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_server_properties.py index 506bdde6..a884da40 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_server_properties.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_server_properties.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_server_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_server_test.py index d3a96952..c5d1b843 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_server_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_server_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,7 +20,6 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent import Agent from thousandeyes_sdk.tests.models.alert_rule import AlertRule from thousandeyes_sdk.tests.models.monitor import Monitor from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount @@ -72,11 +70,10 @@ class AgentToServerTest(BaseModel): ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") ping_payload_size: Optional[Annotated[int, Field(le=1400, strict=True, ge=0)]] = Field(default=None, description="Payload size (not total packet size) for the end-to-end metric's probes, ping payload size allows values from 0 to 1400 bytes. When set to null, payload sizes are 0 bytes for ICMP-based tests and 1 byte for TCP-based tests.", alias="pingPayloadSize") network_measurements: Optional[StrictBool] = Field(default=False, description="View packet loss in 1-second intervals. This is only available for 1-minute interval tests. Set to `true` to enable network measurements.", alias="networkMeasurements") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "continuousMode", "fixedPacketRate", "mtuMeasurements", "numPathTraces", "pathTraceMode", "port", "probeMode", "protocol", "server", "dscp", "dscpId", "ipv6Policy", "pingPayloadSize", "networkMeasurements", "agents", "bgpMeasurements", "usePublicBgp", "monitors"] + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "continuousMode", "fixedPacketRate", "mtuMeasurements", "numPathTraces", "pathTraceMode", "port", "probeMode", "protocol", "server", "dscp", "dscpId", "ipv6Policy", "pingPayloadSize", "networkMeasurements", "bgpMeasurements", "usePublicBgp", "monitors"] model_config = ConfigDict( populate_by_name=True, @@ -121,7 +118,6 @@ class AgentToServerTest(BaseModel): * 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([ "created_by", @@ -135,7 +131,6 @@ class AgentToServerTest(BaseModel): "labels", "shared_with_accounts", "dscp", - "agents", "monitors", ]) @@ -168,13 +163,6 @@ class AgentToServerTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['sharedWithAccounts'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) _items = [] if self.monitors: @@ -226,7 +214,6 @@ class AgentToServerTest(BaseModel): "ipv6Policy": obj.get("ipv6Policy"), "pingPayloadSize": obj.get("pingPayloadSize"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else False, - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_agent_to_server_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_server_test_request.py similarity index 94% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_agent_to_server_test.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_server_test_request.py index cdab7be0..52ba0cd4 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_agent_to_server_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_server_test_request.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,7 +20,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent_request import AgentRequest +from thousandeyes_sdk.tests.models.test_agent_request import TestAgentRequest from thousandeyes_sdk.tests.models.test_dscp_id import TestDscpId from thousandeyes_sdk.tests.models.test_interval import TestInterval from thousandeyes_sdk.tests.models.test_ipv6_policy import TestIpv6Policy @@ -32,9 +31,9 @@ from thousandeyes_sdk.tests.models.test_protocol import TestProtocol from typing import Optional, Set from typing_extensions import Self -class UpdateAgentToServerTest(BaseModel): +class AgentToServerTestRequest(BaseModel): """ - UpdateAgentToServerTest + AgentToServerTestRequest """ # noqa: E501 interval: TestInterval alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") @@ -68,11 +67,11 @@ class UpdateAgentToServerTest(BaseModel): ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") ping_payload_size: Optional[Annotated[int, Field(le=1400, strict=True, ge=0)]] = Field(default=None, description="Payload size (not total packet size) for the end-to-end metric's probes, ping payload size allows values from 0 to 1400 bytes. When set to null, payload sizes are 0 bytes for ICMP-based tests and 1 byte for TCP-based tests.", alias="pingPayloadSize") network_measurements: Optional[StrictBool] = Field(default=False, description="View packet loss in 1-second intervals. This is only available for 1-minute interval tests. Set to `true` to enable network measurements.", alias="networkMeasurements") - agents: Optional[List[AgentRequest]] = None bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") monitors: Optional[List[StrictStr]] = Field(default=None, description="Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint)") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "continuousMode", "fixedPacketRate", "mtuMeasurements", "numPathTraces", "pathTraceMode", "port", "probeMode", "protocol", "server", "dscp", "dscpId", "ipv6Policy", "pingPayloadSize", "networkMeasurements", "agents", "bgpMeasurements", "usePublicBgp", "monitors"] + agents: List[TestAgentRequest] = Field(description="Contains list of Agent IDs (get `agentId` from `/agents` endpoint).") + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "continuousMode", "fixedPacketRate", "mtuMeasurements", "numPathTraces", "pathTraceMode", "port", "probeMode", "protocol", "server", "dscp", "dscpId", "ipv6Policy", "pingPayloadSize", "networkMeasurements", "bgpMeasurements", "usePublicBgp", "monitors", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -93,7 +92,7 @@ class UpdateAgentToServerTest(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of UpdateAgentToServerTest from a JSON string""" + """Create an instance of AgentToServerTestRequest from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -146,7 +145,7 @@ class UpdateAgentToServerTest(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of UpdateAgentToServerTest from a dict""" + """Create an instance of AgentToServerTestRequest from a dict""" if obj is None: return None @@ -186,10 +185,10 @@ class UpdateAgentToServerTest(BaseModel): "ipv6Policy": obj.get("ipv6Policy"), "pingPayloadSize": obj.get("pingPayloadSize"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else False, - "agents": [AgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, - "monitors": obj.get("monitors") + "monitors": obj.get("monitors"), + "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_server_test_response.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_server_test_response.py new file mode 100644 index 00000000..e5c0f5e9 --- /dev/null +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_server_test_response.py @@ -0,0 +1,233 @@ +# coding: utf-8 + +""" + Tests API + + This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from thousandeyes_sdk.tests.models.agent_response import AgentResponse +from thousandeyes_sdk.tests.models.alert_rule import AlertRule +from thousandeyes_sdk.tests.models.monitor import Monitor +from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount +from thousandeyes_sdk.tests.models.test_dscp_id import TestDscpId +from thousandeyes_sdk.tests.models.test_interval import TestInterval +from thousandeyes_sdk.tests.models.test_ipv6_policy import TestIpv6Policy +from thousandeyes_sdk.tests.models.test_label import TestLabel +from thousandeyes_sdk.tests.models.test_links import TestLinks +from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode +from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode +from thousandeyes_sdk.tests.models.test_protocol import TestProtocol +from typing import Optional, Set +from typing_extensions import Self + +class AgentToServerTestResponse(BaseModel): + """ + AgentToServerTestResponse + """ # noqa: E501 + interval: TestInterval + alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") + enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") + alert_rules: Optional[List[AlertRule]] = Field(default=None, description="Contains list of enabled alert rule objects.", alias="alertRules") + created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") + created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") + description: Optional[StrictStr] = Field(default=None, description="A description of the test.") + live_share: Optional[StrictBool] = Field(default=None, description="Indicates if the test is shared with the account group.", alias="liveShare") + modified_by: Optional[StrictStr] = Field(default=None, description="User that modified the test.", alias="modifiedBy") + modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") + saved_event: Optional[StrictBool] = Field(default=None, description="Indicates if the test is a saved event.", alias="savedEvent") + test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned an unique ID; this is used to access test information and results from other endpoints.", alias="testId") + test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") + type: Optional[StrictStr] = None + links: Optional[TestLinks] = Field(default=None, alias="_links") + labels: Optional[List[TestLabel]] = None + shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") + bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") + continuous_mode: Optional[StrictBool] = Field(default=None, description="To enable continuous monitoring, set this parameter to `true` to. When continuous monitoring is enabled, the following actions occur: * `fixedPacketRate` is enforced * `bandwidthMeasurements` are disabled * If the `protocol` is set to `tcp`, `probeMode` is set to `syn`. ", alias="continuousMode") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="If continuousMode is `false`, set the fixedPacketRate to a value between 10-100. If `continuousMode` is `true`, set the `fixedPacketRate` to `1`", alias="fixedPacketRate") + mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") + num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") + port: Optional[Annotated[int, Field(le=65535, strict=True, ge=1)]] = Field(default=49153, description="Target port.") + probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") + protocol: Optional[TestProtocol] = None + server: StrictStr = Field(description="Target name or IP address.") + dscp: Optional[StrictStr] = Field(default=None, description="DSCP label.") + dscp_id: Optional[TestDscpId] = Field(default=None, alias="dscpId") + ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") + ping_payload_size: Optional[Annotated[int, Field(le=1400, strict=True, ge=0)]] = Field(default=None, description="Payload size (not total packet size) for the end-to-end metric's probes, ping payload size allows values from 0 to 1400 bytes. When set to null, payload sizes are 0 bytes for ICMP-based tests and 1 byte for TCP-based tests.", alias="pingPayloadSize") + network_measurements: Optional[StrictBool] = Field(default=False, description="View packet loss in 1-second intervals. This is only available for 1-minute interval tests. Set to `true` to enable network measurements.", alias="networkMeasurements") + bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") + use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") + monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") + agents: Optional[List[AgentResponse]] = Field(default=None, description="Contains list of agents.") + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "continuousMode", "fixedPacketRate", "mtuMeasurements", "numPathTraces", "pathTraceMode", "port", "probeMode", "protocol", "server", "dscp", "dscpId", "ipv6Policy", "pingPayloadSize", "networkMeasurements", "bgpMeasurements", "usePublicBgp", "monitors", "agents"] + + 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 AgentToServerTestResponse 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. + * 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([ + "created_by", + "created_date", + "live_share", + "modified_by", + "modified_date", + "saved_event", + "test_id", + "type", + "labels", + "shared_with_accounts", + "dscp", + "monitors", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in alert_rules (list) + _items = [] + if self.alert_rules: + for _item in self.alert_rules: + if _item: + _items.append(_item.to_dict()) + _dict['alertRules'] = _items + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in labels (list) + _items = [] + if self.labels: + for _item in self.labels: + if _item: + _items.append(_item.to_dict()) + _dict['labels'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in shared_with_accounts (list) + _items = [] + if self.shared_with_accounts: + for _item in self.shared_with_accounts: + if _item: + _items.append(_item.to_dict()) + _dict['sharedWithAccounts'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) + _items = [] + if self.monitors: + for _item in self.monitors: + if _item: + _items.append(_item.to_dict()) + _dict['monitors'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in agents (list) + _items = [] + if self.agents: + for _item in self.agents: + if _item: + _items.append(_item.to_dict()) + _dict['agents'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AgentToServerTestResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "interval": obj.get("interval"), + "alertsEnabled": obj.get("alertsEnabled"), + "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, + "alertRules": [AlertRule.from_dict(_item) for _item in obj["alertRules"]] if obj.get("alertRules") is not None else None, + "createdBy": obj.get("createdBy"), + "createdDate": obj.get("createdDate"), + "description": obj.get("description"), + "liveShare": obj.get("liveShare"), + "modifiedBy": obj.get("modifiedBy"), + "modifiedDate": obj.get("modifiedDate"), + "savedEvent": obj.get("savedEvent"), + "testId": obj.get("testId"), + "testName": obj.get("testName"), + "type": obj.get("type"), + "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, + "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, + "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, + "bandwidthMeasurements": obj.get("bandwidthMeasurements"), + "continuousMode": obj.get("continuousMode"), + "fixedPacketRate": obj.get("fixedPacketRate"), + "mtuMeasurements": obj.get("mtuMeasurements"), + "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "pathTraceMode": obj.get("pathTraceMode"), + "port": obj.get("port") if obj.get("port") is not None else 49153, + "probeMode": obj.get("probeMode"), + "protocol": obj.get("protocol"), + "server": obj.get("server"), + "dscp": obj.get("dscp"), + "dscpId": obj.get("dscpId"), + "ipv6Policy": obj.get("ipv6Policy"), + "pingPayloadSize": obj.get("pingPayloadSize"), + "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else False, + "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, + "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, + "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None, + "agents": [AgentResponse.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_server_tests.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_server_tests.py index dccb906d..55fd8700 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_server_tests.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_to_server_tests.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/alert_direction.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/alert_direction.py index 414c35ef..415e5ad7 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/alert_direction.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/alert_direction.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class AlertDirection(str, Enum): TO_MINUS_TARGET = 'to-target' FROM_MINUS_TARGET = 'from-target' BIDIRECTIONAL = 'bidirectional' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of AlertDirection from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/alert_rounds_violation_mode.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/alert_rounds_violation_mode.py index f7b56d34..fbb3450e 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/alert_rounds_violation_mode.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/alert_rounds_violation_mode.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,7 +19,7 @@ from typing_extensions import Self class AlertRoundsViolationMode(str, Enum): """ - `exact` requires that the same agent(s) meet the threshold in consecutive rounds; default is `any` + `exact` requires the same agents to meet the threshold in consecutive rounds. `auto` is only enabled for CEA and Endpoint Scheduled test rules. The default is `any`. """ """ @@ -28,10 +27,16 @@ class AlertRoundsViolationMode(str, Enum): """ EXACT = 'exact' ANY = 'any' + AUTO = 'auto' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of AlertRoundsViolationMode from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/alert_rule.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/alert_rule.py index 1398a3d5..5571fbc5 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/alert_rule.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/alert_rule.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,6 +21,7 @@ from typing import Any, ClassVar, Dict, List, Optional from thousandeyes_sdk.tests.models.alert_direction import AlertDirection from thousandeyes_sdk.tests.models.alert_rounds_violation_mode import AlertRoundsViolationMode from thousandeyes_sdk.tests.models.alert_type import AlertType +from thousandeyes_sdk.tests.models.sensitivity_level import SensitivityLevel from thousandeyes_sdk.tests.models.severity import Severity from typing import Optional, Set from typing_extensions import Self @@ -30,7 +30,7 @@ class AlertRule(BaseModel): """ AlertRule """ # noqa: E501 - rule_id: Optional[StrictStr] = Field(default=None, description="Unique ID of the rule", alias="ruleId") + rule_id: Optional[StrictStr] = Field(default=None, description="Unique ID of the rule.", alias="ruleId") rule_name: Optional[StrictStr] = Field(default=None, description="Name of the alert rule", alias="ruleName") expression: Optional[StrictStr] = Field(default=None, description="String expression of alert rule") direction: Optional[AlertDirection] = None @@ -41,8 +41,9 @@ class AlertRule(BaseModel): rounds_violating_mode: Optional[AlertRoundsViolationMode] = Field(default=None, alias="roundsViolatingMode") rounds_violating_out_of: Optional[StrictInt] = Field(default=None, description="Specifies the divisor (y value) for the “X of Y times” condition.", alias="roundsViolatingOutOf") rounds_violating_required: Optional[StrictInt] = Field(default=None, description="Specifies the numerator (x value) for the “X of Y times” condition", alias="roundsViolatingRequired") + sensitivity_level: Optional[SensitivityLevel] = Field(default=None, alias="sensitivityLevel") severity: Optional[Severity] = None - __properties: ClassVar[List[str]] = ["ruleId", "ruleName", "expression", "direction", "isDefault", "alertType", "minimumSources", "minimumSourcesPct", "roundsViolatingMode", "roundsViolatingOutOf", "roundsViolatingRequired", "severity"] + __properties: ClassVar[List[str]] = ["ruleId", "ruleName", "expression", "direction", "isDefault", "alertType", "minimumSources", "minimumSourcesPct", "roundsViolatingMode", "roundsViolatingOutOf", "roundsViolatingRequired", "sensitivityLevel", "severity"] model_config = ConfigDict( populate_by_name=True, @@ -123,6 +124,7 @@ class AlertRule(BaseModel): "roundsViolatingMode": obj.get("roundsViolatingMode"), "roundsViolatingOutOf": obj.get("roundsViolatingOutOf"), "roundsViolatingRequired": obj.get("roundsViolatingRequired"), + "sensitivityLevel": obj.get("sensitivityLevel"), "severity": obj.get("severity") }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/alert_type.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/alert_type.py index 009810e9..91add6d0 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/alert_type.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/alert_type.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -59,4 +58,8 @@ class AlertType(str, Enum): """Create an instance of AlertType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_instant_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_instant_test.py index e444ef02..97a12137 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_instant_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_instant_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,7 +20,6 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent import Agent from thousandeyes_sdk.tests.models.api_predefined_variable import ApiPredefinedVariable from thousandeyes_sdk.tests.models.api_request import ApiRequest from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount @@ -51,10 +49,13 @@ class ApiInstantTest(BaseModel): links: Optional[TestLinks] = Field(default=None, alias="_links") labels: Optional[List[TestLabel]] = None shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") predefined_variables: Optional[List[ApiPredefinedVariable]] = Field(default=None, alias="predefinedVariables") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") @@ -64,9 +65,8 @@ class ApiInstantTest(BaseModel): target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=0)]] = Field(default=None, description="Target time for completion metric, defaults to 50% of time limit specified in seconds. (0 means default behavior)", alias="targetTime") time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds. Exceeding this limit will result in a Timeout error.", alias="timeLimit") url: StrictStr = Field(description="Target for the test.") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") credentials: Optional[List[StrictStr]] = Field(default=None, description="Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint).") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "followRedirects", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pathTraceMode", "predefinedVariables", "probeMode", "protocol", "requests", "sslVersionId", "targetTime", "timeLimit", "url", "agents", "credentials"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "collectProxyNetworkData", "followRedirects", "mtuMeasurements", "networkMeasurements", "numPathTraces", "overrideAgentProxy", "overrideProxyId", "pathTraceMode", "predefinedVariables", "probeMode", "protocol", "requests", "sslVersionId", "targetTime", "timeLimit", "url", "credentials"] model_config = ConfigDict( populate_by_name=True, @@ -109,7 +109,6 @@ class ApiInstantTest(BaseModel): * 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([ "created_by", @@ -122,7 +121,6 @@ class ApiInstantTest(BaseModel): "type", "labels", "shared_with_accounts", - "agents", ]) _dict = self.model_dump( @@ -161,13 +159,6 @@ class ApiInstantTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['requests'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items return _dict @classmethod @@ -193,10 +184,13 @@ class ApiInstantTest(BaseModel): "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), "pathTraceMode": obj.get("pathTraceMode"), "predefinedVariables": [ApiPredefinedVariable.from_dict(_item) for _item in obj["predefinedVariables"]] if obj.get("predefinedVariables") is not None else None, "probeMode": obj.get("probeMode"), @@ -206,7 +200,6 @@ class ApiInstantTest(BaseModel): "targetTime": obj.get("targetTime"), "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, "url": obj.get("url"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, "credentials": obj.get("credentials") }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_predefined_variable.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_predefined_variable.py index 89becce2..c45c11ee 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_predefined_variable.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_predefined_variable.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_properties.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_properties.py index f703878c..f3221a60 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_properties.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_properties.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -33,10 +32,13 @@ class ApiProperties(BaseModel): """ ApiProperties """ # noqa: E501 + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") predefined_variables: Optional[List[ApiPredefinedVariable]] = Field(default=None, alias="predefinedVariables") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") @@ -47,7 +49,7 @@ class ApiProperties(BaseModel): time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds. Exceeding this limit will result in a Timeout error.", alias="timeLimit") url: StrictStr = Field(description="Target for the test.") type: Optional[StrictStr] = None - __properties: ClassVar[List[str]] = ["followRedirects", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pathTraceMode", "predefinedVariables", "probeMode", "protocol", "requests", "sslVersionId", "targetTime", "timeLimit", "url", "type"] + __properties: ClassVar[List[str]] = ["collectProxyNetworkData", "followRedirects", "mtuMeasurements", "networkMeasurements", "numPathTraces", "overrideAgentProxy", "overrideProxyId", "pathTraceMode", "predefinedVariables", "probeMode", "protocol", "requests", "sslVersionId", "targetTime", "timeLimit", "url", "type"] model_config = ConfigDict( populate_by_name=True, @@ -117,10 +119,13 @@ class ApiProperties(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), "pathTraceMode": obj.get("pathTraceMode"), "predefinedVariables": [ApiPredefinedVariable.from_dict(_item) for _item in obj["predefinedVariables"]] if obj.get("predefinedVariables") is not None else None, "probeMode": obj.get("probeMode"), diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_request.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_request.py index 7ada7b6a..2ec8141c 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_request.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_request.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_request_assertion.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_request_assertion.py index b635d45e..783fa03b 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_request_assertion.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_request_assertion.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_request_assertion_name.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_request_assertion_name.py index 625e86c2..f450c00e 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_request_assertion_name.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_request_assertion_name.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class ApiRequestAssertionName(str, Enum): """ STATUS_MINUS_CODE = 'status-code' RESPONSE_MINUS_BODY = 'response-body' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of ApiRequestAssertionName from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_request_assertion_operator.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_request_assertion_operator.py index 1eb18271..b07a6f77 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_request_assertion_operator.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_request_assertion_operator.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -30,10 +29,15 @@ class ApiRequestAssertionOperator(str, Enum): IS_MINUS_NOT = 'is-not' INCLUDES = 'includes' NOT_MINUS_INCLUDES = 'not-includes' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of ApiRequestAssertionOperator from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_request_auth_type.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_request_auth_type.py index 4f5602ef..d372cc8e 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_request_auth_type.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_request_auth_type.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class ApiRequestAuthType(str, Enum): NONE = 'none' BASIC = 'basic' BEARER_MINUS_TOKEN = 'bearer-token' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of ApiRequestAuthType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_request_header.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_request_header.py index fa3dbe4a..e5b3e3b3 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_request_header.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_request_header.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_request_method.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_request_method.py index b56d736e..474dda3d 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_request_method.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_request_method.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -31,10 +30,15 @@ class ApiRequestMethod(str, Enum): PUT = 'put' DELETE = 'delete' PATCH = 'patch' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of ApiRequestMethod from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_request_variable.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_request_variable.py index eabd7454..6697dd0d 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_request_variable.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_request_variable.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_test.py index db644334..e17e919c 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,7 +20,6 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent import Agent from thousandeyes_sdk.tests.models.alert_rule import AlertRule from thousandeyes_sdk.tests.models.api_predefined_variable import ApiPredefinedVariable from thousandeyes_sdk.tests.models.api_request import ApiRequest @@ -58,10 +56,13 @@ class ApiTest(BaseModel): links: Optional[TestLinks] = Field(default=None, alias="_links") labels: Optional[List[TestLabel]] = None shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") predefined_variables: Optional[List[ApiPredefinedVariable]] = Field(default=None, alias="predefinedVariables") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") @@ -71,12 +72,11 @@ class ApiTest(BaseModel): target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=0)]] = Field(default=None, description="Target time for completion metric, defaults to 50% of time limit specified in seconds. (0 means default behavior)", alias="targetTime") time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds. Exceeding this limit will result in a Timeout error.", alias="timeLimit") url: StrictStr = Field(description="Target for the test.") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") credentials: Optional[List[StrictStr]] = Field(default=None, description="Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint).") bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "followRedirects", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pathTraceMode", "predefinedVariables", "probeMode", "protocol", "requests", "sslVersionId", "targetTime", "timeLimit", "url", "agents", "credentials", "bgpMeasurements", "usePublicBgp", "monitors"] + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "collectProxyNetworkData", "followRedirects", "mtuMeasurements", "networkMeasurements", "numPathTraces", "overrideAgentProxy", "overrideProxyId", "pathTraceMode", "predefinedVariables", "probeMode", "protocol", "requests", "sslVersionId", "targetTime", "timeLimit", "url", "credentials", "bgpMeasurements", "usePublicBgp", "monitors"] model_config = ConfigDict( populate_by_name=True, @@ -120,7 +120,6 @@ class ApiTest(BaseModel): * 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([ "created_by", @@ -133,7 +132,6 @@ class ApiTest(BaseModel): "type", "labels", "shared_with_accounts", - "agents", "monitors", ]) @@ -180,13 +178,6 @@ class ApiTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['requests'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) _items = [] if self.monitors: @@ -223,10 +214,13 @@ class ApiTest(BaseModel): "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), "pathTraceMode": obj.get("pathTraceMode"), "predefinedVariables": [ApiPredefinedVariable.from_dict(_item) for _item in obj["predefinedVariables"]] if obj.get("predefinedVariables") is not None else None, "probeMode": obj.get("probeMode"), @@ -236,7 +230,6 @@ class ApiTest(BaseModel): "targetTime": obj.get("targetTime"), "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, "url": obj.get("url"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, "credentials": obj.get("credentials"), "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_api_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_test_request.py similarity index 86% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_api_test.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_test_request.py index c7d26b3e..1b17679d 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_api_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_test_request.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,10 +20,10 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent_request import AgentRequest from thousandeyes_sdk.tests.models.api_predefined_variable import ApiPredefinedVariable from thousandeyes_sdk.tests.models.api_request import ApiRequest from thousandeyes_sdk.tests.models.monitor import Monitor +from thousandeyes_sdk.tests.models.test_agent_request import TestAgentRequest from thousandeyes_sdk.tests.models.test_interval import TestInterval from thousandeyes_sdk.tests.models.test_links import TestLinks from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode @@ -34,9 +33,9 @@ from thousandeyes_sdk.tests.models.test_ssl_version_id import TestSslVersionId from typing import Optional, Set from typing_extensions import Self -class UpdateApiTest(BaseModel): +class ApiTestRequest(BaseModel): """ - UpdateApiTest + ApiTestRequest """ # noqa: E501 interval: TestInterval alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") @@ -55,10 +54,13 @@ class UpdateApiTest(BaseModel): links: Optional[TestLinks] = Field(default=None, alias="_links") labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") predefined_variables: Optional[List[ApiPredefinedVariable]] = Field(default=None, alias="predefinedVariables") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") @@ -68,12 +70,12 @@ class UpdateApiTest(BaseModel): target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=0)]] = Field(default=None, description="Target time for completion metric, defaults to 50% of time limit specified in seconds. (0 means default behavior)", alias="targetTime") time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds. Exceeding this limit will result in a Timeout error.", alias="timeLimit") url: StrictStr = Field(description="Target for the test.") - agents: Optional[List[AgentRequest]] = None credentials: Optional[List[StrictStr]] = Field(default=None, description="Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint).") bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "followRedirects", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pathTraceMode", "predefinedVariables", "probeMode", "protocol", "requests", "sslVersionId", "targetTime", "timeLimit", "url", "agents", "credentials", "bgpMeasurements", "usePublicBgp", "monitors"] + agents: List[TestAgentRequest] = Field(description="Contains list of Agent IDs (get `agentId` from `/agents` endpoint).") + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "collectProxyNetworkData", "followRedirects", "mtuMeasurements", "networkMeasurements", "numPathTraces", "overrideAgentProxy", "overrideProxyId", "pathTraceMode", "predefinedVariables", "probeMode", "protocol", "requests", "sslVersionId", "targetTime", "timeLimit", "url", "credentials", "bgpMeasurements", "usePublicBgp", "monitors", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -94,7 +96,7 @@ class UpdateApiTest(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of UpdateApiTest from a JSON string""" + """Create an instance of ApiTestRequest from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -150,13 +152,6 @@ class UpdateApiTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['requests'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) _items = [] if self.monitors: @@ -164,11 +159,18 @@ class UpdateApiTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['monitors'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in agents (list) + _items = [] + if self.agents: + for _item in self.agents: + if _item: + _items.append(_item.to_dict()) + _dict['agents'] = _items return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of UpdateApiTest from a dict""" + """Create an instance of ApiTestRequest from a dict""" if obj is None: return None @@ -193,10 +195,13 @@ class UpdateApiTest(BaseModel): "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, "labels": obj.get("labels"), "sharedWithAccounts": obj.get("sharedWithAccounts"), + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), "pathTraceMode": obj.get("pathTraceMode"), "predefinedVariables": [ApiPredefinedVariable.from_dict(_item) for _item in obj["predefinedVariables"]] if obj.get("predefinedVariables") is not None else None, "probeMode": obj.get("probeMode"), @@ -206,11 +211,11 @@ class UpdateApiTest(BaseModel): "targetTime": obj.get("targetTime"), "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, "url": obj.get("url"), - "agents": [AgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, "credentials": obj.get("credentials"), "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, - "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None + "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None, + "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_test_response.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_test_response.py new file mode 100644 index 00000000..ee798acd --- /dev/null +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_test_response.py @@ -0,0 +1,250 @@ +# coding: utf-8 + +""" + Tests API + + This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from thousandeyes_sdk.tests.models.agent_response import AgentResponse +from thousandeyes_sdk.tests.models.alert_rule import AlertRule +from thousandeyes_sdk.tests.models.api_predefined_variable import ApiPredefinedVariable +from thousandeyes_sdk.tests.models.api_request import ApiRequest +from thousandeyes_sdk.tests.models.monitor import Monitor +from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount +from thousandeyes_sdk.tests.models.test_interval import TestInterval +from thousandeyes_sdk.tests.models.test_label import TestLabel +from thousandeyes_sdk.tests.models.test_links import TestLinks +from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode +from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode +from thousandeyes_sdk.tests.models.test_protocol import TestProtocol +from thousandeyes_sdk.tests.models.test_ssl_version_id import TestSslVersionId +from typing import Optional, Set +from typing_extensions import Self + +class ApiTestResponse(BaseModel): + """ + ApiTestResponse + """ # noqa: E501 + interval: TestInterval + alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") + enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") + alert_rules: Optional[List[AlertRule]] = Field(default=None, description="Contains list of enabled alert rule objects.", alias="alertRules") + created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") + created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") + description: Optional[StrictStr] = Field(default=None, description="A description of the test.") + live_share: Optional[StrictBool] = Field(default=None, description="Indicates if the test is shared with the account group.", alias="liveShare") + modified_by: Optional[StrictStr] = Field(default=None, description="User that modified the test.", alias="modifiedBy") + modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") + saved_event: Optional[StrictBool] = Field(default=None, description="Indicates if the test is a saved event.", alias="savedEvent") + test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned an unique ID; this is used to access test information and results from other endpoints.", alias="testId") + test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") + type: Optional[StrictStr] = None + links: Optional[TestLinks] = Field(default=None, alias="_links") + labels: Optional[List[TestLabel]] = None + shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") + network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") + num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") + path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") + predefined_variables: Optional[List[ApiPredefinedVariable]] = Field(default=None, alias="predefinedVariables") + probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") + protocol: Optional[TestProtocol] = None + requests: List[ApiRequest] + ssl_version_id: Optional[TestSslVersionId] = Field(default=None, alias="sslVersionId") + target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=0)]] = Field(default=None, description="Target time for completion metric, defaults to 50% of time limit specified in seconds. (0 means default behavior)", alias="targetTime") + time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds. Exceeding this limit will result in a Timeout error.", alias="timeLimit") + url: StrictStr = Field(description="Target for the test.") + credentials: Optional[List[StrictStr]] = Field(default=None, description="Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint).") + bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") + use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") + monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") + agents: Optional[List[AgentResponse]] = Field(default=None, description="Contains list of agents.") + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "collectProxyNetworkData", "followRedirects", "mtuMeasurements", "networkMeasurements", "numPathTraces", "overrideAgentProxy", "overrideProxyId", "pathTraceMode", "predefinedVariables", "probeMode", "protocol", "requests", "sslVersionId", "targetTime", "timeLimit", "url", "credentials", "bgpMeasurements", "usePublicBgp", "monitors", "agents"] + + 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 ApiTestResponse 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. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "created_by", + "created_date", + "live_share", + "modified_by", + "modified_date", + "saved_event", + "test_id", + "type", + "labels", + "shared_with_accounts", + "monitors", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in alert_rules (list) + _items = [] + if self.alert_rules: + for _item in self.alert_rules: + if _item: + _items.append(_item.to_dict()) + _dict['alertRules'] = _items + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in labels (list) + _items = [] + if self.labels: + for _item in self.labels: + if _item: + _items.append(_item.to_dict()) + _dict['labels'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in shared_with_accounts (list) + _items = [] + if self.shared_with_accounts: + for _item in self.shared_with_accounts: + if _item: + _items.append(_item.to_dict()) + _dict['sharedWithAccounts'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in predefined_variables (list) + _items = [] + if self.predefined_variables: + for _item in self.predefined_variables: + if _item: + _items.append(_item.to_dict()) + _dict['predefinedVariables'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in requests (list) + _items = [] + if self.requests: + for _item in self.requests: + if _item: + _items.append(_item.to_dict()) + _dict['requests'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) + _items = [] + if self.monitors: + for _item in self.monitors: + if _item: + _items.append(_item.to_dict()) + _dict['monitors'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in agents (list) + _items = [] + if self.agents: + for _item in self.agents: + if _item: + _items.append(_item.to_dict()) + _dict['agents'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ApiTestResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "interval": obj.get("interval"), + "alertsEnabled": obj.get("alertsEnabled"), + "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, + "alertRules": [AlertRule.from_dict(_item) for _item in obj["alertRules"]] if obj.get("alertRules") is not None else None, + "createdBy": obj.get("createdBy"), + "createdDate": obj.get("createdDate"), + "description": obj.get("description"), + "liveShare": obj.get("liveShare"), + "modifiedBy": obj.get("modifiedBy"), + "modifiedDate": obj.get("modifiedDate"), + "savedEvent": obj.get("savedEvent"), + "testId": obj.get("testId"), + "testName": obj.get("testName"), + "type": obj.get("type"), + "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, + "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, + "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "mtuMeasurements": obj.get("mtuMeasurements"), + "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, + "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), + "pathTraceMode": obj.get("pathTraceMode"), + "predefinedVariables": [ApiPredefinedVariable.from_dict(_item) for _item in obj["predefinedVariables"]] if obj.get("predefinedVariables") is not None else None, + "probeMode": obj.get("probeMode"), + "protocol": obj.get("protocol"), + "requests": [ApiRequest.from_dict(_item) for _item in obj["requests"]] if obj.get("requests") is not None else None, + "sslVersionId": obj.get("sslVersionId"), + "targetTime": obj.get("targetTime"), + "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, + "url": obj.get("url"), + "credentials": obj.get("credentials"), + "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, + "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, + "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None, + "agents": [AgentResponse.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_tests.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_tests.py index db1423fc..decb690f 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_tests.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/api_tests.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/base_bgp_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/base_bgp_test.py index bb4d632d..66df4fde 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/base_bgp_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/base_bgp_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/base_request.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/base_request.py index b3ff7e6e..7ac0efc3 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/base_request.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/base_request.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/base_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/base_test.py index 6946e277..21ca4575 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/base_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/base_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/bgp_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/bgp_test.py index 78e532fc..080324aa 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/bgp_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/bgp_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_bgp_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/bgp_test_request.py similarity index 97% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_bgp_test.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/bgp_test_request.py index 5b1b4903..431aa3e0 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_bgp_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/bgp_test_request.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -24,9 +23,9 @@ from thousandeyes_sdk.tests.models.test_links import TestLinks from typing import Optional, Set from typing_extensions import Self -class UpdateBgpTest(BaseModel): +class BgpTestRequest(BaseModel): """ - UpdateBgpTest + BgpTestRequest """ # noqa: E501 created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") @@ -69,7 +68,7 @@ class UpdateBgpTest(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of UpdateBgpTest from a JSON string""" + """Create an instance of BgpTestRequest from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -113,7 +112,7 @@ class UpdateBgpTest(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of UpdateBgpTest from a dict""" + """Create an instance of BgpTestRequest from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/bgp_test_response.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/bgp_test_response.py new file mode 100644 index 00000000..6b923a7f --- /dev/null +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/bgp_test_response.py @@ -0,0 +1,184 @@ +# coding: utf-8 + +""" + Tests API + + This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.tests.models.alert_rule import AlertRule +from thousandeyes_sdk.tests.models.monitor import Monitor +from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount +from thousandeyes_sdk.tests.models.test_label import TestLabel +from thousandeyes_sdk.tests.models.test_links import TestLinks +from typing import Optional, Set +from typing_extensions import Self + +class BgpTestResponse(BaseModel): + """ + BgpTestResponse + """ # noqa: E501 + created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") + created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") + description: Optional[StrictStr] = Field(default=None, description="A description of the test.") + live_share: Optional[StrictBool] = Field(default=None, description="Indicates if the test is shared with the account group.", alias="liveShare") + modified_by: Optional[StrictStr] = Field(default=None, description="User that modified the test.", alias="modifiedBy") + modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") + saved_event: Optional[StrictBool] = Field(default=None, description="Indicates if the test is a saved event.", alias="savedEvent") + test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned an unique ID; this is used to access test information and results from other endpoints.", alias="testId") + test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") + type: Optional[StrictStr] = None + links: Optional[TestLinks] = Field(default=None, alias="_links") + labels: Optional[List[TestLabel]] = None + shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") + enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") + monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") + include_covered_prefixes: Optional[StrictBool] = Field(default=None, description="Indicate if queries for subprefixes detected under this prefix should included.", alias="includeCoveredPrefixes") + use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") + alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") + alert_rules: Optional[List[AlertRule]] = Field(default=None, description="A list of enabled alert rule objects.", alias="alertRules") + prefix: StrictStr = Field(description="a.b.c.d is a network address, with the prefix length defined as e. Prefixes can be any length from 8 to 24.") + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "enabled", "monitors", "includeCoveredPrefixes", "usePublicBgp", "alertsEnabled", "alertRules", "prefix"] + + 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 BgpTestResponse 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. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "created_by", + "created_date", + "live_share", + "modified_by", + "modified_date", + "saved_event", + "test_id", + "type", + "labels", + "shared_with_accounts", + "monitors", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in labels (list) + _items = [] + if self.labels: + for _item in self.labels: + if _item: + _items.append(_item.to_dict()) + _dict['labels'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in shared_with_accounts (list) + _items = [] + if self.shared_with_accounts: + for _item in self.shared_with_accounts: + if _item: + _items.append(_item.to_dict()) + _dict['sharedWithAccounts'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) + _items = [] + if self.monitors: + for _item in self.monitors: + if _item: + _items.append(_item.to_dict()) + _dict['monitors'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in alert_rules (list) + _items = [] + if self.alert_rules: + for _item in self.alert_rules: + if _item: + _items.append(_item.to_dict()) + _dict['alertRules'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of BgpTestResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "createdBy": obj.get("createdBy"), + "createdDate": obj.get("createdDate"), + "description": obj.get("description"), + "liveShare": obj.get("liveShare"), + "modifiedBy": obj.get("modifiedBy"), + "modifiedDate": obj.get("modifiedDate"), + "savedEvent": obj.get("savedEvent"), + "testId": obj.get("testId"), + "testName": obj.get("testName"), + "type": obj.get("type"), + "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, + "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, + "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, + "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, + "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None, + "includeCoveredPrefixes": obj.get("includeCoveredPrefixes"), + "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, + "alertsEnabled": obj.get("alertsEnabled"), + "alertRules": [AlertRule.from_dict(_item) for _item in obj["alertRules"]] if obj.get("alertRules") is not None else None, + "prefix": obj.get("prefix") + }) + return _obj + + diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/bgp_tests.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/bgp_tests.py index eb5f2b59..10e1e68e 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/bgp_tests.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/bgp_tests.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/cloud_enterprise_agent_type.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/cloud_enterprise_agent_type.py index 495fa785..0dff6f4c 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/cloud_enterprise_agent_type.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/cloud_enterprise_agent_type.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class CloudEnterpriseAgentType(str, Enum): CLOUD = 'cloud' ENTERPRISE_MINUS_CLUSTER = 'enterprise-cluster' ENTERPRISE = 'enterprise' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of CloudEnterpriseAgentType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_query_class.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_query_class.py index de1c3a63..03142368 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_query_class.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_query_class.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class DnsQueryClass(str, Enum): """ IN = 'in' CH = 'ch' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of DnsQueryClass from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_sec_instant_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_sec_instant_test.py index 13c2fb6c..22a5bb32 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_sec_instant_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_sec_instant_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,7 +19,6 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.tests.models.agent import Agent from thousandeyes_sdk.tests.models.dns_query_class import DnsQueryClass from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount from thousandeyes_sdk.tests.models.test_label import TestLabel @@ -47,8 +45,7 @@ class DnsSecInstantTest(BaseModel): shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") domain: StrictStr = Field(description="The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record.") dns_query_class: Optional[DnsQueryClass] = Field(default=None, alias="dnsQueryClass") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "domain", "dnsQueryClass", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "domain", "dnsQueryClass"] model_config = ConfigDict( populate_by_name=True, @@ -91,7 +88,6 @@ class DnsSecInstantTest(BaseModel): * 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([ "created_by", @@ -104,7 +100,6 @@ class DnsSecInstantTest(BaseModel): "type", "labels", "shared_with_accounts", - "agents", ]) _dict = self.model_dump( @@ -129,13 +124,6 @@ class DnsSecInstantTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['sharedWithAccounts'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items return _dict @classmethod @@ -162,8 +150,7 @@ class DnsSecInstantTest(BaseModel): "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, "domain": obj.get("domain"), - "dnsQueryClass": obj.get("dnsQueryClass"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "dnsQueryClass": obj.get("dnsQueryClass") }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_sec_properties.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_sec_properties.py index 104eaf01..cb76aaaf 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_sec_properties.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_sec_properties.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_sec_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_sec_test.py index 0e009138..2636ccd4 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_sec_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_sec_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,7 +19,6 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.tests.models.agent import Agent from thousandeyes_sdk.tests.models.alert_rule import AlertRule from thousandeyes_sdk.tests.models.dns_query_class import DnsQueryClass from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount @@ -53,8 +51,7 @@ class DnsSecTest(BaseModel): shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") domain: StrictStr = Field(description="The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record.") dns_query_class: Optional[DnsQueryClass] = Field(default=None, alias="dnsQueryClass") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "domain", "dnsQueryClass", "agents"] + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "domain", "dnsQueryClass"] model_config = ConfigDict( populate_by_name=True, @@ -97,7 +94,6 @@ class DnsSecTest(BaseModel): * 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([ "created_by", @@ -110,7 +106,6 @@ class DnsSecTest(BaseModel): "type", "labels", "shared_with_accounts", - "agents", ]) _dict = self.model_dump( @@ -142,13 +137,6 @@ class DnsSecTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['sharedWithAccounts'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items return _dict @classmethod @@ -179,8 +167,7 @@ class DnsSecTest(BaseModel): "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, "domain": obj.get("domain"), - "dnsQueryClass": obj.get("dnsQueryClass"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "dnsQueryClass": obj.get("dnsQueryClass") }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_dns_sec_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_sec_test_request.py similarity index 93% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_dns_sec_test.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_sec_test_request.py index fd99def6..99ee7006 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_dns_sec_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_sec_test_request.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,16 +19,16 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.tests.models.agent_request import AgentRequest from thousandeyes_sdk.tests.models.dns_query_class import DnsQueryClass +from thousandeyes_sdk.tests.models.test_agent_request import TestAgentRequest from thousandeyes_sdk.tests.models.test_interval import TestInterval from thousandeyes_sdk.tests.models.test_links import TestLinks from typing import Optional, Set from typing_extensions import Self -class UpdateDnsSecTest(BaseModel): +class DnsSecTestRequest(BaseModel): """ - UpdateDnsSecTest + DnsSecTestRequest """ # noqa: E501 interval: TestInterval alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") @@ -50,7 +49,7 @@ class UpdateDnsSecTest(BaseModel): shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") domain: StrictStr = Field(description="The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record.") dns_query_class: Optional[DnsQueryClass] = Field(default=None, alias="dnsQueryClass") - agents: Optional[List[AgentRequest]] = None + agents: List[TestAgentRequest] = Field(description="Contains list of Agent IDs (get `agentId` from `/agents` endpoint).") __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "domain", "dnsQueryClass", "agents"] model_config = ConfigDict( @@ -72,7 +71,7 @@ class UpdateDnsSecTest(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of UpdateDnsSecTest from a JSON string""" + """Create an instance of DnsSecTestRequest from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -123,7 +122,7 @@ class UpdateDnsSecTest(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of UpdateDnsSecTest from a dict""" + """Create an instance of DnsSecTestRequest from a dict""" if obj is None: return None @@ -150,7 +149,7 @@ class UpdateDnsSecTest(BaseModel): "sharedWithAccounts": obj.get("sharedWithAccounts"), "domain": obj.get("domain"), "dnsQueryClass": obj.get("dnsQueryClass"), - "agents": [AgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_sec_test_response.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_sec_test_response.py new file mode 100644 index 00000000..8971e2f8 --- /dev/null +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_sec_test_response.py @@ -0,0 +1,184 @@ +# coding: utf-8 + +""" + Tests API + + This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.tests.models.agent_response import AgentResponse +from thousandeyes_sdk.tests.models.alert_rule import AlertRule +from thousandeyes_sdk.tests.models.dns_query_class import DnsQueryClass +from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount +from thousandeyes_sdk.tests.models.test_interval import TestInterval +from thousandeyes_sdk.tests.models.test_label import TestLabel +from thousandeyes_sdk.tests.models.test_links import TestLinks +from typing import Optional, Set +from typing_extensions import Self + +class DnsSecTestResponse(BaseModel): + """ + DnsSecTestResponse + """ # noqa: E501 + interval: TestInterval + alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") + enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") + alert_rules: Optional[List[AlertRule]] = Field(default=None, description="Contains list of enabled alert rule objects.", alias="alertRules") + created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") + created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") + description: Optional[StrictStr] = Field(default=None, description="A description of the test.") + live_share: Optional[StrictBool] = Field(default=None, description="Indicates if the test is shared with the account group.", alias="liveShare") + modified_by: Optional[StrictStr] = Field(default=None, description="User that modified the test.", alias="modifiedBy") + modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") + saved_event: Optional[StrictBool] = Field(default=None, description="Indicates if the test is a saved event.", alias="savedEvent") + test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned an unique ID; this is used to access test information and results from other endpoints.", alias="testId") + test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") + type: Optional[StrictStr] = None + links: Optional[TestLinks] = Field(default=None, alias="_links") + labels: Optional[List[TestLabel]] = None + shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") + domain: StrictStr = Field(description="The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record.") + dns_query_class: Optional[DnsQueryClass] = Field(default=None, alias="dnsQueryClass") + agents: Optional[List[AgentResponse]] = Field(default=None, description="Contains list of agents.") + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "domain", "dnsQueryClass", "agents"] + + 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 DnsSecTestResponse 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. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "created_by", + "created_date", + "live_share", + "modified_by", + "modified_date", + "saved_event", + "test_id", + "type", + "labels", + "shared_with_accounts", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in alert_rules (list) + _items = [] + if self.alert_rules: + for _item in self.alert_rules: + if _item: + _items.append(_item.to_dict()) + _dict['alertRules'] = _items + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in labels (list) + _items = [] + if self.labels: + for _item in self.labels: + if _item: + _items.append(_item.to_dict()) + _dict['labels'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in shared_with_accounts (list) + _items = [] + if self.shared_with_accounts: + for _item in self.shared_with_accounts: + if _item: + _items.append(_item.to_dict()) + _dict['sharedWithAccounts'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in agents (list) + _items = [] + if self.agents: + for _item in self.agents: + if _item: + _items.append(_item.to_dict()) + _dict['agents'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DnsSecTestResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "interval": obj.get("interval"), + "alertsEnabled": obj.get("alertsEnabled"), + "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, + "alertRules": [AlertRule.from_dict(_item) for _item in obj["alertRules"]] if obj.get("alertRules") is not None else None, + "createdBy": obj.get("createdBy"), + "createdDate": obj.get("createdDate"), + "description": obj.get("description"), + "liveShare": obj.get("liveShare"), + "modifiedBy": obj.get("modifiedBy"), + "modifiedDate": obj.get("modifiedDate"), + "savedEvent": obj.get("savedEvent"), + "testId": obj.get("testId"), + "testName": obj.get("testName"), + "type": obj.get("type"), + "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, + "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, + "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, + "domain": obj.get("domain"), + "dnsQueryClass": obj.get("dnsQueryClass"), + "agents": [AgentResponse.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_sec_tests.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_sec_tests.py index 04f65cb3..03697dd1 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_sec_tests.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_sec_tests.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_server_instant_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_server_instant_test.py index 2d725f31..6aab01d7 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_server_instant_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_server_instant_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,7 +20,6 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent import Agent from thousandeyes_sdk.tests.models.dns_query_class import DnsQueryClass from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount from thousandeyes_sdk.tests.models.test_dns_server import TestDnsServer @@ -66,8 +64,7 @@ class DnsServerInstantTest(BaseModel): ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") dns_query_class: Optional[DnsQueryClass] = Field(default=None, alias="dnsQueryClass") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "dnsServers", "dnsTransportProtocol", "domain", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pathTraceMode", "probeMode", "protocol", "recursiveQueries", "ipv6Policy", "fixedPacketRate", "dnsQueryClass", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "dnsServers", "dnsTransportProtocol", "domain", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pathTraceMode", "probeMode", "protocol", "recursiveQueries", "ipv6Policy", "fixedPacketRate", "dnsQueryClass"] model_config = ConfigDict( populate_by_name=True, @@ -110,7 +107,6 @@ class DnsServerInstantTest(BaseModel): * 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([ "created_by", @@ -123,7 +119,6 @@ class DnsServerInstantTest(BaseModel): "type", "labels", "shared_with_accounts", - "agents", ]) _dict = self.model_dump( @@ -155,13 +150,6 @@ class DnsServerInstantTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['dnsServers'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items return _dict @classmethod @@ -200,8 +188,7 @@ class DnsServerInstantTest(BaseModel): "recursiveQueries": obj.get("recursiveQueries"), "ipv6Policy": obj.get("ipv6Policy"), "fixedPacketRate": obj.get("fixedPacketRate"), - "dnsQueryClass": obj.get("dnsQueryClass"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "dnsQueryClass": obj.get("dnsQueryClass") }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_server_properties.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_server_properties.py index e3a6b2c9..53cc35c2 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_server_properties.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_server_properties.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_server_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_server_test.py index 7f2bef35..508c8c22 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_server_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_server_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,7 +20,6 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent import Agent from thousandeyes_sdk.tests.models.alert_rule import AlertRule from thousandeyes_sdk.tests.models.dns_query_class import DnsQueryClass from thousandeyes_sdk.tests.models.monitor import Monitor @@ -73,11 +71,10 @@ class DnsServerTest(BaseModel): ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") dns_query_class: Optional[DnsQueryClass] = Field(default=None, alias="dnsQueryClass") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "dnsServers", "dnsTransportProtocol", "domain", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pathTraceMode", "probeMode", "protocol", "recursiveQueries", "ipv6Policy", "fixedPacketRate", "dnsQueryClass", "agents", "bgpMeasurements", "usePublicBgp", "monitors"] + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "dnsServers", "dnsTransportProtocol", "domain", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pathTraceMode", "probeMode", "protocol", "recursiveQueries", "ipv6Policy", "fixedPacketRate", "dnsQueryClass", "bgpMeasurements", "usePublicBgp", "monitors"] model_config = ConfigDict( populate_by_name=True, @@ -121,7 +118,6 @@ class DnsServerTest(BaseModel): * 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([ "created_by", @@ -134,7 +130,6 @@ class DnsServerTest(BaseModel): "type", "labels", "shared_with_accounts", - "agents", "monitors", ]) @@ -174,13 +169,6 @@ class DnsServerTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['dnsServers'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) _items = [] if self.monitors: @@ -231,7 +219,6 @@ class DnsServerTest(BaseModel): "ipv6Policy": obj.get("ipv6Policy"), "fixedPacketRate": obj.get("fixedPacketRate"), "dnsQueryClass": obj.get("dnsQueryClass"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_dns_server_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_server_test_request.py similarity index 94% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_dns_server_test.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_server_test_request.py index ee8cec95..1f05ae95 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_dns_server_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_server_test_request.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,8 +20,8 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent_request import AgentRequest from thousandeyes_sdk.tests.models.dns_query_class import DnsQueryClass +from thousandeyes_sdk.tests.models.test_agent_request import TestAgentRequest from thousandeyes_sdk.tests.models.test_dns_transport_protocol import TestDnsTransportProtocol from thousandeyes_sdk.tests.models.test_interval import TestInterval from thousandeyes_sdk.tests.models.test_ipv6_policy import TestIpv6Policy @@ -33,9 +32,9 @@ from thousandeyes_sdk.tests.models.test_protocol import TestProtocol from typing import Optional, Set from typing_extensions import Self -class UpdateDnsServerTest(BaseModel): +class DnsServerTestRequest(BaseModel): """ - UpdateDnsServerTest + DnsServerTestRequest """ # noqa: E501 interval: TestInterval alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") @@ -68,11 +67,11 @@ class UpdateDnsServerTest(BaseModel): ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") dns_query_class: Optional[DnsQueryClass] = Field(default=None, alias="dnsQueryClass") - agents: Optional[List[AgentRequest]] = None bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") monitors: Optional[List[StrictStr]] = Field(default=None, description="Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint)") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "dnsServers", "dnsTransportProtocol", "domain", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pathTraceMode", "probeMode", "protocol", "recursiveQueries", "ipv6Policy", "fixedPacketRate", "dnsQueryClass", "agents", "bgpMeasurements", "usePublicBgp", "monitors"] + agents: List[TestAgentRequest] = Field(description="Contains list of Agent IDs (get `agentId` from `/agents` endpoint).") + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "dnsServers", "dnsTransportProtocol", "domain", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pathTraceMode", "probeMode", "protocol", "recursiveQueries", "ipv6Policy", "fixedPacketRate", "dnsQueryClass", "bgpMeasurements", "usePublicBgp", "monitors", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -93,7 +92,7 @@ class UpdateDnsServerTest(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of UpdateDnsServerTest from a JSON string""" + """Create an instance of DnsServerTestRequest from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -144,7 +143,7 @@ class UpdateDnsServerTest(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of UpdateDnsServerTest from a dict""" + """Create an instance of DnsServerTestRequest from a dict""" if obj is None: return None @@ -183,10 +182,10 @@ class UpdateDnsServerTest(BaseModel): "ipv6Policy": obj.get("ipv6Policy"), "fixedPacketRate": obj.get("fixedPacketRate"), "dnsQueryClass": obj.get("dnsQueryClass"), - "agents": [AgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, - "monitors": obj.get("monitors") + "monitors": obj.get("monitors"), + "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_server_test_response.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_server_test_response.py new file mode 100644 index 00000000..d84a9dd8 --- /dev/null +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_server_test_response.py @@ -0,0 +1,238 @@ +# coding: utf-8 + +""" + Tests API + + This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from thousandeyes_sdk.tests.models.agent_response import AgentResponse +from thousandeyes_sdk.tests.models.alert_rule import AlertRule +from thousandeyes_sdk.tests.models.dns_query_class import DnsQueryClass +from thousandeyes_sdk.tests.models.monitor import Monitor +from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount +from thousandeyes_sdk.tests.models.test_dns_server import TestDnsServer +from thousandeyes_sdk.tests.models.test_dns_transport_protocol import TestDnsTransportProtocol +from thousandeyes_sdk.tests.models.test_interval import TestInterval +from thousandeyes_sdk.tests.models.test_ipv6_policy import TestIpv6Policy +from thousandeyes_sdk.tests.models.test_label import TestLabel +from thousandeyes_sdk.tests.models.test_links import TestLinks +from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode +from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode +from thousandeyes_sdk.tests.models.test_protocol import TestProtocol +from typing import Optional, Set +from typing_extensions import Self + +class DnsServerTestResponse(BaseModel): + """ + DnsServerTestResponse + """ # noqa: E501 + interval: TestInterval + alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") + enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") + alert_rules: Optional[List[AlertRule]] = Field(default=None, description="Contains list of enabled alert rule objects.", alias="alertRules") + created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") + created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") + description: Optional[StrictStr] = Field(default=None, description="A description of the test.") + live_share: Optional[StrictBool] = Field(default=None, description="Indicates if the test is shared with the account group.", alias="liveShare") + modified_by: Optional[StrictStr] = Field(default=None, description="User that modified the test.", alias="modifiedBy") + modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") + saved_event: Optional[StrictBool] = Field(default=None, description="Indicates if the test is a saved event.", alias="savedEvent") + test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned an unique ID; this is used to access test information and results from other endpoints.", alias="testId") + test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") + type: Optional[StrictStr] = None + links: Optional[TestLinks] = Field(default=None, alias="_links") + labels: Optional[List[TestLabel]] = None + shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") + bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") + dns_servers: List[TestDnsServer] = Field(alias="dnsServers") + dns_transport_protocol: Optional[TestDnsTransportProtocol] = Field(default=None, alias="dnsTransportProtocol") + domain: StrictStr = Field(description="The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record.") + mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") + network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") + num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") + probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") + protocol: Optional[TestProtocol] = None + recursive_queries: Optional[StrictBool] = Field(default=None, description="Set true to run query with RD (recursion desired) flag enabled.", alias="recursiveQueries") + ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + dns_query_class: Optional[DnsQueryClass] = Field(default=None, alias="dnsQueryClass") + bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") + use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") + monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") + agents: Optional[List[AgentResponse]] = Field(default=None, description="Contains list of agents.") + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "dnsServers", "dnsTransportProtocol", "domain", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pathTraceMode", "probeMode", "protocol", "recursiveQueries", "ipv6Policy", "fixedPacketRate", "dnsQueryClass", "bgpMeasurements", "usePublicBgp", "monitors", "agents"] + + 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 DnsServerTestResponse 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. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "created_by", + "created_date", + "live_share", + "modified_by", + "modified_date", + "saved_event", + "test_id", + "type", + "labels", + "shared_with_accounts", + "monitors", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in alert_rules (list) + _items = [] + if self.alert_rules: + for _item in self.alert_rules: + if _item: + _items.append(_item.to_dict()) + _dict['alertRules'] = _items + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in labels (list) + _items = [] + if self.labels: + for _item in self.labels: + if _item: + _items.append(_item.to_dict()) + _dict['labels'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in shared_with_accounts (list) + _items = [] + if self.shared_with_accounts: + for _item in self.shared_with_accounts: + if _item: + _items.append(_item.to_dict()) + _dict['sharedWithAccounts'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in dns_servers (list) + _items = [] + if self.dns_servers: + for _item in self.dns_servers: + if _item: + _items.append(_item.to_dict()) + _dict['dnsServers'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) + _items = [] + if self.monitors: + for _item in self.monitors: + if _item: + _items.append(_item.to_dict()) + _dict['monitors'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in agents (list) + _items = [] + if self.agents: + for _item in self.agents: + if _item: + _items.append(_item.to_dict()) + _dict['agents'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DnsServerTestResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "interval": obj.get("interval"), + "alertsEnabled": obj.get("alertsEnabled"), + "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, + "alertRules": [AlertRule.from_dict(_item) for _item in obj["alertRules"]] if obj.get("alertRules") is not None else None, + "createdBy": obj.get("createdBy"), + "createdDate": obj.get("createdDate"), + "description": obj.get("description"), + "liveShare": obj.get("liveShare"), + "modifiedBy": obj.get("modifiedBy"), + "modifiedDate": obj.get("modifiedDate"), + "savedEvent": obj.get("savedEvent"), + "testId": obj.get("testId"), + "testName": obj.get("testName"), + "type": obj.get("type"), + "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, + "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, + "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, + "bandwidthMeasurements": obj.get("bandwidthMeasurements"), + "dnsServers": [TestDnsServer.from_dict(_item) for _item in obj["dnsServers"]] if obj.get("dnsServers") is not None else None, + "dnsTransportProtocol": obj.get("dnsTransportProtocol"), + "domain": obj.get("domain"), + "mtuMeasurements": obj.get("mtuMeasurements"), + "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, + "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "pathTraceMode": obj.get("pathTraceMode"), + "probeMode": obj.get("probeMode"), + "protocol": obj.get("protocol"), + "recursiveQueries": obj.get("recursiveQueries"), + "ipv6Policy": obj.get("ipv6Policy"), + "fixedPacketRate": obj.get("fixedPacketRate"), + "dnsQueryClass": obj.get("dnsQueryClass"), + "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, + "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, + "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None, + "agents": [AgentResponse.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_server_tests.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_server_tests.py index c8212503..e182d00e 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_server_tests.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_server_tests.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_servers_request.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_servers_request.py index 39d5714d..5d058c99 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_servers_request.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_servers_request.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_trace_instant_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_trace_instant_test.py index 8a671f77..41219e5b 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_trace_instant_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_trace_instant_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,7 +19,6 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.tests.models.agent import Agent from thousandeyes_sdk.tests.models.dns_query_class import DnsQueryClass from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount from thousandeyes_sdk.tests.models.test_dns_transport_protocol import TestDnsTransportProtocol @@ -49,8 +47,7 @@ class DnsTraceInstantTest(BaseModel): dns_transport_protocol: Optional[TestDnsTransportProtocol] = Field(default=None, alias="dnsTransportProtocol") domain: StrictStr = Field(description="The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record.") dns_query_class: Optional[DnsQueryClass] = Field(default=None, alias="dnsQueryClass") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "dnsTransportProtocol", "domain", "dnsQueryClass", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "dnsTransportProtocol", "domain", "dnsQueryClass"] model_config = ConfigDict( populate_by_name=True, @@ -93,7 +90,6 @@ class DnsTraceInstantTest(BaseModel): * 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([ "created_by", @@ -106,7 +102,6 @@ class DnsTraceInstantTest(BaseModel): "type", "labels", "shared_with_accounts", - "agents", ]) _dict = self.model_dump( @@ -131,13 +126,6 @@ class DnsTraceInstantTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['sharedWithAccounts'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items return _dict @classmethod @@ -165,8 +153,7 @@ class DnsTraceInstantTest(BaseModel): "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, "dnsTransportProtocol": obj.get("dnsTransportProtocol"), "domain": obj.get("domain"), - "dnsQueryClass": obj.get("dnsQueryClass"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "dnsQueryClass": obj.get("dnsQueryClass") }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_trace_properties.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_trace_properties.py index 7cb19d11..2d2e268c 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_trace_properties.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_trace_properties.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_trace_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_trace_test.py index 88a36e7f..29318fb1 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_trace_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_trace_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,7 +19,6 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.tests.models.agent import Agent from thousandeyes_sdk.tests.models.alert_rule import AlertRule from thousandeyes_sdk.tests.models.dns_query_class import DnsQueryClass from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount @@ -55,8 +53,7 @@ class DnsTraceTest(BaseModel): dns_transport_protocol: Optional[TestDnsTransportProtocol] = Field(default=None, alias="dnsTransportProtocol") domain: StrictStr = Field(description="The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record.") dns_query_class: Optional[DnsQueryClass] = Field(default=None, alias="dnsQueryClass") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "dnsTransportProtocol", "domain", "dnsQueryClass", "agents"] + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "dnsTransportProtocol", "domain", "dnsQueryClass"] model_config = ConfigDict( populate_by_name=True, @@ -99,7 +96,6 @@ class DnsTraceTest(BaseModel): * 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([ "created_by", @@ -112,7 +108,6 @@ class DnsTraceTest(BaseModel): "type", "labels", "shared_with_accounts", - "agents", ]) _dict = self.model_dump( @@ -144,13 +139,6 @@ class DnsTraceTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['sharedWithAccounts'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items return _dict @classmethod @@ -182,8 +170,7 @@ class DnsTraceTest(BaseModel): "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, "dnsTransportProtocol": obj.get("dnsTransportProtocol"), "domain": obj.get("domain"), - "dnsQueryClass": obj.get("dnsQueryClass"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "dnsQueryClass": obj.get("dnsQueryClass") }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_dns_trace_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_trace_test_request.py similarity index 93% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_dns_trace_test.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_trace_test_request.py index 24bdc118..95a82802 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_dns_trace_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_trace_test_request.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,17 +19,17 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.tests.models.agent_request import AgentRequest from thousandeyes_sdk.tests.models.dns_query_class import DnsQueryClass +from thousandeyes_sdk.tests.models.test_agent_request import TestAgentRequest from thousandeyes_sdk.tests.models.test_dns_transport_protocol import TestDnsTransportProtocol from thousandeyes_sdk.tests.models.test_interval import TestInterval from thousandeyes_sdk.tests.models.test_links import TestLinks from typing import Optional, Set from typing_extensions import Self -class UpdateDnsTraceTest(BaseModel): +class DnsTraceTestRequest(BaseModel): """ - UpdateDnsTraceTest + DnsTraceTestRequest """ # noqa: E501 interval: TestInterval alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") @@ -52,7 +51,7 @@ class UpdateDnsTraceTest(BaseModel): dns_transport_protocol: Optional[TestDnsTransportProtocol] = Field(default=None, alias="dnsTransportProtocol") domain: StrictStr = Field(description="The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record.") dns_query_class: Optional[DnsQueryClass] = Field(default=None, alias="dnsQueryClass") - agents: Optional[List[AgentRequest]] = None + agents: List[TestAgentRequest] = Field(description="Contains list of Agent IDs (get `agentId` from `/agents` endpoint).") __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "dnsTransportProtocol", "domain", "dnsQueryClass", "agents"] model_config = ConfigDict( @@ -74,7 +73,7 @@ class UpdateDnsTraceTest(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of UpdateDnsTraceTest from a JSON string""" + """Create an instance of DnsTraceTestRequest from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -125,7 +124,7 @@ class UpdateDnsTraceTest(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of UpdateDnsTraceTest from a dict""" + """Create an instance of DnsTraceTestRequest from a dict""" if obj is None: return None @@ -153,7 +152,7 @@ class UpdateDnsTraceTest(BaseModel): "dnsTransportProtocol": obj.get("dnsTransportProtocol"), "domain": obj.get("domain"), "dnsQueryClass": obj.get("dnsQueryClass"), - "agents": [AgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_trace_test_response.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_trace_test_response.py new file mode 100644 index 00000000..e6ca01cb --- /dev/null +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_trace_test_response.py @@ -0,0 +1,187 @@ +# coding: utf-8 + +""" + Tests API + + This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.tests.models.agent_response import AgentResponse +from thousandeyes_sdk.tests.models.alert_rule import AlertRule +from thousandeyes_sdk.tests.models.dns_query_class import DnsQueryClass +from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount +from thousandeyes_sdk.tests.models.test_dns_transport_protocol import TestDnsTransportProtocol +from thousandeyes_sdk.tests.models.test_interval import TestInterval +from thousandeyes_sdk.tests.models.test_label import TestLabel +from thousandeyes_sdk.tests.models.test_links import TestLinks +from typing import Optional, Set +from typing_extensions import Self + +class DnsTraceTestResponse(BaseModel): + """ + DnsTraceTestResponse + """ # noqa: E501 + interval: TestInterval + alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") + enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") + alert_rules: Optional[List[AlertRule]] = Field(default=None, description="Contains list of enabled alert rule objects.", alias="alertRules") + created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") + created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") + description: Optional[StrictStr] = Field(default=None, description="A description of the test.") + live_share: Optional[StrictBool] = Field(default=None, description="Indicates if the test is shared with the account group.", alias="liveShare") + modified_by: Optional[StrictStr] = Field(default=None, description="User that modified the test.", alias="modifiedBy") + modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") + saved_event: Optional[StrictBool] = Field(default=None, description="Indicates if the test is a saved event.", alias="savedEvent") + test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned an unique ID; this is used to access test information and results from other endpoints.", alias="testId") + test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") + type: Optional[StrictStr] = None + links: Optional[TestLinks] = Field(default=None, alias="_links") + labels: Optional[List[TestLabel]] = None + shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") + dns_transport_protocol: Optional[TestDnsTransportProtocol] = Field(default=None, alias="dnsTransportProtocol") + domain: StrictStr = Field(description="The target record for the test, with the record type suffixed. If no record type is specified, the test defaults to an ANY record.") + dns_query_class: Optional[DnsQueryClass] = Field(default=None, alias="dnsQueryClass") + agents: Optional[List[AgentResponse]] = Field(default=None, description="Contains list of agents.") + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "dnsTransportProtocol", "domain", "dnsQueryClass", "agents"] + + 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 DnsTraceTestResponse 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. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "created_by", + "created_date", + "live_share", + "modified_by", + "modified_date", + "saved_event", + "test_id", + "type", + "labels", + "shared_with_accounts", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in alert_rules (list) + _items = [] + if self.alert_rules: + for _item in self.alert_rules: + if _item: + _items.append(_item.to_dict()) + _dict['alertRules'] = _items + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in labels (list) + _items = [] + if self.labels: + for _item in self.labels: + if _item: + _items.append(_item.to_dict()) + _dict['labels'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in shared_with_accounts (list) + _items = [] + if self.shared_with_accounts: + for _item in self.shared_with_accounts: + if _item: + _items.append(_item.to_dict()) + _dict['sharedWithAccounts'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in agents (list) + _items = [] + if self.agents: + for _item in self.agents: + if _item: + _items.append(_item.to_dict()) + _dict['agents'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of DnsTraceTestResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "interval": obj.get("interval"), + "alertsEnabled": obj.get("alertsEnabled"), + "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, + "alertRules": [AlertRule.from_dict(_item) for _item in obj["alertRules"]] if obj.get("alertRules") is not None else None, + "createdBy": obj.get("createdBy"), + "createdDate": obj.get("createdDate"), + "description": obj.get("description"), + "liveShare": obj.get("liveShare"), + "modifiedBy": obj.get("modifiedBy"), + "modifiedDate": obj.get("modifiedDate"), + "savedEvent": obj.get("savedEvent"), + "testId": obj.get("testId"), + "testName": obj.get("testName"), + "type": obj.get("type"), + "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, + "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, + "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, + "dnsTransportProtocol": obj.get("dnsTransportProtocol"), + "domain": obj.get("domain"), + "dnsQueryClass": obj.get("dnsQueryClass"), + "agents": [AgentResponse.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_trace_tests.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_trace_tests.py index 6ef8a097..f63dee23 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_trace_tests.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/dns_trace_tests.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/error.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/error.py index e0e96325..ecb4e66a 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/error.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/error.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/expand_bgp_test_options.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/expand_bgp_test_options.py new file mode 100644 index 00000000..8449e995 --- /dev/null +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/expand_bgp_test_options.py @@ -0,0 +1,43 @@ +# coding: utf-8 + +""" + Tests API + + This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. + + 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 ExpandBgpTestOptions(str, Enum): + """ + ExpandBgpTestOptions + """ + + """ + allowed enum values + """ + ALERT_MINUS_RULE = 'alert-rule' + MONITOR = 'monitor' + LABEL = 'label' + SHARED_MINUS_WITH_MINUS_ACCOUNT = 'shared-with-account' + UNKNOWN = 'unknown' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ExpandBgpTestOptions from a JSON string""" + return cls(json.loads(json_str)) + + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN + diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/expand.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/expand_test_options.py similarity index 72% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/expand.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/expand_test_options.py index 47bb7b63..c97e0b96 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/expand.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/expand_test_options.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -18,9 +17,9 @@ from enum import Enum from typing_extensions import Self -class Expand(str, Enum): +class ExpandTestOptions(str, Enum): """ - Expand + ExpandTestOptions """ """ @@ -31,10 +30,15 @@ class Expand(str, Enum): MONITOR = 'monitor' LABEL = 'label' SHARED_MINUS_WITH_MINUS_ACCOUNT = 'shared-with-account' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: - """Create an instance of Expand from a JSON string""" + """Create an instance of ExpandTestOptions from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/ftp_server_instant_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/ftp_server_instant_test.py index 3b04c013..2c19fbda 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/ftp_server_instant_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/ftp_server_instant_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,7 +20,6 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent import Agent from thousandeyes_sdk.tests.models.ftp_server_request_type import FtpServerRequestType from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount from thousandeyes_sdk.tests.models.test_ipv6_policy import TestIpv6Policy @@ -68,8 +66,7 @@ class FtpServerInstantTest(BaseModel): username: StrictStr = Field(description="Username for Basic/NTLM authentication.") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "downloadLimit", "ftpTargetTime", "ftpTimeLimit", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "probeMode", "protocol", "requestType", "url", "useActiveFtp", "useExplicitFtps", "username", "fixedPacketRate", "ipv6Policy", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "downloadLimit", "ftpTargetTime", "ftpTimeLimit", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "probeMode", "protocol", "requestType", "url", "useActiveFtp", "useExplicitFtps", "username", "fixedPacketRate", "ipv6Policy"] model_config = ConfigDict( populate_by_name=True, @@ -112,7 +109,6 @@ class FtpServerInstantTest(BaseModel): * 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([ "created_by", @@ -125,7 +121,6 @@ class FtpServerInstantTest(BaseModel): "type", "labels", "shared_with_accounts", - "agents", ]) _dict = self.model_dump( @@ -150,13 +145,6 @@ class FtpServerInstantTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['sharedWithAccounts'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items return _dict @classmethod @@ -199,8 +187,7 @@ class FtpServerInstantTest(BaseModel): "useExplicitFtps": obj.get("useExplicitFtps"), "username": obj.get("username"), "fixedPacketRate": obj.get("fixedPacketRate"), - "ipv6Policy": obj.get("ipv6Policy"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "ipv6Policy": obj.get("ipv6Policy") }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/ftp_server_properties.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/ftp_server_properties.py index 68f061d1..a8a6833b 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/ftp_server_properties.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/ftp_server_properties.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/ftp_server_request_type.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/ftp_server_request_type.py index b29a0859..292dad7f 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/ftp_server_request_type.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/ftp_server_request_type.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class FtpServerRequestType(str, Enum): DOWNLOAD = 'download' UPLOAD = 'upload' LIST = 'list' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of FtpServerRequestType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/ftp_server_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/ftp_server_test.py index 6462b123..dc9addfd 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/ftp_server_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/ftp_server_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,7 +20,6 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent import Agent from thousandeyes_sdk.tests.models.alert_rule import AlertRule from thousandeyes_sdk.tests.models.ftp_server_request_type import FtpServerRequestType from thousandeyes_sdk.tests.models.monitor import Monitor @@ -75,11 +73,10 @@ class FtpServerTest(BaseModel): username: StrictStr = Field(description="Username for Basic/NTLM authentication.") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "downloadLimit", "ftpTargetTime", "ftpTimeLimit", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "probeMode", "protocol", "requestType", "url", "useActiveFtp", "useExplicitFtps", "username", "fixedPacketRate", "ipv6Policy", "agents", "bgpMeasurements", "usePublicBgp", "monitors"] + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "downloadLimit", "ftpTargetTime", "ftpTimeLimit", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "probeMode", "protocol", "requestType", "url", "useActiveFtp", "useExplicitFtps", "username", "fixedPacketRate", "ipv6Policy", "bgpMeasurements", "usePublicBgp", "monitors"] model_config = ConfigDict( populate_by_name=True, @@ -123,7 +120,6 @@ class FtpServerTest(BaseModel): * 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([ "created_by", @@ -136,7 +132,6 @@ class FtpServerTest(BaseModel): "type", "labels", "shared_with_accounts", - "agents", "monitors", ]) @@ -169,13 +164,6 @@ class FtpServerTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['sharedWithAccounts'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) _items = [] if self.monitors: @@ -230,7 +218,6 @@ class FtpServerTest(BaseModel): "username": obj.get("username"), "fixedPacketRate": obj.get("fixedPacketRate"), "ipv6Policy": obj.get("ipv6Policy"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_ftp_server_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/ftp_server_test_request.py similarity index 94% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_ftp_server_test.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/ftp_server_test_request.py index c30b2c17..3429e482 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_ftp_server_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/ftp_server_test_request.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,8 +20,8 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent_request import AgentRequest from thousandeyes_sdk.tests.models.ftp_server_request_type import FtpServerRequestType +from thousandeyes_sdk.tests.models.test_agent_request import TestAgentRequest from thousandeyes_sdk.tests.models.test_interval import TestInterval from thousandeyes_sdk.tests.models.test_ipv6_policy import TestIpv6Policy from thousandeyes_sdk.tests.models.test_links import TestLinks @@ -32,9 +31,9 @@ from thousandeyes_sdk.tests.models.test_protocol import TestProtocol from typing import Optional, Set from typing_extensions import Self -class UpdateFtpServerTest(BaseModel): +class FtpServerTestRequest(BaseModel): """ - UpdateFtpServerTest + FtpServerTestRequest """ # noqa: E501 interval: TestInterval alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") @@ -71,11 +70,11 @@ class UpdateFtpServerTest(BaseModel): username: StrictStr = Field(description="Username for Basic/NTLM authentication.") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") - agents: Optional[List[AgentRequest]] = None bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") monitors: Optional[List[StrictStr]] = Field(default=None, description="Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint)") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "downloadLimit", "ftpTargetTime", "ftpTimeLimit", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "probeMode", "protocol", "requestType", "url", "useActiveFtp", "useExplicitFtps", "username", "fixedPacketRate", "ipv6Policy", "agents", "bgpMeasurements", "usePublicBgp", "monitors"] + agents: List[TestAgentRequest] = Field(description="Contains list of Agent IDs (get `agentId` from `/agents` endpoint).") + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "downloadLimit", "ftpTargetTime", "ftpTimeLimit", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "probeMode", "protocol", "requestType", "url", "useActiveFtp", "useExplicitFtps", "username", "fixedPacketRate", "ipv6Policy", "bgpMeasurements", "usePublicBgp", "monitors", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -96,7 +95,7 @@ class UpdateFtpServerTest(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of UpdateFtpServerTest from a JSON string""" + """Create an instance of FtpServerTestRequest from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -147,7 +146,7 @@ class UpdateFtpServerTest(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of UpdateFtpServerTest from a dict""" + """Create an instance of FtpServerTestRequest from a dict""" if obj is None: return None @@ -190,10 +189,10 @@ class UpdateFtpServerTest(BaseModel): "username": obj.get("username"), "fixedPacketRate": obj.get("fixedPacketRate"), "ipv6Policy": obj.get("ipv6Policy"), - "agents": [AgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, - "monitors": obj.get("monitors") + "monitors": obj.get("monitors"), + "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/ftp_server_test_response.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/ftp_server_test_response.py new file mode 100644 index 00000000..89239d36 --- /dev/null +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/ftp_server_test_response.py @@ -0,0 +1,237 @@ +# coding: utf-8 + +""" + Tests API + + This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from thousandeyes_sdk.tests.models.agent_response import AgentResponse +from thousandeyes_sdk.tests.models.alert_rule import AlertRule +from thousandeyes_sdk.tests.models.ftp_server_request_type import FtpServerRequestType +from thousandeyes_sdk.tests.models.monitor import Monitor +from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount +from thousandeyes_sdk.tests.models.test_interval import TestInterval +from thousandeyes_sdk.tests.models.test_ipv6_policy import TestIpv6Policy +from thousandeyes_sdk.tests.models.test_label import TestLabel +from thousandeyes_sdk.tests.models.test_links import TestLinks +from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode +from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode +from thousandeyes_sdk.tests.models.test_protocol import TestProtocol +from typing import Optional, Set +from typing_extensions import Self + +class FtpServerTestResponse(BaseModel): + """ + FtpServerTestResponse + """ # noqa: E501 + interval: TestInterval + alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") + enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") + alert_rules: Optional[List[AlertRule]] = Field(default=None, description="Contains list of enabled alert rule objects.", alias="alertRules") + created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") + created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") + description: Optional[StrictStr] = Field(default=None, description="A description of the test.") + live_share: Optional[StrictBool] = Field(default=None, description="Indicates if the test is shared with the account group.", alias="liveShare") + modified_by: Optional[StrictStr] = Field(default=None, description="User that modified the test.", alias="modifiedBy") + modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") + saved_event: Optional[StrictBool] = Field(default=None, description="Indicates if the test is a saved event.", alias="savedEvent") + test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned an unique ID; this is used to access test information and results from other endpoints.", alias="testId") + test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") + type: Optional[StrictStr] = None + links: Optional[TestLinks] = Field(default=None, alias="_links") + labels: Optional[List[TestLabel]] = None + shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") + bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") + download_limit: Optional[StrictInt] = Field(default=None, description="Specify maximum number of bytes to download from the target object.", alias="downloadLimit") + ftp_target_time: Optional[Annotated[int, Field(le=6000, strict=True, ge=1000)]] = Field(default=None, description="Target time for operation completion; specified in milliseconds.", alias="ftpTargetTime") + ftp_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=10)]] = Field(default=10, description="Set the time limit for the test in seconds.", alias="ftpTimeLimit") + mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") + network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") + num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + password: StrictStr = Field(description="Password for Basic/NTLM authentication.") + path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") + probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") + protocol: Optional[TestProtocol] = None + request_type: FtpServerRequestType = Field(alias="requestType") + url: StrictStr = Field(description="Target for the test.") + use_active_ftp: Optional[StrictBool] = Field(default=False, description="Explicitly set the flag to use active FTP.", alias="useActiveFtp") + use_explicit_ftps: Optional[StrictBool] = Field(default=None, description="Use explicit FTPS (ftp over SSL). By default, tests will autodetect when it is appropriate to use FTPS.", alias="useExplicitFtps") + username: StrictStr = Field(description="Username for Basic/NTLM authentication.") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") + bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") + use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") + monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") + agents: Optional[List[AgentResponse]] = Field(default=None, description="Contains list of agents.") + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "bandwidthMeasurements", "downloadLimit", "ftpTargetTime", "ftpTimeLimit", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "probeMode", "protocol", "requestType", "url", "useActiveFtp", "useExplicitFtps", "username", "fixedPacketRate", "ipv6Policy", "bgpMeasurements", "usePublicBgp", "monitors", "agents"] + + 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 FtpServerTestResponse 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. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "created_by", + "created_date", + "live_share", + "modified_by", + "modified_date", + "saved_event", + "test_id", + "type", + "labels", + "shared_with_accounts", + "monitors", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in alert_rules (list) + _items = [] + if self.alert_rules: + for _item in self.alert_rules: + if _item: + _items.append(_item.to_dict()) + _dict['alertRules'] = _items + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in labels (list) + _items = [] + if self.labels: + for _item in self.labels: + if _item: + _items.append(_item.to_dict()) + _dict['labels'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in shared_with_accounts (list) + _items = [] + if self.shared_with_accounts: + for _item in self.shared_with_accounts: + if _item: + _items.append(_item.to_dict()) + _dict['sharedWithAccounts'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) + _items = [] + if self.monitors: + for _item in self.monitors: + if _item: + _items.append(_item.to_dict()) + _dict['monitors'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in agents (list) + _items = [] + if self.agents: + for _item in self.agents: + if _item: + _items.append(_item.to_dict()) + _dict['agents'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of FtpServerTestResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "interval": obj.get("interval"), + "alertsEnabled": obj.get("alertsEnabled"), + "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, + "alertRules": [AlertRule.from_dict(_item) for _item in obj["alertRules"]] if obj.get("alertRules") is not None else None, + "createdBy": obj.get("createdBy"), + "createdDate": obj.get("createdDate"), + "description": obj.get("description"), + "liveShare": obj.get("liveShare"), + "modifiedBy": obj.get("modifiedBy"), + "modifiedDate": obj.get("modifiedDate"), + "savedEvent": obj.get("savedEvent"), + "testId": obj.get("testId"), + "testName": obj.get("testName"), + "type": obj.get("type"), + "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, + "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, + "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, + "bandwidthMeasurements": obj.get("bandwidthMeasurements"), + "downloadLimit": obj.get("downloadLimit"), + "ftpTargetTime": obj.get("ftpTargetTime"), + "ftpTimeLimit": obj.get("ftpTimeLimit") if obj.get("ftpTimeLimit") is not None else 10, + "mtuMeasurements": obj.get("mtuMeasurements"), + "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, + "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "password": obj.get("password"), + "pathTraceMode": obj.get("pathTraceMode"), + "probeMode": obj.get("probeMode"), + "protocol": obj.get("protocol"), + "requestType": obj.get("requestType"), + "url": obj.get("url"), + "useActiveFtp": obj.get("useActiveFtp") if obj.get("useActiveFtp") is not None else False, + "useExplicitFtps": obj.get("useExplicitFtps"), + "username": obj.get("username"), + "fixedPacketRate": obj.get("fixedPacketRate"), + "ipv6Policy": obj.get("ipv6Policy"), + "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, + "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, + "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None, + "agents": [AgentResponse.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/ftp_server_tests.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/ftp_server_tests.py index 89c82f2a..89b8c8ee 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/ftp_server_tests.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/ftp_server_tests.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_base_properties.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_base_properties.py new file mode 100644 index 00000000..9778d837 --- /dev/null +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_base_properties.py @@ -0,0 +1,173 @@ +# coding: utf-8 + +""" + Tests API + + This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. + + 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, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from thousandeyes_sdk.tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.tests.models.o_auth import OAuth +from thousandeyes_sdk.tests.models.test_auth_type import TestAuthType +from thousandeyes_sdk.tests.models.test_custom_headers import TestCustomHeaders +from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode +from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode +from thousandeyes_sdk.tests.models.test_protocol import TestProtocol +from thousandeyes_sdk.tests.models.test_ssl_version_id import TestSslVersionId +from typing import Optional, Set +from typing_extensions import Self + +class HttpServerBaseProperties(BaseModel): + """ + HttpServerBaseProperties + """ # noqa: E501 + auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") + bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") + client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") + content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") + custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders") + desired_status_code: Optional[StrictStr] = Field(default='default', description="Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code.", alias="desiredStatusCode") + download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit") + dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride") + http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") + http_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=5, description="HTTP time limit in seconds.", alias="httpTimeLimit") + http_version: Optional[Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(default=2, description="HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1.", alias="httpVersion") + include_headers: Optional[StrictBool] = Field(default=True, description="Set to `true` to capture response headers for objects loaded by the test.", alias="includeHeaders") + mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") + network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") + num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + o_auth: Optional[OAuth] = Field(default=None, alias="oAuth") + password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") + path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") + probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") + protocol: Optional[TestProtocol] = None + ssl_version: Optional[StrictStr] = Field(default=None, description="Reflects the verbose SSL protocol version used by a test.", alias="sslVersion") + ssl_version_id: Optional[TestSslVersionId] = Field(default=None, alias="sslVersionId") + url: Optional[StrictStr] = Field(default=None, description="Target for the test.") + use_ntlm: Optional[StrictBool] = Field(default=None, description="Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set.", alias="useNtlm") + user_agent: Optional[StrictStr] = Field(default=None, description="User-agent string to be provided during the test.", alias="userAgent") + username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") + verify_certificate: Optional[StrictBool] = Field(default=False, description="Ignore or acknowledge certificate errors. Set to false to ignore certificate errors.", alias="verifyCertificate") + allow_unsafe_legacy_renegotiation: Optional[StrictBool] = Field(default=True, description="Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation.", alias="allowUnsafeLegacyRenegotiation") + follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + __properties: ClassVar[List[str]] = ["authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData"] + + 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 HttpServerBaseProperties from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "ssl_version", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of agent_interfaces + if self.agent_interfaces: + _dict['agentInterfaces'] = self.agent_interfaces.to_dict() + # override the default output from pydantic by calling `to_dict()` of custom_headers + if self.custom_headers: + _dict['customHeaders'] = self.custom_headers.to_dict() + # override the default output from pydantic by calling `to_dict()` of o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of HttpServerBaseProperties from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "authType": obj.get("authType"), + "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, + "bandwidthMeasurements": obj.get("bandwidthMeasurements"), + "clientCertificate": obj.get("clientCertificate"), + "contentRegex": obj.get("contentRegex"), + "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None, + "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else 'default', + "downloadLimit": obj.get("downloadLimit"), + "dnsOverride": obj.get("dnsOverride"), + "httpTargetTime": obj.get("httpTargetTime"), + "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5, + "httpVersion": obj.get("httpVersion") if obj.get("httpVersion") is not None else 2, + "includeHeaders": obj.get("includeHeaders") if obj.get("includeHeaders") is not None else True, + "mtuMeasurements": obj.get("mtuMeasurements"), + "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, + "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, + "password": obj.get("password"), + "pathTraceMode": obj.get("pathTraceMode"), + "probeMode": obj.get("probeMode"), + "protocol": obj.get("protocol"), + "sslVersion": obj.get("sslVersion"), + "sslVersionId": obj.get("sslVersionId"), + "url": obj.get("url"), + "useNtlm": obj.get("useNtlm"), + "userAgent": obj.get("userAgent"), + "username": obj.get("username"), + "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else False, + "allowUnsafeLegacyRenegotiation": obj.get("allowUnsafeLegacyRenegotiation") if obj.get("allowUnsafeLegacyRenegotiation") is not None else True, + "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "fixedPacketRate": obj.get("fixedPacketRate"), + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False + }) + return _obj + + diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_instant_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_instant_test.py index ebf6ae17..a0943190 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_instant_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_instant_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,7 +20,8 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent import Agent +from thousandeyes_sdk.tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.tests.models.o_auth import OAuth from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount from thousandeyes_sdk.tests.models.test_auth_type import TestAuthType from thousandeyes_sdk.tests.models.test_custom_headers import TestCustomHeaders @@ -53,12 +53,12 @@ class HttpServerInstantTest(BaseModel): labels: Optional[List[TestLabel]] = None shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") - headers: Optional[List[StrictStr]] = Field(default=None, description="HTTP request headers used.") custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders") - desired_status_code: Optional[StrictStr] = Field(default='200', description="Specify the HTTP status code value that indicates a successful response.", alias="desiredStatusCode") + desired_status_code: Optional[StrictStr] = Field(default='default', description="Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code.", alias="desiredStatusCode") download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit") dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride") http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") @@ -68,9 +68,9 @@ class HttpServerInstantTest(BaseModel): mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + o_auth: Optional[OAuth] = Field(default=None, alias="oAuth") password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") - post_body: Optional[StrictStr] = Field(default=None, description="Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST.", alias="postBody") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") protocol: Optional[TestProtocol] = None ssl_version: Optional[StrictStr] = Field(default=None, description="Reflects the verbose SSL protocol version used by a test.", alias="sslVersion") @@ -81,13 +81,15 @@ class HttpServerInstantTest(BaseModel): username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") verify_certificate: Optional[StrictBool] = Field(default=False, description="Ignore or acknowledge certificate errors. Set to false to ignore certificate errors.", alias="verifyCertificate") allow_unsafe_legacy_renegotiation: Optional[StrictBool] = Field(default=True, description="Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation.", alias="allowUnsafeLegacyRenegotiation") - ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "bandwidthMeasurements", "clientCertificate", "contentRegex", "headers", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "postBody", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "ipv6Policy", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "agents"] + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + headers: Optional[List[StrictStr]] = Field(default=None, description="HTTP request headers used.") + post_body: Optional[StrictStr] = Field(default=None, description="Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST.", alias="postBody") + ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "headers", "postBody", "ipv6Policy"] model_config = ConfigDict( populate_by_name=True, @@ -131,7 +133,6 @@ class HttpServerInstantTest(BaseModel): * 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([ "created_by", @@ -145,7 +146,6 @@ class HttpServerInstantTest(BaseModel): "labels", "shared_with_accounts", "ssl_version", - "agents", ]) _dict = self.model_dump( @@ -170,16 +170,15 @@ class HttpServerInstantTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['sharedWithAccounts'] = _items + # override the default output from pydantic by calling `to_dict()` of agent_interfaces + if self.agent_interfaces: + _dict['agentInterfaces'] = self.agent_interfaces.to_dict() # override the default output from pydantic by calling `to_dict()` of custom_headers if self.custom_headers: _dict['customHeaders'] = self.custom_headers.to_dict() - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items + # override the default output from pydantic by calling `to_dict()` of o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() return _dict @classmethod @@ -206,12 +205,12 @@ class HttpServerInstantTest(BaseModel): "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, "authType": obj.get("authType"), + "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, "bandwidthMeasurements": obj.get("bandwidthMeasurements"), "clientCertificate": obj.get("clientCertificate"), "contentRegex": obj.get("contentRegex"), - "headers": obj.get("headers"), "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None, - "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else '200', + "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else 'default', "downloadLimit": obj.get("downloadLimit"), "dnsOverride": obj.get("dnsOverride"), "httpTargetTime": obj.get("httpTargetTime"), @@ -221,9 +220,9 @@ class HttpServerInstantTest(BaseModel): "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, "password": obj.get("password"), "pathTraceMode": obj.get("pathTraceMode"), - "postBody": obj.get("postBody"), "probeMode": obj.get("probeMode"), "protocol": obj.get("protocol"), "sslVersion": obj.get("sslVersion"), @@ -234,12 +233,14 @@ class HttpServerInstantTest(BaseModel): "username": obj.get("username"), "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else False, "allowUnsafeLegacyRenegotiation": obj.get("allowUnsafeLegacyRenegotiation") if obj.get("allowUnsafeLegacyRenegotiation") is not None else True, - "ipv6Policy": obj.get("ipv6Policy"), "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, "fixedPacketRate": obj.get("fixedPacketRate"), "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "headers": obj.get("headers"), + "postBody": obj.get("postBody"), + "ipv6Policy": obj.get("ipv6Policy") }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_properties.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_properties.py index 270eab18..f54b4221 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_properties.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_properties.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -20,6 +19,8 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated +from thousandeyes_sdk.tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.tests.models.o_auth import OAuth from thousandeyes_sdk.tests.models.test_auth_type import TestAuthType from thousandeyes_sdk.tests.models.test_custom_headers import TestCustomHeaders from thousandeyes_sdk.tests.models.test_ipv6_policy import TestIpv6Policy @@ -35,12 +36,12 @@ class HttpServerProperties(BaseModel): HttpServerProperties """ # noqa: E501 auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") - headers: Optional[List[StrictStr]] = Field(default=None, description="HTTP request headers used.") custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders") - desired_status_code: Optional[StrictStr] = Field(default='200', description="Specify the HTTP status code value that indicates a successful response.", alias="desiredStatusCode") + desired_status_code: Optional[StrictStr] = Field(default='default', description="Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code.", alias="desiredStatusCode") download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit") dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride") http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") @@ -50,9 +51,9 @@ class HttpServerProperties(BaseModel): mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + o_auth: Optional[OAuth] = Field(default=None, alias="oAuth") password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") - post_body: Optional[StrictStr] = Field(default=None, description="Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST.", alias="postBody") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") protocol: Optional[TestProtocol] = None ssl_version: Optional[StrictStr] = Field(default=None, description="Reflects the verbose SSL protocol version used by a test.", alias="sslVersion") @@ -63,13 +64,16 @@ class HttpServerProperties(BaseModel): username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") verify_certificate: Optional[StrictBool] = Field(default=False, description="Ignore or acknowledge certificate errors. Set to false to ignore certificate errors.", alias="verifyCertificate") allow_unsafe_legacy_renegotiation: Optional[StrictBool] = Field(default=True, description="Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation.", alias="allowUnsafeLegacyRenegotiation") - ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + headers: Optional[List[StrictStr]] = Field(default=None, description="HTTP request headers used.") + post_body: Optional[StrictStr] = Field(default=None, description="Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST.", alias="postBody") + ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") type: Optional[StrictStr] = None - __properties: ClassVar[List[str]] = ["authType", "bandwidthMeasurements", "clientCertificate", "contentRegex", "headers", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "postBody", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "ipv6Policy", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "type"] + __properties: ClassVar[List[str]] = ["authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "headers", "postBody", "ipv6Policy", "type"] model_config = ConfigDict( populate_by_name=True, @@ -115,9 +119,15 @@ class HttpServerProperties(BaseModel): exclude=excluded_fields, exclude_none=True, ) + # override the default output from pydantic by calling `to_dict()` of agent_interfaces + if self.agent_interfaces: + _dict['agentInterfaces'] = self.agent_interfaces.to_dict() # override the default output from pydantic by calling `to_dict()` of custom_headers if self.custom_headers: _dict['customHeaders'] = self.custom_headers.to_dict() + # override the default output from pydantic by calling `to_dict()` of o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() return _dict @classmethod @@ -131,12 +141,12 @@ class HttpServerProperties(BaseModel): _obj = cls.model_validate({ "authType": obj.get("authType"), + "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, "bandwidthMeasurements": obj.get("bandwidthMeasurements"), "clientCertificate": obj.get("clientCertificate"), "contentRegex": obj.get("contentRegex"), - "headers": obj.get("headers"), "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None, - "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else '200', + "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else 'default', "downloadLimit": obj.get("downloadLimit"), "dnsOverride": obj.get("dnsOverride"), "httpTargetTime": obj.get("httpTargetTime"), @@ -146,9 +156,9 @@ class HttpServerProperties(BaseModel): "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, "password": obj.get("password"), "pathTraceMode": obj.get("pathTraceMode"), - "postBody": obj.get("postBody"), "probeMode": obj.get("probeMode"), "protocol": obj.get("protocol"), "sslVersion": obj.get("sslVersion"), @@ -159,11 +169,14 @@ class HttpServerProperties(BaseModel): "username": obj.get("username"), "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else False, "allowUnsafeLegacyRenegotiation": obj.get("allowUnsafeLegacyRenegotiation") if obj.get("allowUnsafeLegacyRenegotiation") is not None else True, - "ipv6Policy": obj.get("ipv6Policy"), "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, "fixedPacketRate": obj.get("fixedPacketRate"), "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "headers": obj.get("headers"), + "postBody": obj.get("postBody"), + "ipv6Policy": obj.get("ipv6Policy"), "type": obj.get("type") }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_test.py index b7ca2e43..76f5b510 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,9 +20,10 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent import Agent +from thousandeyes_sdk.tests.models.agent_interfaces import AgentInterfaces from thousandeyes_sdk.tests.models.alert_rule import AlertRule from thousandeyes_sdk.tests.models.monitor import Monitor +from thousandeyes_sdk.tests.models.o_auth import OAuth from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount from thousandeyes_sdk.tests.models.test_auth_type import TestAuthType from thousandeyes_sdk.tests.models.test_custom_headers import TestCustomHeaders @@ -60,12 +60,12 @@ class HttpServerTest(BaseModel): labels: Optional[List[TestLabel]] = None shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") - headers: Optional[List[StrictStr]] = Field(default=None, description="HTTP request headers used.") custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders") - desired_status_code: Optional[StrictStr] = Field(default='200', description="Specify the HTTP status code value that indicates a successful response.", alias="desiredStatusCode") + desired_status_code: Optional[StrictStr] = Field(default='default', description="Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code.", alias="desiredStatusCode") download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit") dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride") http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") @@ -75,9 +75,9 @@ class HttpServerTest(BaseModel): mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + o_auth: Optional[OAuth] = Field(default=None, alias="oAuth") password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") - post_body: Optional[StrictStr] = Field(default=None, description="Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST.", alias="postBody") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") protocol: Optional[TestProtocol] = None ssl_version: Optional[StrictStr] = Field(default=None, description="Reflects the verbose SSL protocol version used by a test.", alias="sslVersion") @@ -88,16 +88,18 @@ class HttpServerTest(BaseModel): username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") verify_certificate: Optional[StrictBool] = Field(default=False, description="Ignore or acknowledge certificate errors. Set to false to ignore certificate errors.", alias="verifyCertificate") allow_unsafe_legacy_renegotiation: Optional[StrictBool] = Field(default=True, description="Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation.", alias="allowUnsafeLegacyRenegotiation") - ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + headers: Optional[List[StrictStr]] = Field(default=None, description="HTTP request headers used.") + post_body: Optional[StrictStr] = Field(default=None, description="Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST.", alias="postBody") + ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "bandwidthMeasurements", "clientCertificate", "contentRegex", "headers", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "postBody", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "ipv6Policy", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "agents", "bgpMeasurements", "usePublicBgp", "monitors"] + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "headers", "postBody", "ipv6Policy", "bgpMeasurements", "usePublicBgp", "monitors"] model_config = ConfigDict( populate_by_name=True, @@ -142,7 +144,6 @@ class HttpServerTest(BaseModel): * 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([ "created_by", @@ -156,7 +157,6 @@ class HttpServerTest(BaseModel): "labels", "shared_with_accounts", "ssl_version", - "agents", "monitors", ]) @@ -189,16 +189,15 @@ class HttpServerTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['sharedWithAccounts'] = _items + # override the default output from pydantic by calling `to_dict()` of agent_interfaces + if self.agent_interfaces: + _dict['agentInterfaces'] = self.agent_interfaces.to_dict() # override the default output from pydantic by calling `to_dict()` of custom_headers if self.custom_headers: _dict['customHeaders'] = self.custom_headers.to_dict() - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items + # override the default output from pydantic by calling `to_dict()` of o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) _items = [] if self.monitors: @@ -236,12 +235,12 @@ class HttpServerTest(BaseModel): "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, "authType": obj.get("authType"), + "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, "bandwidthMeasurements": obj.get("bandwidthMeasurements"), "clientCertificate": obj.get("clientCertificate"), "contentRegex": obj.get("contentRegex"), - "headers": obj.get("headers"), "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None, - "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else '200', + "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else 'default', "downloadLimit": obj.get("downloadLimit"), "dnsOverride": obj.get("dnsOverride"), "httpTargetTime": obj.get("httpTargetTime"), @@ -251,9 +250,9 @@ class HttpServerTest(BaseModel): "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, "password": obj.get("password"), "pathTraceMode": obj.get("pathTraceMode"), - "postBody": obj.get("postBody"), "probeMode": obj.get("probeMode"), "protocol": obj.get("protocol"), "sslVersion": obj.get("sslVersion"), @@ -264,12 +263,14 @@ class HttpServerTest(BaseModel): "username": obj.get("username"), "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else False, "allowUnsafeLegacyRenegotiation": obj.get("allowUnsafeLegacyRenegotiation") if obj.get("allowUnsafeLegacyRenegotiation") is not None else True, - "ipv6Policy": obj.get("ipv6Policy"), "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, "fixedPacketRate": obj.get("fixedPacketRate"), "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "headers": obj.get("headers"), + "postBody": obj.get("postBody"), + "ipv6Policy": obj.get("ipv6Policy"), "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_http_server_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_test_request.py similarity index 85% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_http_server_test.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_test_request.py index 3d9d0fbb..49d8354e 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_http_server_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_test_request.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,7 +20,9 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent_request import AgentRequest +from thousandeyes_sdk.tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.tests.models.o_auth import OAuth +from thousandeyes_sdk.tests.models.test_agent_request import TestAgentRequest from thousandeyes_sdk.tests.models.test_auth_type import TestAuthType from thousandeyes_sdk.tests.models.test_custom_headers import TestCustomHeaders from thousandeyes_sdk.tests.models.test_interval import TestInterval @@ -34,9 +35,9 @@ from thousandeyes_sdk.tests.models.test_ssl_version_id import TestSslVersionId from typing import Optional, Set from typing_extensions import Self -class UpdateHttpServerTest(BaseModel): +class HttpServerTestRequest(BaseModel): """ - UpdateHttpServerTest + HttpServerTestRequest """ # noqa: E501 interval: TestInterval alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") @@ -56,12 +57,12 @@ class UpdateHttpServerTest(BaseModel): labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") - headers: Optional[List[StrictStr]] = Field(default=None, description="HTTP request headers used.") custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders") - desired_status_code: Optional[StrictStr] = Field(default='200', description="Specify the HTTP status code value that indicates a successful response.", alias="desiredStatusCode") + desired_status_code: Optional[StrictStr] = Field(default='default', description="Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code.", alias="desiredStatusCode") download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit") dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride") http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") @@ -71,9 +72,9 @@ class UpdateHttpServerTest(BaseModel): mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + o_auth: Optional[OAuth] = Field(default=None, alias="oAuth") password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") - post_body: Optional[StrictStr] = Field(default=None, description="Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST.", alias="postBody") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") protocol: Optional[TestProtocol] = None ssl_version: Optional[StrictStr] = Field(default=None, description="Reflects the verbose SSL protocol version used by a test.", alias="sslVersion") @@ -84,16 +85,19 @@ class UpdateHttpServerTest(BaseModel): username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") verify_certificate: Optional[StrictBool] = Field(default=False, description="Ignore or acknowledge certificate errors. Set to false to ignore certificate errors.", alias="verifyCertificate") allow_unsafe_legacy_renegotiation: Optional[StrictBool] = Field(default=True, description="Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation.", alias="allowUnsafeLegacyRenegotiation") - ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") - agents: Optional[List[AgentRequest]] = None + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + headers: Optional[List[StrictStr]] = Field(default=None, description="HTTP request headers used.") + post_body: Optional[StrictStr] = Field(default=None, description="Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST.", alias="postBody") + ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") monitors: Optional[List[StrictStr]] = Field(default=None, description="Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint)") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "bandwidthMeasurements", "clientCertificate", "contentRegex", "headers", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "postBody", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "ipv6Policy", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "agents", "bgpMeasurements", "usePublicBgp", "monitors"] + agents: List[TestAgentRequest] = Field(description="Contains list of Agent IDs (get `agentId` from `/agents` endpoint).") + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "headers", "postBody", "ipv6Policy", "bgpMeasurements", "usePublicBgp", "monitors", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -114,7 +118,7 @@ class UpdateHttpServerTest(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of UpdateHttpServerTest from a JSON string""" + """Create an instance of HttpServerTestRequest from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -156,9 +160,15 @@ class UpdateHttpServerTest(BaseModel): # override the default output from pydantic by calling `to_dict()` of links if self.links: _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of agent_interfaces + if self.agent_interfaces: + _dict['agentInterfaces'] = self.agent_interfaces.to_dict() # override the default output from pydantic by calling `to_dict()` of custom_headers if self.custom_headers: _dict['customHeaders'] = self.custom_headers.to_dict() + # override the default output from pydantic by calling `to_dict()` of o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() # override the default output from pydantic by calling `to_dict()` of each item in agents (list) _items = [] if self.agents: @@ -170,7 +180,7 @@ class UpdateHttpServerTest(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of UpdateHttpServerTest from a dict""" + """Create an instance of HttpServerTestRequest from a dict""" if obj is None: return None @@ -196,12 +206,12 @@ class UpdateHttpServerTest(BaseModel): "labels": obj.get("labels"), "sharedWithAccounts": obj.get("sharedWithAccounts"), "authType": obj.get("authType"), + "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, "bandwidthMeasurements": obj.get("bandwidthMeasurements"), "clientCertificate": obj.get("clientCertificate"), "contentRegex": obj.get("contentRegex"), - "headers": obj.get("headers"), "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None, - "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else '200', + "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else 'default', "downloadLimit": obj.get("downloadLimit"), "dnsOverride": obj.get("dnsOverride"), "httpTargetTime": obj.get("httpTargetTime"), @@ -211,9 +221,9 @@ class UpdateHttpServerTest(BaseModel): "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, "password": obj.get("password"), "pathTraceMode": obj.get("pathTraceMode"), - "postBody": obj.get("postBody"), "probeMode": obj.get("probeMode"), "protocol": obj.get("protocol"), "sslVersion": obj.get("sslVersion"), @@ -224,15 +234,18 @@ class UpdateHttpServerTest(BaseModel): "username": obj.get("username"), "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else False, "allowUnsafeLegacyRenegotiation": obj.get("allowUnsafeLegacyRenegotiation") if obj.get("allowUnsafeLegacyRenegotiation") is not None else True, - "ipv6Policy": obj.get("ipv6Policy"), "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, "fixedPacketRate": obj.get("fixedPacketRate"), "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), - "agents": [AgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "headers": obj.get("headers"), + "postBody": obj.get("postBody"), + "ipv6Policy": obj.get("ipv6Policy"), "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, - "monitors": obj.get("monitors") + "monitors": obj.get("monitors"), + "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_test_response.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_test_response.py new file mode 100644 index 00000000..bf2f2d6d --- /dev/null +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_test_response.py @@ -0,0 +1,290 @@ +# coding: utf-8 + +""" + Tests API + + This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from thousandeyes_sdk.tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.tests.models.agent_response import AgentResponse +from thousandeyes_sdk.tests.models.alert_rule import AlertRule +from thousandeyes_sdk.tests.models.monitor import Monitor +from thousandeyes_sdk.tests.models.o_auth import OAuth +from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount +from thousandeyes_sdk.tests.models.test_auth_type import TestAuthType +from thousandeyes_sdk.tests.models.test_custom_headers import TestCustomHeaders +from thousandeyes_sdk.tests.models.test_interval import TestInterval +from thousandeyes_sdk.tests.models.test_ipv6_policy import TestIpv6Policy +from thousandeyes_sdk.tests.models.test_label import TestLabel +from thousandeyes_sdk.tests.models.test_links import TestLinks +from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode +from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode +from thousandeyes_sdk.tests.models.test_protocol import TestProtocol +from thousandeyes_sdk.tests.models.test_ssl_version_id import TestSslVersionId +from typing import Optional, Set +from typing_extensions import Self + +class HttpServerTestResponse(BaseModel): + """ + HttpServerTestResponse + """ # noqa: E501 + interval: TestInterval + alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") + enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") + alert_rules: Optional[List[AlertRule]] = Field(default=None, description="Contains list of enabled alert rule objects.", alias="alertRules") + created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") + created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") + description: Optional[StrictStr] = Field(default=None, description="A description of the test.") + live_share: Optional[StrictBool] = Field(default=None, description="Indicates if the test is shared with the account group.", alias="liveShare") + modified_by: Optional[StrictStr] = Field(default=None, description="User that modified the test.", alias="modifiedBy") + modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") + saved_event: Optional[StrictBool] = Field(default=None, description="Indicates if the test is a saved event.", alias="savedEvent") + test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned an unique ID; this is used to access test information and results from other endpoints.", alias="testId") + test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") + type: Optional[StrictStr] = None + links: Optional[TestLinks] = Field(default=None, alias="_links") + labels: Optional[List[TestLabel]] = None + shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") + auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") + bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") + client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") + content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") + custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders") + desired_status_code: Optional[StrictStr] = Field(default='default', description="Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code.", alias="desiredStatusCode") + download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit") + dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride") + http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") + http_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=5, description="HTTP time limit in seconds.", alias="httpTimeLimit") + http_version: Optional[Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(default=2, description="HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1.", alias="httpVersion") + include_headers: Optional[StrictBool] = Field(default=True, description="Set to `true` to capture response headers for objects loaded by the test.", alias="includeHeaders") + mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") + network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") + num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + o_auth: Optional[OAuth] = Field(default=None, alias="oAuth") + password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") + path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") + probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") + protocol: Optional[TestProtocol] = None + ssl_version: Optional[StrictStr] = Field(default=None, description="Reflects the verbose SSL protocol version used by a test.", alias="sslVersion") + ssl_version_id: Optional[TestSslVersionId] = Field(default=None, alias="sslVersionId") + url: StrictStr = Field(description="Target for the test.") + use_ntlm: Optional[StrictBool] = Field(default=None, description="Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set.", alias="useNtlm") + user_agent: Optional[StrictStr] = Field(default=None, description="User-agent string to be provided during the test.", alias="userAgent") + username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") + verify_certificate: Optional[StrictBool] = Field(default=False, description="Ignore or acknowledge certificate errors. Set to false to ignore certificate errors.", alias="verifyCertificate") + allow_unsafe_legacy_renegotiation: Optional[StrictBool] = Field(default=True, description="Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation.", alias="allowUnsafeLegacyRenegotiation") + follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + headers: Optional[List[StrictStr]] = Field(default=None, description="HTTP request headers used.") + post_body: Optional[StrictStr] = Field(default=None, description="Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST.", alias="postBody") + ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") + bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") + use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") + monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") + agents: Optional[List[AgentResponse]] = Field(default=None, description="Contains list of agents.") + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "headers", "postBody", "ipv6Policy", "bgpMeasurements", "usePublicBgp", "monitors", "agents"] + + 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 HttpServerTestResponse 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. + * 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([ + "created_by", + "created_date", + "live_share", + "modified_by", + "modified_date", + "saved_event", + "test_id", + "type", + "labels", + "shared_with_accounts", + "ssl_version", + "monitors", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in alert_rules (list) + _items = [] + if self.alert_rules: + for _item in self.alert_rules: + if _item: + _items.append(_item.to_dict()) + _dict['alertRules'] = _items + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in labels (list) + _items = [] + if self.labels: + for _item in self.labels: + if _item: + _items.append(_item.to_dict()) + _dict['labels'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in shared_with_accounts (list) + _items = [] + if self.shared_with_accounts: + for _item in self.shared_with_accounts: + if _item: + _items.append(_item.to_dict()) + _dict['sharedWithAccounts'] = _items + # override the default output from pydantic by calling `to_dict()` of agent_interfaces + if self.agent_interfaces: + _dict['agentInterfaces'] = self.agent_interfaces.to_dict() + # override the default output from pydantic by calling `to_dict()` of custom_headers + if self.custom_headers: + _dict['customHeaders'] = self.custom_headers.to_dict() + # override the default output from pydantic by calling `to_dict()` of o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) + _items = [] + if self.monitors: + for _item in self.monitors: + if _item: + _items.append(_item.to_dict()) + _dict['monitors'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in agents (list) + _items = [] + if self.agents: + for _item in self.agents: + if _item: + _items.append(_item.to_dict()) + _dict['agents'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of HttpServerTestResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "interval": obj.get("interval"), + "alertsEnabled": obj.get("alertsEnabled"), + "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, + "alertRules": [AlertRule.from_dict(_item) for _item in obj["alertRules"]] if obj.get("alertRules") is not None else None, + "createdBy": obj.get("createdBy"), + "createdDate": obj.get("createdDate"), + "description": obj.get("description"), + "liveShare": obj.get("liveShare"), + "modifiedBy": obj.get("modifiedBy"), + "modifiedDate": obj.get("modifiedDate"), + "savedEvent": obj.get("savedEvent"), + "testId": obj.get("testId"), + "testName": obj.get("testName"), + "type": obj.get("type"), + "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, + "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, + "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, + "authType": obj.get("authType"), + "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, + "bandwidthMeasurements": obj.get("bandwidthMeasurements"), + "clientCertificate": obj.get("clientCertificate"), + "contentRegex": obj.get("contentRegex"), + "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None, + "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else 'default', + "downloadLimit": obj.get("downloadLimit"), + "dnsOverride": obj.get("dnsOverride"), + "httpTargetTime": obj.get("httpTargetTime"), + "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5, + "httpVersion": obj.get("httpVersion") if obj.get("httpVersion") is not None else 2, + "includeHeaders": obj.get("includeHeaders") if obj.get("includeHeaders") is not None else True, + "mtuMeasurements": obj.get("mtuMeasurements"), + "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, + "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, + "password": obj.get("password"), + "pathTraceMode": obj.get("pathTraceMode"), + "probeMode": obj.get("probeMode"), + "protocol": obj.get("protocol"), + "sslVersion": obj.get("sslVersion"), + "sslVersionId": obj.get("sslVersionId"), + "url": obj.get("url"), + "useNtlm": obj.get("useNtlm"), + "userAgent": obj.get("userAgent"), + "username": obj.get("username"), + "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else False, + "allowUnsafeLegacyRenegotiation": obj.get("allowUnsafeLegacyRenegotiation") if obj.get("allowUnsafeLegacyRenegotiation") is not None else True, + "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "fixedPacketRate": obj.get("fixedPacketRate"), + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "headers": obj.get("headers"), + "postBody": obj.get("postBody"), + "ipv6Policy": obj.get("ipv6Policy"), + "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, + "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, + "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None, + "agents": [AgentResponse.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_tests.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_tests.py index 8ec38303..29111827 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_tests.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/http_server_tests.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/instant_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/instant_test.py index 6d83b471..e2a193ae 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/instant_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/instant_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/interface_group.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/interface_group.py index c6c2935f..d5f543b8 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/interface_group.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/interface_group.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/interface_groups.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/interface_groups.py index 8819b833..d7dc4a45 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/interface_groups.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/interface_groups.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/link.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/link.py index ddd26faa..bee68fa6 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/link.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/link.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/monitor.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/monitor.py index b5269ef8..0343e95f 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/monitor.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/monitor.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/monitor_type.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/monitor_type.py index f8997af9..14d05822 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/monitor_type.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/monitor_type.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class MonitorType(str, Enum): """ PUBLIC = 'public' PRIVATE = 'private' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of MonitorType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/monitors_request.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/monitors_request.py index 8ed56553..74e55010 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/monitors_request.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/monitors_request.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/o_auth.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/o_auth.py new file mode 100644 index 00000000..17380e97 --- /dev/null +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/o_auth.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Tests API + + This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. + + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.tests.models.request_method import RequestMethod +from thousandeyes_sdk.tests.models.test_auth_type import TestAuthType +from typing import Optional, Set +from typing_extensions import Self + +class OAuth(BaseModel): + """ + Use this only if you want to use OAuth as the authentication mechanism. + """ # noqa: E501 + config_id: Optional[StrictStr] = Field(default=None, description="The ID of the OAuth configuration.", alias="configId") + test_url: Optional[StrictStr] = Field(default=None, description="Target for the test.", alias="testUrl") + request_method: Optional[RequestMethod] = Field(default=None, alias="requestMethod") + post_body: Optional[StrictStr] = Field(default=None, description="Enter the OAuth body for the HTTP POST request in this field when using OAuth as the authentication mechanism. No special escaping is required. If content is provided in the post body, the `requestMethod` is automatically set to POST.", alias="postBody") + headers: Optional[StrictStr] = Field(default=None, description="Request headers used for OAuth.") + auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + username: Optional[StrictStr] = Field(default=None, description="OAuth username") + password: Optional[StrictStr] = Field(default=None, description="OAuth password") + __properties: ClassVar[List[str]] = ["configId", "testUrl", "requestMethod", "postBody", "headers", "authType", "username", "password"] + + 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 OAuth 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 OAuth from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "configId": obj.get("configId"), + "testUrl": obj.get("testUrl"), + "requestMethod": obj.get("requestMethod"), + "postBody": obj.get("postBody"), + "headers": obj.get("headers"), + "authType": obj.get("authType"), + "username": obj.get("username"), + "password": obj.get("password") + }) + return _obj + + diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_instant_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_instant_test.py index 926efcba..71e7063a 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_instant_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_instant_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -18,10 +17,11 @@ import re # noqa: F401 import json from datetime import datetime -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent import Agent +from thousandeyes_sdk.tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.tests.models.o_auth import OAuth from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount from thousandeyes_sdk.tests.models.test_auth_type import TestAuthType from thousandeyes_sdk.tests.models.test_custom_headers import TestCustomHeaders @@ -53,13 +53,14 @@ class PageLoadInstantTest(BaseModel): labels: Optional[List[TestLabel]] = None shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") - content_regex: Optional[StrictStr] = Field(default=None, description="Verify content using a regular expression. This field does not require escaping.", alias="contentRegex") + content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders") - desired_status_code: Optional[StrictStr] = Field(default='200', description="Specify the HTTP status code value that indicates a successful response.", alias="desiredStatusCode") - emulated_device_id: Optional[StrictStr] = Field(default=None, description="id of the emulated device, if one was given when the test was created", alias="emulatedDeviceId") - follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + desired_status_code: Optional[StrictStr] = Field(default='default', description="Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code.", alias="desiredStatusCode") + download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit") + dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride") http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") http_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=5, description="HTTP time limit in seconds.", alias="httpTimeLimit") http_version: Optional[Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(default=2, description="HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1.", alias="httpVersion") @@ -67,8 +68,7 @@ class PageLoadInstantTest(BaseModel): mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") - page_load_target_time: Optional[Annotated[int, Field(le=30, strict=True, ge=1)]] = Field(default=None, description="Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`.", alias="pageLoadTargetTime") - page_load_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=10, description="Page load time limit. Must be larger than the `httpTimeLimit`.", alias="pageLoadTimeLimit") + o_auth: Optional[OAuth] = Field(default=None, alias="oAuth") password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") @@ -81,17 +81,21 @@ class PageLoadInstantTest(BaseModel): username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") verify_certificate: Optional[StrictBool] = Field(default=False, description="Ignore or acknowledge certificate errors. Set to false to ignore certificate errors.", alias="verifyCertificate") allow_unsafe_legacy_renegotiation: Optional[StrictBool] = Field(default=True, description="Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation.", alias="allowUnsafeLegacyRenegotiation") + follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if one was given when the test was created.", alias="emulatedDeviceId") + page_load_target_time: Optional[Annotated[int, Field(le=30, strict=True, ge=1)]] = Field(default=None, description="Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`.", alias="pageLoadTargetTime") + page_load_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=10, description="Page load time limit. Must be larger than the `httpTimeLimit`.", alias="pageLoadTimeLimit") block_domains: Optional[StrictStr] = Field(default=None, description="Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests.", alias="blockDomains") disable_screenshot: Optional[StrictBool] = Field(default=False, description="Enables or disables screenshots on error. Set true to not capture", alias="disableScreenshot") allow_mic_and_camera: Optional[StrictBool] = Field(default=False, description="Set true allow the use of a fake mic and camera in the browser.", alias="allowMicAndCamera") allow_geolocation: Optional[StrictBool] = Field(default=False, description="Set true to use the agent’s geolocation by the web page.", alias="allowGeolocation") browser_language: Optional[StrictStr] = Field(default=None, description="Set one of the available browser language that you want to use to configure the browser.", alias="browserLanguage") page_loading_strategy: Optional[TestPageLoadingStrategy] = Field(default=None, alias="pageLoadingStrategy") - fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") - override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") - override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "emulatedDeviceId", "followRedirects", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pageLoadTargetTime", "pageLoadTimeLimit", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "pageLoadTargetTime", "pageLoadTimeLimit", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy"] model_config = ConfigDict( populate_by_name=True, @@ -135,7 +139,6 @@ class PageLoadInstantTest(BaseModel): * 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([ "created_by", @@ -149,7 +152,6 @@ class PageLoadInstantTest(BaseModel): "labels", "shared_with_accounts", "ssl_version", - "agents", ]) _dict = self.model_dump( @@ -174,16 +176,15 @@ class PageLoadInstantTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['sharedWithAccounts'] = _items + # override the default output from pydantic by calling `to_dict()` of agent_interfaces + if self.agent_interfaces: + _dict['agentInterfaces'] = self.agent_interfaces.to_dict() # override the default output from pydantic by calling `to_dict()` of custom_headers if self.custom_headers: _dict['customHeaders'] = self.custom_headers.to_dict() - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items + # override the default output from pydantic by calling `to_dict()` of o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() return _dict @classmethod @@ -210,13 +211,14 @@ class PageLoadInstantTest(BaseModel): "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, "authType": obj.get("authType"), + "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, "bandwidthMeasurements": obj.get("bandwidthMeasurements"), "clientCertificate": obj.get("clientCertificate"), "contentRegex": obj.get("contentRegex"), "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None, - "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else '200', - "emulatedDeviceId": obj.get("emulatedDeviceId"), - "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else 'default', + "downloadLimit": obj.get("downloadLimit"), + "dnsOverride": obj.get("dnsOverride"), "httpTargetTime": obj.get("httpTargetTime"), "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5, "httpVersion": obj.get("httpVersion") if obj.get("httpVersion") is not None else 2, @@ -224,8 +226,7 @@ class PageLoadInstantTest(BaseModel): "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, - "pageLoadTargetTime": obj.get("pageLoadTargetTime"), - "pageLoadTimeLimit": obj.get("pageLoadTimeLimit") if obj.get("pageLoadTimeLimit") is not None else 10, + "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, "password": obj.get("password"), "pathTraceMode": obj.get("pathTraceMode"), "probeMode": obj.get("probeMode"), @@ -238,16 +239,20 @@ class PageLoadInstantTest(BaseModel): "username": obj.get("username"), "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else False, "allowUnsafeLegacyRenegotiation": obj.get("allowUnsafeLegacyRenegotiation") if obj.get("allowUnsafeLegacyRenegotiation") is not None else True, + "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "fixedPacketRate": obj.get("fixedPacketRate"), + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "emulatedDeviceId": obj.get("emulatedDeviceId"), + "pageLoadTargetTime": obj.get("pageLoadTargetTime"), + "pageLoadTimeLimit": obj.get("pageLoadTimeLimit") if obj.get("pageLoadTimeLimit") is not None else 10, "blockDomains": obj.get("blockDomains"), "disableScreenshot": obj.get("disableScreenshot") if obj.get("disableScreenshot") is not None else False, "allowMicAndCamera": obj.get("allowMicAndCamera") if obj.get("allowMicAndCamera") is not None else False, "allowGeolocation": obj.get("allowGeolocation") if obj.get("allowGeolocation") is not None else False, "browserLanguage": obj.get("browserLanguage"), - "pageLoadingStrategy": obj.get("pageLoadingStrategy"), - "fixedPacketRate": obj.get("fixedPacketRate"), - "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, - "overrideProxyId": obj.get("overrideProxyId"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "pageLoadingStrategy": obj.get("pageLoadingStrategy") }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_properties.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_properties.py index 039c66d9..f66ab1b1 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_properties.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_properties.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,9 +16,11 @@ import pprint import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated +from thousandeyes_sdk.tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.tests.models.o_auth import OAuth from thousandeyes_sdk.tests.models.test_auth_type import TestAuthType from thousandeyes_sdk.tests.models.test_custom_headers import TestCustomHeaders from thousandeyes_sdk.tests.models.test_page_loading_strategy import TestPageLoadingStrategy @@ -35,13 +36,14 @@ class PageLoadProperties(BaseModel): PageLoadProperties """ # noqa: E501 auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") - content_regex: Optional[StrictStr] = Field(default=None, description="Verify content using a regular expression. This field does not require escaping.", alias="contentRegex") + content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders") - desired_status_code: Optional[StrictStr] = Field(default='200', description="Specify the HTTP status code value that indicates a successful response.", alias="desiredStatusCode") - emulated_device_id: Optional[StrictStr] = Field(default=None, description="id of the emulated device, if one was given when the test was created", alias="emulatedDeviceId") - follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + desired_status_code: Optional[StrictStr] = Field(default='default', description="Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code.", alias="desiredStatusCode") + download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit") + dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride") http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") http_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=5, description="HTTP time limit in seconds.", alias="httpTimeLimit") http_version: Optional[Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(default=2, description="HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1.", alias="httpVersion") @@ -49,8 +51,7 @@ class PageLoadProperties(BaseModel): mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") - page_load_target_time: Optional[Annotated[int, Field(le=30, strict=True, ge=1)]] = Field(default=None, description="Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`.", alias="pageLoadTargetTime") - page_load_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=10, description="Page load time limit. Must be larger than the `httpTimeLimit`.", alias="pageLoadTimeLimit") + o_auth: Optional[OAuth] = Field(default=None, alias="oAuth") password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") @@ -63,17 +64,22 @@ class PageLoadProperties(BaseModel): username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") verify_certificate: Optional[StrictBool] = Field(default=False, description="Ignore or acknowledge certificate errors. Set to false to ignore certificate errors.", alias="verifyCertificate") allow_unsafe_legacy_renegotiation: Optional[StrictBool] = Field(default=True, description="Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation.", alias="allowUnsafeLegacyRenegotiation") + follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if one was given when the test was created.", alias="emulatedDeviceId") + page_load_target_time: Optional[Annotated[int, Field(le=30, strict=True, ge=1)]] = Field(default=None, description="Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`.", alias="pageLoadTargetTime") + page_load_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=10, description="Page load time limit. Must be larger than the `httpTimeLimit`.", alias="pageLoadTimeLimit") block_domains: Optional[StrictStr] = Field(default=None, description="Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests.", alias="blockDomains") disable_screenshot: Optional[StrictBool] = Field(default=False, description="Enables or disables screenshots on error. Set true to not capture", alias="disableScreenshot") allow_mic_and_camera: Optional[StrictBool] = Field(default=False, description="Set true allow the use of a fake mic and camera in the browser.", alias="allowMicAndCamera") allow_geolocation: Optional[StrictBool] = Field(default=False, description="Set true to use the agent’s geolocation by the web page.", alias="allowGeolocation") browser_language: Optional[StrictStr] = Field(default=None, description="Set one of the available browser language that you want to use to configure the browser.", alias="browserLanguage") page_loading_strategy: Optional[TestPageLoadingStrategy] = Field(default=None, alias="pageLoadingStrategy") - fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") type: Optional[StrictStr] = None - override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") - override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") - __properties: ClassVar[List[str]] = ["authType", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "emulatedDeviceId", "followRedirects", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pageLoadTargetTime", "pageLoadTimeLimit", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "fixedPacketRate", "type", "overrideAgentProxy", "overrideProxyId"] + __properties: ClassVar[List[str]] = ["authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "pageLoadTargetTime", "pageLoadTimeLimit", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "type"] model_config = ConfigDict( populate_by_name=True, @@ -119,9 +125,15 @@ class PageLoadProperties(BaseModel): exclude=excluded_fields, exclude_none=True, ) + # override the default output from pydantic by calling `to_dict()` of agent_interfaces + if self.agent_interfaces: + _dict['agentInterfaces'] = self.agent_interfaces.to_dict() # override the default output from pydantic by calling `to_dict()` of custom_headers if self.custom_headers: _dict['customHeaders'] = self.custom_headers.to_dict() + # override the default output from pydantic by calling `to_dict()` of o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() return _dict @classmethod @@ -135,13 +147,14 @@ class PageLoadProperties(BaseModel): _obj = cls.model_validate({ "authType": obj.get("authType"), + "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, "bandwidthMeasurements": obj.get("bandwidthMeasurements"), "clientCertificate": obj.get("clientCertificate"), "contentRegex": obj.get("contentRegex"), "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None, - "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else '200', - "emulatedDeviceId": obj.get("emulatedDeviceId"), - "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else 'default', + "downloadLimit": obj.get("downloadLimit"), + "dnsOverride": obj.get("dnsOverride"), "httpTargetTime": obj.get("httpTargetTime"), "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5, "httpVersion": obj.get("httpVersion") if obj.get("httpVersion") is not None else 2, @@ -149,8 +162,7 @@ class PageLoadProperties(BaseModel): "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, - "pageLoadTargetTime": obj.get("pageLoadTargetTime"), - "pageLoadTimeLimit": obj.get("pageLoadTimeLimit") if obj.get("pageLoadTimeLimit") is not None else 10, + "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, "password": obj.get("password"), "pathTraceMode": obj.get("pathTraceMode"), "probeMode": obj.get("probeMode"), @@ -163,16 +175,21 @@ class PageLoadProperties(BaseModel): "username": obj.get("username"), "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else False, "allowUnsafeLegacyRenegotiation": obj.get("allowUnsafeLegacyRenegotiation") if obj.get("allowUnsafeLegacyRenegotiation") is not None else True, + "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "fixedPacketRate": obj.get("fixedPacketRate"), + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "emulatedDeviceId": obj.get("emulatedDeviceId"), + "pageLoadTargetTime": obj.get("pageLoadTargetTime"), + "pageLoadTimeLimit": obj.get("pageLoadTimeLimit") if obj.get("pageLoadTimeLimit") is not None else 10, "blockDomains": obj.get("blockDomains"), "disableScreenshot": obj.get("disableScreenshot") if obj.get("disableScreenshot") is not None else False, "allowMicAndCamera": obj.get("allowMicAndCamera") if obj.get("allowMicAndCamera") is not None else False, "allowGeolocation": obj.get("allowGeolocation") if obj.get("allowGeolocation") is not None else False, "browserLanguage": obj.get("browserLanguage"), "pageLoadingStrategy": obj.get("pageLoadingStrategy"), - "fixedPacketRate": obj.get("fixedPacketRate"), - "type": obj.get("type"), - "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, - "overrideProxyId": obj.get("overrideProxyId") + "type": obj.get("type") }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_test.py index 09cd9bf1..b0def3ca 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -18,12 +17,13 @@ import re # noqa: F401 import json from datetime import datetime -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent import Agent +from thousandeyes_sdk.tests.models.agent_interfaces import AgentInterfaces from thousandeyes_sdk.tests.models.alert_rule import AlertRule from thousandeyes_sdk.tests.models.monitor import Monitor +from thousandeyes_sdk.tests.models.o_auth import OAuth from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount from thousandeyes_sdk.tests.models.test_auth_type import TestAuthType from thousandeyes_sdk.tests.models.test_custom_headers import TestCustomHeaders @@ -62,13 +62,14 @@ class PageLoadTest(BaseModel): labels: Optional[List[TestLabel]] = None shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") - content_regex: Optional[StrictStr] = Field(default=None, description="Verify content using a regular expression. This field does not require escaping.", alias="contentRegex") + content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders") - desired_status_code: Optional[StrictStr] = Field(default='200', description="Specify the HTTP status code value that indicates a successful response.", alias="desiredStatusCode") - emulated_device_id: Optional[StrictStr] = Field(default=None, description="id of the emulated device, if one was given when the test was created", alias="emulatedDeviceId") - follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + desired_status_code: Optional[StrictStr] = Field(default='default', description="Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code.", alias="desiredStatusCode") + download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit") + dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride") http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") http_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=5, description="HTTP time limit in seconds.", alias="httpTimeLimit") http_version: Optional[Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(default=2, description="HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1.", alias="httpVersion") @@ -76,8 +77,7 @@ class PageLoadTest(BaseModel): mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") - page_load_target_time: Optional[Annotated[int, Field(le=30, strict=True, ge=1)]] = Field(default=None, description="Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`.", alias="pageLoadTargetTime") - page_load_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=10, description="Page load time limit. Must be larger than the `httpTimeLimit`.", alias="pageLoadTimeLimit") + o_auth: Optional[OAuth] = Field(default=None, alias="oAuth") password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") @@ -90,22 +90,26 @@ class PageLoadTest(BaseModel): username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") verify_certificate: Optional[StrictBool] = Field(default=False, description="Ignore or acknowledge certificate errors. Set to false to ignore certificate errors.", alias="verifyCertificate") allow_unsafe_legacy_renegotiation: Optional[StrictBool] = Field(default=True, description="Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation.", alias="allowUnsafeLegacyRenegotiation") + follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if one was given when the test was created.", alias="emulatedDeviceId") + page_load_target_time: Optional[Annotated[int, Field(le=30, strict=True, ge=1)]] = Field(default=None, description="Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`.", alias="pageLoadTargetTime") + page_load_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=10, description="Page load time limit. Must be larger than the `httpTimeLimit`.", alias="pageLoadTimeLimit") block_domains: Optional[StrictStr] = Field(default=None, description="Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests.", alias="blockDomains") disable_screenshot: Optional[StrictBool] = Field(default=False, description="Enables or disables screenshots on error. Set true to not capture", alias="disableScreenshot") allow_mic_and_camera: Optional[StrictBool] = Field(default=False, description="Set true allow the use of a fake mic and camera in the browser.", alias="allowMicAndCamera") allow_geolocation: Optional[StrictBool] = Field(default=False, description="Set true to use the agent’s geolocation by the web page.", alias="allowGeolocation") browser_language: Optional[StrictStr] = Field(default=None, description="Set one of the available browser language that you want to use to configure the browser.", alias="browserLanguage") page_loading_strategy: Optional[TestPageLoadingStrategy] = Field(default=None, alias="pageLoadingStrategy") - fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") - override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") - override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") http_interval: Optional[TestHttpInterval] = Field(default=None, alias="httpInterval") subinterval: Optional[TestSubInterval] = None - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "emulatedDeviceId", "followRedirects", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pageLoadTargetTime", "pageLoadTimeLimit", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "agents", "bgpMeasurements", "usePublicBgp", "monitors", "httpInterval", "subinterval"] + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "pageLoadTargetTime", "pageLoadTimeLimit", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "bgpMeasurements", "usePublicBgp", "monitors", "httpInterval", "subinterval"] model_config = ConfigDict( populate_by_name=True, @@ -150,7 +154,6 @@ class PageLoadTest(BaseModel): * 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([ "created_by", @@ -164,7 +167,6 @@ class PageLoadTest(BaseModel): "labels", "shared_with_accounts", "ssl_version", - "agents", "monitors", ]) @@ -197,16 +199,15 @@ class PageLoadTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['sharedWithAccounts'] = _items + # override the default output from pydantic by calling `to_dict()` of agent_interfaces + if self.agent_interfaces: + _dict['agentInterfaces'] = self.agent_interfaces.to_dict() # override the default output from pydantic by calling `to_dict()` of custom_headers if self.custom_headers: _dict['customHeaders'] = self.custom_headers.to_dict() - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items + # override the default output from pydantic by calling `to_dict()` of o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) _items = [] if self.monitors: @@ -244,13 +245,14 @@ class PageLoadTest(BaseModel): "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, "authType": obj.get("authType"), + "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, "bandwidthMeasurements": obj.get("bandwidthMeasurements"), "clientCertificate": obj.get("clientCertificate"), "contentRegex": obj.get("contentRegex"), "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None, - "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else '200', - "emulatedDeviceId": obj.get("emulatedDeviceId"), - "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else 'default', + "downloadLimit": obj.get("downloadLimit"), + "dnsOverride": obj.get("dnsOverride"), "httpTargetTime": obj.get("httpTargetTime"), "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5, "httpVersion": obj.get("httpVersion") if obj.get("httpVersion") is not None else 2, @@ -258,8 +260,7 @@ class PageLoadTest(BaseModel): "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, - "pageLoadTargetTime": obj.get("pageLoadTargetTime"), - "pageLoadTimeLimit": obj.get("pageLoadTimeLimit") if obj.get("pageLoadTimeLimit") is not None else 10, + "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, "password": obj.get("password"), "pathTraceMode": obj.get("pathTraceMode"), "probeMode": obj.get("probeMode"), @@ -272,16 +273,20 @@ class PageLoadTest(BaseModel): "username": obj.get("username"), "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else False, "allowUnsafeLegacyRenegotiation": obj.get("allowUnsafeLegacyRenegotiation") if obj.get("allowUnsafeLegacyRenegotiation") is not None else True, + "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "fixedPacketRate": obj.get("fixedPacketRate"), + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "emulatedDeviceId": obj.get("emulatedDeviceId"), + "pageLoadTargetTime": obj.get("pageLoadTargetTime"), + "pageLoadTimeLimit": obj.get("pageLoadTimeLimit") if obj.get("pageLoadTimeLimit") is not None else 10, "blockDomains": obj.get("blockDomains"), "disableScreenshot": obj.get("disableScreenshot") if obj.get("disableScreenshot") is not None else False, "allowMicAndCamera": obj.get("allowMicAndCamera") if obj.get("allowMicAndCamera") is not None else False, "allowGeolocation": obj.get("allowGeolocation") if obj.get("allowGeolocation") is not None else False, "browserLanguage": obj.get("browserLanguage"), "pageLoadingStrategy": obj.get("pageLoadingStrategy"), - "fixedPacketRate": obj.get("fixedPacketRate"), - "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, - "overrideProxyId": obj.get("overrideProxyId"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None, diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_page_load_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_test_request.py similarity index 83% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_page_load_test.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_test_request.py index ee53b7fe..e96d6793 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_page_load_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_test_request.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -18,10 +17,12 @@ import re # noqa: F401 import json from datetime import datetime -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent_request import AgentRequest +from thousandeyes_sdk.tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.tests.models.o_auth import OAuth +from thousandeyes_sdk.tests.models.test_agent_request import TestAgentRequest from thousandeyes_sdk.tests.models.test_auth_type import TestAuthType from thousandeyes_sdk.tests.models.test_custom_headers import TestCustomHeaders from thousandeyes_sdk.tests.models.test_http_interval import TestHttpInterval @@ -36,9 +37,9 @@ from thousandeyes_sdk.tests.models.test_sub_interval import TestSubInterval from typing import Optional, Set from typing_extensions import Self -class UpdatePageLoadTest(BaseModel): +class PageLoadTestRequest(BaseModel): """ - UpdatePageLoadTest + PageLoadTestRequest """ # noqa: E501 interval: TestInterval alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") @@ -58,13 +59,14 @@ class UpdatePageLoadTest(BaseModel): labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") - content_regex: Optional[StrictStr] = Field(default=None, description="Verify content using a regular expression. This field does not require escaping.", alias="contentRegex") + content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders") - desired_status_code: Optional[StrictStr] = Field(default='200', description="Specify the HTTP status code value that indicates a successful response.", alias="desiredStatusCode") - emulated_device_id: Optional[StrictStr] = Field(default=None, description="id of the emulated device, if one was given when the test was created", alias="emulatedDeviceId") - follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + desired_status_code: Optional[StrictStr] = Field(default='default', description="Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code.", alias="desiredStatusCode") + download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit") + dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride") http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") http_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=5, description="HTTP time limit in seconds.", alias="httpTimeLimit") http_version: Optional[Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(default=2, description="HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1.", alias="httpVersion") @@ -72,8 +74,7 @@ class UpdatePageLoadTest(BaseModel): mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") - page_load_target_time: Optional[Annotated[int, Field(le=30, strict=True, ge=1)]] = Field(default=None, description="Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`.", alias="pageLoadTargetTime") - page_load_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=10, description="Page load time limit. Must be larger than the `httpTimeLimit`.", alias="pageLoadTimeLimit") + o_auth: Optional[OAuth] = Field(default=None, alias="oAuth") password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") @@ -86,22 +87,27 @@ class UpdatePageLoadTest(BaseModel): username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") verify_certificate: Optional[StrictBool] = Field(default=False, description="Ignore or acknowledge certificate errors. Set to false to ignore certificate errors.", alias="verifyCertificate") allow_unsafe_legacy_renegotiation: Optional[StrictBool] = Field(default=True, description="Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation.", alias="allowUnsafeLegacyRenegotiation") + follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if one was given when the test was created.", alias="emulatedDeviceId") + page_load_target_time: Optional[Annotated[int, Field(le=30, strict=True, ge=1)]] = Field(default=None, description="Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`.", alias="pageLoadTargetTime") + page_load_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=10, description="Page load time limit. Must be larger than the `httpTimeLimit`.", alias="pageLoadTimeLimit") block_domains: Optional[StrictStr] = Field(default=None, description="Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests.", alias="blockDomains") disable_screenshot: Optional[StrictBool] = Field(default=False, description="Enables or disables screenshots on error. Set true to not capture", alias="disableScreenshot") allow_mic_and_camera: Optional[StrictBool] = Field(default=False, description="Set true allow the use of a fake mic and camera in the browser.", alias="allowMicAndCamera") allow_geolocation: Optional[StrictBool] = Field(default=False, description="Set true to use the agent’s geolocation by the web page.", alias="allowGeolocation") browser_language: Optional[StrictStr] = Field(default=None, description="Set one of the available browser language that you want to use to configure the browser.", alias="browserLanguage") page_loading_strategy: Optional[TestPageLoadingStrategy] = Field(default=None, alias="pageLoadingStrategy") - fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") - override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") - override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") - agents: Optional[List[AgentRequest]] = None bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") monitors: Optional[List[StrictStr]] = Field(default=None, description="Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint)") http_interval: Optional[TestHttpInterval] = Field(default=None, alias="httpInterval") subinterval: Optional[TestSubInterval] = None - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "emulatedDeviceId", "followRedirects", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pageLoadTargetTime", "pageLoadTimeLimit", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "agents", "bgpMeasurements", "usePublicBgp", "monitors", "httpInterval", "subinterval"] + agents: List[TestAgentRequest] = Field(description="Contains list of Agent IDs (get `agentId` from `/agents` endpoint).") + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "pageLoadTargetTime", "pageLoadTimeLimit", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "bgpMeasurements", "usePublicBgp", "monitors", "httpInterval", "subinterval", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -122,7 +128,7 @@ class UpdatePageLoadTest(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of UpdatePageLoadTest from a JSON string""" + """Create an instance of PageLoadTestRequest from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -164,9 +170,15 @@ class UpdatePageLoadTest(BaseModel): # override the default output from pydantic by calling `to_dict()` of links if self.links: _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of agent_interfaces + if self.agent_interfaces: + _dict['agentInterfaces'] = self.agent_interfaces.to_dict() # override the default output from pydantic by calling `to_dict()` of custom_headers if self.custom_headers: _dict['customHeaders'] = self.custom_headers.to_dict() + # override the default output from pydantic by calling `to_dict()` of o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() # override the default output from pydantic by calling `to_dict()` of each item in agents (list) _items = [] if self.agents: @@ -178,7 +190,7 @@ class UpdatePageLoadTest(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of UpdatePageLoadTest from a dict""" + """Create an instance of PageLoadTestRequest from a dict""" if obj is None: return None @@ -204,13 +216,14 @@ class UpdatePageLoadTest(BaseModel): "labels": obj.get("labels"), "sharedWithAccounts": obj.get("sharedWithAccounts"), "authType": obj.get("authType"), + "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, "bandwidthMeasurements": obj.get("bandwidthMeasurements"), "clientCertificate": obj.get("clientCertificate"), "contentRegex": obj.get("contentRegex"), "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None, - "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else '200', - "emulatedDeviceId": obj.get("emulatedDeviceId"), - "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else 'default', + "downloadLimit": obj.get("downloadLimit"), + "dnsOverride": obj.get("dnsOverride"), "httpTargetTime": obj.get("httpTargetTime"), "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5, "httpVersion": obj.get("httpVersion") if obj.get("httpVersion") is not None else 2, @@ -218,8 +231,7 @@ class UpdatePageLoadTest(BaseModel): "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, - "pageLoadTargetTime": obj.get("pageLoadTargetTime"), - "pageLoadTimeLimit": obj.get("pageLoadTimeLimit") if obj.get("pageLoadTimeLimit") is not None else 10, + "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, "password": obj.get("password"), "pathTraceMode": obj.get("pathTraceMode"), "probeMode": obj.get("probeMode"), @@ -232,21 +244,26 @@ class UpdatePageLoadTest(BaseModel): "username": obj.get("username"), "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else False, "allowUnsafeLegacyRenegotiation": obj.get("allowUnsafeLegacyRenegotiation") if obj.get("allowUnsafeLegacyRenegotiation") is not None else True, + "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "fixedPacketRate": obj.get("fixedPacketRate"), + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "emulatedDeviceId": obj.get("emulatedDeviceId"), + "pageLoadTargetTime": obj.get("pageLoadTargetTime"), + "pageLoadTimeLimit": obj.get("pageLoadTimeLimit") if obj.get("pageLoadTimeLimit") is not None else 10, "blockDomains": obj.get("blockDomains"), "disableScreenshot": obj.get("disableScreenshot") if obj.get("disableScreenshot") is not None else False, "allowMicAndCamera": obj.get("allowMicAndCamera") if obj.get("allowMicAndCamera") is not None else False, "allowGeolocation": obj.get("allowGeolocation") if obj.get("allowGeolocation") is not None else False, "browserLanguage": obj.get("browserLanguage"), "pageLoadingStrategy": obj.get("pageLoadingStrategy"), - "fixedPacketRate": obj.get("fixedPacketRate"), - "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, - "overrideProxyId": obj.get("overrideProxyId"), - "agents": [AgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, "monitors": obj.get("monitors"), "httpInterval": obj.get("httpInterval"), - "subinterval": obj.get("subinterval") + "subinterval": obj.get("subinterval"), + "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_test_response.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_test_response.py new file mode 100644 index 00000000..0c9bb605 --- /dev/null +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_test_response.py @@ -0,0 +1,308 @@ +# coding: utf-8 + +""" + Tests API + + This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from thousandeyes_sdk.tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.tests.models.agent_response import AgentResponse +from thousandeyes_sdk.tests.models.alert_rule import AlertRule +from thousandeyes_sdk.tests.models.monitor import Monitor +from thousandeyes_sdk.tests.models.o_auth import OAuth +from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount +from thousandeyes_sdk.tests.models.test_auth_type import TestAuthType +from thousandeyes_sdk.tests.models.test_custom_headers import TestCustomHeaders +from thousandeyes_sdk.tests.models.test_http_interval import TestHttpInterval +from thousandeyes_sdk.tests.models.test_interval import TestInterval +from thousandeyes_sdk.tests.models.test_label import TestLabel +from thousandeyes_sdk.tests.models.test_links import TestLinks +from thousandeyes_sdk.tests.models.test_page_loading_strategy import TestPageLoadingStrategy +from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode +from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode +from thousandeyes_sdk.tests.models.test_protocol import TestProtocol +from thousandeyes_sdk.tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.tests.models.test_sub_interval import TestSubInterval +from typing import Optional, Set +from typing_extensions import Self + +class PageLoadTestResponse(BaseModel): + """ + PageLoadTestResponse + """ # noqa: E501 + interval: TestInterval + alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") + enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") + alert_rules: Optional[List[AlertRule]] = Field(default=None, description="Contains list of enabled alert rule objects.", alias="alertRules") + created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") + created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") + description: Optional[StrictStr] = Field(default=None, description="A description of the test.") + live_share: Optional[StrictBool] = Field(default=None, description="Indicates if the test is shared with the account group.", alias="liveShare") + modified_by: Optional[StrictStr] = Field(default=None, description="User that modified the test.", alias="modifiedBy") + modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") + saved_event: Optional[StrictBool] = Field(default=None, description="Indicates if the test is a saved event.", alias="savedEvent") + test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned an unique ID; this is used to access test information and results from other endpoints.", alias="testId") + test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") + type: Optional[StrictStr] = None + links: Optional[TestLinks] = Field(default=None, alias="_links") + labels: Optional[List[TestLabel]] = None + shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") + auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") + bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") + client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") + content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") + custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders") + desired_status_code: Optional[StrictStr] = Field(default='default', description="Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code.", alias="desiredStatusCode") + download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit") + dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride") + http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") + http_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=5, description="HTTP time limit in seconds.", alias="httpTimeLimit") + http_version: Optional[Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(default=2, description="HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1.", alias="httpVersion") + include_headers: Optional[StrictBool] = Field(default=True, description="Set to `true` to capture response headers for objects loaded by the test.", alias="includeHeaders") + mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") + network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") + num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + o_auth: Optional[OAuth] = Field(default=None, alias="oAuth") + password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") + path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") + probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") + protocol: Optional[TestProtocol] = None + ssl_version: Optional[StrictStr] = Field(default=None, description="Reflects the verbose SSL protocol version used by a test.", alias="sslVersion") + ssl_version_id: Optional[TestSslVersionId] = Field(default=None, alias="sslVersionId") + url: StrictStr = Field(description="Target for the test.") + use_ntlm: Optional[StrictBool] = Field(default=None, description="Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set.", alias="useNtlm") + user_agent: Optional[StrictStr] = Field(default=None, description="User-agent string to be provided during the test.", alias="userAgent") + username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") + verify_certificate: Optional[StrictBool] = Field(default=False, description="Ignore or acknowledge certificate errors. Set to false to ignore certificate errors.", alias="verifyCertificate") + allow_unsafe_legacy_renegotiation: Optional[StrictBool] = Field(default=True, description="Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation.", alias="allowUnsafeLegacyRenegotiation") + follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if one was given when the test was created.", alias="emulatedDeviceId") + page_load_target_time: Optional[Annotated[int, Field(le=30, strict=True, ge=1)]] = Field(default=None, description="Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`.", alias="pageLoadTargetTime") + page_load_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=10, description="Page load time limit. Must be larger than the `httpTimeLimit`.", alias="pageLoadTimeLimit") + block_domains: Optional[StrictStr] = Field(default=None, description="Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests.", alias="blockDomains") + disable_screenshot: Optional[StrictBool] = Field(default=False, description="Enables or disables screenshots on error. Set true to not capture", alias="disableScreenshot") + allow_mic_and_camera: Optional[StrictBool] = Field(default=False, description="Set true allow the use of a fake mic and camera in the browser.", alias="allowMicAndCamera") + allow_geolocation: Optional[StrictBool] = Field(default=False, description="Set true to use the agent’s geolocation by the web page.", alias="allowGeolocation") + browser_language: Optional[StrictStr] = Field(default=None, description="Set one of the available browser language that you want to use to configure the browser.", alias="browserLanguage") + page_loading_strategy: Optional[TestPageLoadingStrategy] = Field(default=None, alias="pageLoadingStrategy") + bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") + use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") + monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") + http_interval: Optional[TestHttpInterval] = Field(default=None, alias="httpInterval") + subinterval: Optional[TestSubInterval] = None + agents: Optional[List[AgentResponse]] = Field(default=None, description="Contains list of agents.") + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "pageLoadTargetTime", "pageLoadTimeLimit", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "bgpMeasurements", "usePublicBgp", "monitors", "httpInterval", "subinterval", "agents"] + + 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 PageLoadTestResponse 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. + * 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([ + "created_by", + "created_date", + "live_share", + "modified_by", + "modified_date", + "saved_event", + "test_id", + "type", + "labels", + "shared_with_accounts", + "ssl_version", + "monitors", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in alert_rules (list) + _items = [] + if self.alert_rules: + for _item in self.alert_rules: + if _item: + _items.append(_item.to_dict()) + _dict['alertRules'] = _items + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in labels (list) + _items = [] + if self.labels: + for _item in self.labels: + if _item: + _items.append(_item.to_dict()) + _dict['labels'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in shared_with_accounts (list) + _items = [] + if self.shared_with_accounts: + for _item in self.shared_with_accounts: + if _item: + _items.append(_item.to_dict()) + _dict['sharedWithAccounts'] = _items + # override the default output from pydantic by calling `to_dict()` of agent_interfaces + if self.agent_interfaces: + _dict['agentInterfaces'] = self.agent_interfaces.to_dict() + # override the default output from pydantic by calling `to_dict()` of custom_headers + if self.custom_headers: + _dict['customHeaders'] = self.custom_headers.to_dict() + # override the default output from pydantic by calling `to_dict()` of o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) + _items = [] + if self.monitors: + for _item in self.monitors: + if _item: + _items.append(_item.to_dict()) + _dict['monitors'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in agents (list) + _items = [] + if self.agents: + for _item in self.agents: + if _item: + _items.append(_item.to_dict()) + _dict['agents'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PageLoadTestResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "interval": obj.get("interval"), + "alertsEnabled": obj.get("alertsEnabled"), + "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, + "alertRules": [AlertRule.from_dict(_item) for _item in obj["alertRules"]] if obj.get("alertRules") is not None else None, + "createdBy": obj.get("createdBy"), + "createdDate": obj.get("createdDate"), + "description": obj.get("description"), + "liveShare": obj.get("liveShare"), + "modifiedBy": obj.get("modifiedBy"), + "modifiedDate": obj.get("modifiedDate"), + "savedEvent": obj.get("savedEvent"), + "testId": obj.get("testId"), + "testName": obj.get("testName"), + "type": obj.get("type"), + "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, + "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, + "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, + "authType": obj.get("authType"), + "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, + "bandwidthMeasurements": obj.get("bandwidthMeasurements"), + "clientCertificate": obj.get("clientCertificate"), + "contentRegex": obj.get("contentRegex"), + "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None, + "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else 'default', + "downloadLimit": obj.get("downloadLimit"), + "dnsOverride": obj.get("dnsOverride"), + "httpTargetTime": obj.get("httpTargetTime"), + "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5, + "httpVersion": obj.get("httpVersion") if obj.get("httpVersion") is not None else 2, + "includeHeaders": obj.get("includeHeaders") if obj.get("includeHeaders") is not None else True, + "mtuMeasurements": obj.get("mtuMeasurements"), + "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, + "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, + "password": obj.get("password"), + "pathTraceMode": obj.get("pathTraceMode"), + "probeMode": obj.get("probeMode"), + "protocol": obj.get("protocol"), + "sslVersion": obj.get("sslVersion"), + "sslVersionId": obj.get("sslVersionId"), + "url": obj.get("url"), + "useNtlm": obj.get("useNtlm"), + "userAgent": obj.get("userAgent"), + "username": obj.get("username"), + "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else False, + "allowUnsafeLegacyRenegotiation": obj.get("allowUnsafeLegacyRenegotiation") if obj.get("allowUnsafeLegacyRenegotiation") is not None else True, + "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "fixedPacketRate": obj.get("fixedPacketRate"), + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "emulatedDeviceId": obj.get("emulatedDeviceId"), + "pageLoadTargetTime": obj.get("pageLoadTargetTime"), + "pageLoadTimeLimit": obj.get("pageLoadTimeLimit") if obj.get("pageLoadTimeLimit") is not None else 10, + "blockDomains": obj.get("blockDomains"), + "disableScreenshot": obj.get("disableScreenshot") if obj.get("disableScreenshot") is not None else False, + "allowMicAndCamera": obj.get("allowMicAndCamera") if obj.get("allowMicAndCamera") is not None else False, + "allowGeolocation": obj.get("allowGeolocation") if obj.get("allowGeolocation") is not None else False, + "browserLanguage": obj.get("browserLanguage"), + "pageLoadingStrategy": obj.get("pageLoadingStrategy"), + "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, + "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, + "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None, + "httpInterval": obj.get("httpInterval"), + "subinterval": obj.get("subinterval"), + "agents": [AgentResponse.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_tests.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_tests.py index ab283ca4..d96bb712 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_tests.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/page_load_tests.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/request_method.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/request_method.py new file mode 100644 index 00000000..5941bf93 --- /dev/null +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/request_method.py @@ -0,0 +1,46 @@ +# coding: utf-8 + +""" + Tests API + + This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. + + 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 RequestMethod(str, Enum): + """ + HTTP request method. + """ + + """ + allowed enum values + """ + GET = 'get' + POST = 'post' + PUT = 'put' + DELETE = 'delete' + PATCH = 'patch' + OPTIONS = 'options' + TRACE = 'trace' + UNKNOWN = 'unknown' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of RequestMethod from a JSON string""" + return cls(json.loads(json_str)) + + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN + diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/self_links.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/self_links.py index 3475e426..185e872b 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/self_links.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/self_links.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sensitivity_level.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sensitivity_level.py new file mode 100644 index 00000000..3f60f0dd --- /dev/null +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sensitivity_level.py @@ -0,0 +1,42 @@ +# coding: utf-8 + +""" + Tests API + + This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. + + 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 SensitivityLevel(str, Enum): + """ + Used when `roundsViolatingMode` is set to `auto`. The default is `medium`. Higher sensitivity increases the likelihood of triggering alerts. + """ + + """ + allowed enum values + """ + HIGH = 'high' + MEDIUM = 'medium' + LOW = 'low' + UNKNOWN = 'unknown' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of SensitivityLevel from a JSON string""" + return cls(json.loads(json_str)) + + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN + diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/severity.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/severity.py index 2c845b3c..58f06ccb 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/severity.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/severity.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -37,4 +36,8 @@ class Severity(str, Enum): """Create an instance of Severity from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/shared_with_account.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/shared_with_account.py index 17fd926d..3b03b77f 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/shared_with_account.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/shared_with_account.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/simple_agent.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/simple_agent.py index bea11cc4..093377e0 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/simple_agent.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/simple_agent.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/simple_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/simple_test.py index 893faf64..9aff2bd8 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/simple_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/simple_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_server_instant_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_server_instant_test.py index a15ee03f..23390ae7 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_server_instant_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_server_instant_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,7 +20,6 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent import Agent from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount from thousandeyes_sdk.tests.models.test_ipv6_policy import TestIpv6Policy from thousandeyes_sdk.tests.models.test_label import TestLabel @@ -59,8 +57,7 @@ class SipServerInstantTest(BaseModel): sip_time_limit: Optional[Annotated[int, Field(le=10, strict=True, ge=5)]] = Field(default=5, description="Time limit in milliseconds.", alias="sipTimeLimit") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "mtuMeasurements", "networkMeasurements", "numPathTraces", "optionsRegex", "pathTraceMode", "probeMode", "registerEnabled", "sipTargetTime", "sipTimeLimit", "fixedPacketRate", "ipv6Policy", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "mtuMeasurements", "networkMeasurements", "numPathTraces", "optionsRegex", "pathTraceMode", "probeMode", "registerEnabled", "sipTargetTime", "sipTimeLimit", "fixedPacketRate", "ipv6Policy"] model_config = ConfigDict( populate_by_name=True, @@ -103,7 +100,6 @@ class SipServerInstantTest(BaseModel): * 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([ "created_by", @@ -116,7 +112,6 @@ class SipServerInstantTest(BaseModel): "type", "labels", "shared_with_accounts", - "agents", ]) _dict = self.model_dump( @@ -141,13 +136,6 @@ class SipServerInstantTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['sharedWithAccounts'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items return _dict @classmethod @@ -183,8 +171,7 @@ class SipServerInstantTest(BaseModel): "sipTargetTime": obj.get("sipTargetTime"), "sipTimeLimit": obj.get("sipTimeLimit") if obj.get("sipTimeLimit") is not None else 5, "fixedPacketRate": obj.get("fixedPacketRate"), - "ipv6Policy": obj.get("ipv6Policy"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "ipv6Policy": obj.get("ipv6Policy") }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_server_properties.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_server_properties.py index bfdafccc..5c538ec9 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_server_properties.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_server_properties.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_server_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_server_test.py index 94cddcd8..cff88e8e 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_server_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_server_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,7 +20,6 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent import Agent from thousandeyes_sdk.tests.models.alert_rule import AlertRule from thousandeyes_sdk.tests.models.monitor import Monitor from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount @@ -43,6 +41,9 @@ class SipServerTest(BaseModel): alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") alert_rules: Optional[List[AlertRule]] = Field(default=None, description="Contains list of enabled alert rule objects.", alias="alertRules") + bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") + use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") + monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") description: Optional[StrictStr] = Field(default=None, description="A description of the test.") @@ -67,17 +68,13 @@ class SipServerTest(BaseModel): sip_time_limit: Optional[Annotated[int, Field(le=10, strict=True, ge=5)]] = Field(default=5, description="Time limit in milliseconds.", alias="sipTimeLimit") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") auth_user: Optional[StrictStr] = Field(default=None, description="Username for authentication with SIP server.", alias="authUser") password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") port: Annotated[int, Field(le=65535, strict=True, ge=1)] = Field(description="Target port.") protocol: Optional[SipTestProtocol] = None sip_registrar: Optional[StrictStr] = Field(default=None, description="SIP server to be tested, specified by domain name or IP address.", alias="sipRegistrar") user: Optional[StrictStr] = Field(default=None, description="Username for SIP registration, should be unique within a ThousandEyes account group.") - bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") - use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") - monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "mtuMeasurements", "networkMeasurements", "numPathTraces", "optionsRegex", "pathTraceMode", "probeMode", "registerEnabled", "sipTargetTime", "sipTimeLimit", "fixedPacketRate", "ipv6Policy", "agents", "authUser", "password", "port", "protocol", "sipRegistrar", "user", "bgpMeasurements", "usePublicBgp", "monitors"] + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "bgpMeasurements", "usePublicBgp", "monitors", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "mtuMeasurements", "networkMeasurements", "numPathTraces", "optionsRegex", "pathTraceMode", "probeMode", "registerEnabled", "sipTargetTime", "sipTimeLimit", "fixedPacketRate", "ipv6Policy", "authUser", "password", "port", "protocol", "sipRegistrar", "user"] model_config = ConfigDict( populate_by_name=True, @@ -121,9 +118,9 @@ class SipServerTest(BaseModel): * 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([ + "monitors", "created_by", "created_date", "live_share", @@ -134,8 +131,6 @@ class SipServerTest(BaseModel): "type", "labels", "shared_with_accounts", - "agents", - "monitors", ]) _dict = self.model_dump( @@ -150,6 +145,13 @@ class SipServerTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['alertRules'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) + _items = [] + if self.monitors: + for _item in self.monitors: + if _item: + _items.append(_item.to_dict()) + _dict['monitors'] = _items # override the default output from pydantic by calling `to_dict()` of links if self.links: _dict['_links'] = self.links.to_dict() @@ -167,20 +169,6 @@ class SipServerTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['sharedWithAccounts'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) - _items = [] - if self.monitors: - for _item in self.monitors: - if _item: - _items.append(_item.to_dict()) - _dict['monitors'] = _items return _dict @classmethod @@ -197,6 +185,9 @@ class SipServerTest(BaseModel): "alertsEnabled": obj.get("alertsEnabled"), "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, "alertRules": [AlertRule.from_dict(_item) for _item in obj["alertRules"]] if obj.get("alertRules") is not None else None, + "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, + "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, + "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None, "createdBy": obj.get("createdBy"), "createdDate": obj.get("createdDate"), "description": obj.get("description"), @@ -221,16 +212,12 @@ class SipServerTest(BaseModel): "sipTimeLimit": obj.get("sipTimeLimit") if obj.get("sipTimeLimit") is not None else 5, "fixedPacketRate": obj.get("fixedPacketRate"), "ipv6Policy": obj.get("ipv6Policy"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, "authUser": obj.get("authUser"), "password": obj.get("password"), "port": obj.get("port") if obj.get("port") is not None else 49153, "protocol": obj.get("protocol"), "sipRegistrar": obj.get("sipRegistrar"), - "user": obj.get("user"), - "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, - "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, - "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None + "user": obj.get("user") }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_server_test_request.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_server_test_request.py new file mode 100644 index 00000000..36413870 --- /dev/null +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_server_test_request.py @@ -0,0 +1,199 @@ +# coding: utf-8 + +""" + Tests API + + This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from thousandeyes_sdk.tests.models.monitor import Monitor +from thousandeyes_sdk.tests.models.test_agent_request import TestAgentRequest +from thousandeyes_sdk.tests.models.test_interval import TestInterval +from thousandeyes_sdk.tests.models.test_ipv6_policy import TestIpv6Policy +from thousandeyes_sdk.tests.models.test_links import TestLinks +from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode +from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode +from thousandeyes_sdk.tests.models.test_sip_credentials import TestSipCredentials +from typing import Optional, Set +from typing_extensions import Self + +class SipServerTestRequest(BaseModel): + """ + SipServerTestRequest + """ # noqa: E501 + interval: TestInterval + alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") + enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") + alert_rules: Optional[List[StrictStr]] = Field(default=None, description="List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used)", alias="alertRules") + created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") + created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") + description: Optional[StrictStr] = Field(default=None, description="A description of the test.") + live_share: Optional[StrictBool] = Field(default=None, description="Indicates if the test is shared with the account group.", alias="liveShare") + modified_by: Optional[StrictStr] = Field(default=None, description="User that modified the test.", alias="modifiedBy") + modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") + saved_event: Optional[StrictBool] = Field(default=None, description="Indicates if the test is a saved event.", alias="savedEvent") + test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned an unique ID; this is used to access test information and results from other endpoints.", alias="testId") + test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") + type: Optional[StrictStr] = None + links: Optional[TestLinks] = Field(default=None, alias="_links") + labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") + shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") + mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") + network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") + num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + options_regex: Optional[StrictStr] = Field(default=None, description="Options regex, this field does not require escaping.", alias="optionsRegex") + path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") + probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") + register_enabled: Optional[StrictBool] = Field(default=False, description="Set to true to perform SIP registration on the test target with the SIP REGISTER command.", alias="registerEnabled") + sip_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for test completion in milliseconds.", alias="sipTargetTime") + sip_time_limit: Optional[Annotated[int, Field(le=10, strict=True, ge=5)]] = Field(default=5, description="Time limit in milliseconds.", alias="sipTimeLimit") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") + bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") + use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") + monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") + target_sip_credentials: TestSipCredentials = Field(alias="targetSipCredentials") + agents: List[TestAgentRequest] = Field(description="Contains list of Agent IDs (get `agentId` from `/agents` endpoint).") + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "mtuMeasurements", "networkMeasurements", "numPathTraces", "optionsRegex", "pathTraceMode", "probeMode", "registerEnabled", "sipTargetTime", "sipTimeLimit", "fixedPacketRate", "ipv6Policy", "bgpMeasurements", "usePublicBgp", "monitors", "targetSipCredentials", "agents"] + + 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 SipServerTestRequest 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. + * OpenAPI `readOnly` fields are excluded. + """ + excluded_fields: Set[str] = set([ + "created_by", + "created_date", + "live_share", + "modified_by", + "modified_date", + "saved_event", + "test_id", + "type", + "monitors", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) + _items = [] + if self.monitors: + for _item in self.monitors: + if _item: + _items.append(_item.to_dict()) + _dict['monitors'] = _items + # override the default output from pydantic by calling `to_dict()` of target_sip_credentials + if self.target_sip_credentials: + _dict['targetSipCredentials'] = self.target_sip_credentials.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in agents (list) + _items = [] + if self.agents: + for _item in self.agents: + if _item: + _items.append(_item.to_dict()) + _dict['agents'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SipServerTestRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "interval": obj.get("interval"), + "alertsEnabled": obj.get("alertsEnabled"), + "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, + "alertRules": obj.get("alertRules"), + "createdBy": obj.get("createdBy"), + "createdDate": obj.get("createdDate"), + "description": obj.get("description"), + "liveShare": obj.get("liveShare"), + "modifiedBy": obj.get("modifiedBy"), + "modifiedDate": obj.get("modifiedDate"), + "savedEvent": obj.get("savedEvent"), + "testId": obj.get("testId"), + "testName": obj.get("testName"), + "type": obj.get("type"), + "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, + "labels": obj.get("labels"), + "sharedWithAccounts": obj.get("sharedWithAccounts"), + "mtuMeasurements": obj.get("mtuMeasurements"), + "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, + "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "optionsRegex": obj.get("optionsRegex"), + "pathTraceMode": obj.get("pathTraceMode"), + "probeMode": obj.get("probeMode"), + "registerEnabled": obj.get("registerEnabled") if obj.get("registerEnabled") is not None else False, + "sipTargetTime": obj.get("sipTargetTime"), + "sipTimeLimit": obj.get("sipTimeLimit") if obj.get("sipTimeLimit") is not None else 5, + "fixedPacketRate": obj.get("fixedPacketRate"), + "ipv6Policy": obj.get("ipv6Policy"), + "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, + "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, + "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None, + "targetSipCredentials": TestSipCredentials.from_dict(obj["targetSipCredentials"]) if obj.get("targetSipCredentials") is not None else None, + "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_sip_server_test1.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_server_test_response.py similarity index 84% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_sip_server_test1.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_server_test_response.py index 82eb8851..a4d87975 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_sip_server_test1.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_server_test_response.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,28 +20,31 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent import Agent +from thousandeyes_sdk.tests.models.agent_response import AgentResponse from thousandeyes_sdk.tests.models.alert_rule import AlertRule from thousandeyes_sdk.tests.models.monitor import Monitor from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount +from thousandeyes_sdk.tests.models.sip_test_protocol import SipTestProtocol from thousandeyes_sdk.tests.models.test_interval import TestInterval from thousandeyes_sdk.tests.models.test_ipv6_policy import TestIpv6Policy from thousandeyes_sdk.tests.models.test_label import TestLabel from thousandeyes_sdk.tests.models.test_links import TestLinks from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode -from thousandeyes_sdk.tests.models.test_sip_credentials import TestSipCredentials from typing import Optional, Set from typing_extensions import Self -class UpdateSipServerTest1(BaseModel): +class SipServerTestResponse(BaseModel): """ - UpdateSipServerTest1 + SipServerTestResponse """ # noqa: E501 interval: TestInterval alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") alert_rules: Optional[List[AlertRule]] = Field(default=None, description="Contains list of enabled alert rule objects.", alias="alertRules") + bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") + use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") + monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") description: Optional[StrictStr] = Field(default=None, description="A description of the test.") @@ -67,12 +69,14 @@ class UpdateSipServerTest1(BaseModel): sip_time_limit: Optional[Annotated[int, Field(le=10, strict=True, ge=5)]] = Field(default=5, description="Time limit in milliseconds.", alias="sipTimeLimit") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") - target_sip_credentials: TestSipCredentials = Field(alias="targetSipCredentials") - bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") - use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") - monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "mtuMeasurements", "networkMeasurements", "numPathTraces", "optionsRegex", "pathTraceMode", "probeMode", "registerEnabled", "sipTargetTime", "sipTimeLimit", "fixedPacketRate", "ipv6Policy", "agents", "targetSipCredentials", "bgpMeasurements", "usePublicBgp", "monitors"] + auth_user: Optional[StrictStr] = Field(default=None, description="Username for authentication with SIP server.", alias="authUser") + password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") + port: Annotated[int, Field(le=65535, strict=True, ge=1)] = Field(description="Target port.") + protocol: Optional[SipTestProtocol] = None + sip_registrar: Optional[StrictStr] = Field(default=None, description="SIP server to be tested, specified by domain name or IP address.", alias="sipRegistrar") + user: Optional[StrictStr] = Field(default=None, description="Username for SIP registration, should be unique within a ThousandEyes account group.") + agents: Optional[List[AgentResponse]] = Field(default=None, description="Contains list of agents.") + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "bgpMeasurements", "usePublicBgp", "monitors", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "mtuMeasurements", "networkMeasurements", "numPathTraces", "optionsRegex", "pathTraceMode", "probeMode", "registerEnabled", "sipTargetTime", "sipTimeLimit", "fixedPacketRate", "ipv6Policy", "authUser", "password", "port", "protocol", "sipRegistrar", "user", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -93,7 +97,7 @@ class UpdateSipServerTest1(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of UpdateSipServerTest1 from a JSON string""" + """Create an instance of SipServerTestResponse from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -116,9 +120,9 @@ class UpdateSipServerTest1(BaseModel): * 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([ + "monitors", "created_by", "created_date", "live_share", @@ -129,8 +133,6 @@ class UpdateSipServerTest1(BaseModel): "type", "labels", "shared_with_accounts", - "agents", - "monitors", ]) _dict = self.model_dump( @@ -145,6 +147,13 @@ class UpdateSipServerTest1(BaseModel): if _item: _items.append(_item.to_dict()) _dict['alertRules'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) + _items = [] + if self.monitors: + for _item in self.monitors: + if _item: + _items.append(_item.to_dict()) + _dict['monitors'] = _items # override the default output from pydantic by calling `to_dict()` of links if self.links: _dict['_links'] = self.links.to_dict() @@ -169,21 +178,11 @@ class UpdateSipServerTest1(BaseModel): if _item: _items.append(_item.to_dict()) _dict['agents'] = _items - # override the default output from pydantic by calling `to_dict()` of target_sip_credentials - if self.target_sip_credentials: - _dict['targetSipCredentials'] = self.target_sip_credentials.to_dict() - # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) - _items = [] - if self.monitors: - for _item in self.monitors: - if _item: - _items.append(_item.to_dict()) - _dict['monitors'] = _items return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of UpdateSipServerTest1 from a dict""" + """Create an instance of SipServerTestResponse from a dict""" if obj is None: return None @@ -195,6 +194,9 @@ class UpdateSipServerTest1(BaseModel): "alertsEnabled": obj.get("alertsEnabled"), "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, "alertRules": [AlertRule.from_dict(_item) for _item in obj["alertRules"]] if obj.get("alertRules") is not None else None, + "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, + "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, + "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None, "createdBy": obj.get("createdBy"), "createdDate": obj.get("createdDate"), "description": obj.get("description"), @@ -219,11 +221,13 @@ class UpdateSipServerTest1(BaseModel): "sipTimeLimit": obj.get("sipTimeLimit") if obj.get("sipTimeLimit") is not None else 5, "fixedPacketRate": obj.get("fixedPacketRate"), "ipv6Policy": obj.get("ipv6Policy"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, - "targetSipCredentials": TestSipCredentials.from_dict(obj["targetSipCredentials"]) if obj.get("targetSipCredentials") is not None else None, - "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, - "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, - "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None + "authUser": obj.get("authUser"), + "password": obj.get("password"), + "port": obj.get("port") if obj.get("port") is not None else 49153, + "protocol": obj.get("protocol"), + "sipRegistrar": obj.get("sipRegistrar"), + "user": obj.get("user"), + "agents": [AgentResponse.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_server_tests.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_server_tests.py index 308913d1..34b18c9d 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_server_tests.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_server_tests.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_test_protocol.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_test_protocol.py index 7adc600d..8388cf2a 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_test_protocol.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/sip_test_protocol.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class SipTestProtocol(str, Enum): TCP = 'tcp' TLS = 'tls' UDP = 'udp' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of SipTestProtocol from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_request.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_agent_request.py similarity index 83% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_request.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_agent_request.py index 0010bdf6..ee061f99 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/agent_request.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_agent_request.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,12 +21,12 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self -class AgentRequest(BaseModel): +class TestAgentRequest(BaseModel): """ - AgentRequest + TestAgentRequest """ # noqa: E501 - agent_id: StrictStr = Field(description="Agent Id (get `agentId` from `/agents` endpoint)", alias="agentId") - source_ip_address: Optional[StrictStr] = Field(default=None, description="IP address from `ipAddresses` of Agent Details for interface selection (get `ipAddresses` from `/agents` endpoint)", alias="sourceIpAddress") + agent_id: StrictStr = Field(description="The agent ID. Get `agentId` from `/agents` endpoint.", alias="agentId") + source_ip_address: Optional[StrictStr] = Field(default=None, description="The IP address from the `ipAddresses` field in agent details, used for interface selection. Get `ipAddresses` from the `/agents` endpoint.", alias="sourceIpAddress") __properties: ClassVar[List[str]] = ["agentId", "sourceIpAddress"] model_config = ConfigDict( @@ -49,7 +48,7 @@ class AgentRequest(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of AgentRequest from a JSON string""" + """Create an instance of TestAgentRequest from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -74,7 +73,7 @@ class AgentRequest(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of AgentRequest from a dict""" + """Create an instance of TestAgentRequest from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_auth_type.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_auth_type.py index 54a7765c..108c3b49 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_auth_type.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_auth_type.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -31,10 +30,15 @@ class TestAuthType(str, Enum): NTLM = 'ntlm' KERBEROS = 'kerberos' OAUTH = 'oauth' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestAuthType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_custom_headers.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_custom_headers.py index 6f8d1186..42a0e4fc 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_custom_headers.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_custom_headers.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_direction.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_direction.py index f6b6542a..e3d87bfd 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_direction.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_direction.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class TestDirection(str, Enum): TO_MINUS_TARGET = 'to-target' FROM_MINUS_TARGET = 'from-target' BIDIRECTIONAL = 'bidirectional' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestDirection from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_dns_server.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_dns_server.py index 5587ab4e..70f151a9 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_dns_server.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_dns_server.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_dns_transport_protocol.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_dns_transport_protocol.py index 3da1fcb4..b892aab9 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_dns_transport_protocol.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_dns_transport_protocol.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class TestDnsTransportProtocol(str, Enum): """ UDP = 'udp' TCP = 'tcp' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestDnsTransportProtocol from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_dscp_id.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_dscp_id.py index 29c0eeb4..9b09415d 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_dscp_id.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_dscp_id.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -48,10 +47,15 @@ class TestDscpId(str, Enum): ENUM_38 = '38' ENUM_46 = '46' ENUM_44 = '44' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestDscpId from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_http_interval.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_http_interval.py index d3e1abfc..87ed060b 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_http_interval.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_http_interval.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -33,10 +32,15 @@ class TestHttpInterval(int, Enum): NUMBER_900 = 900 NUMBER_1800 = 1800 NUMBER_3600 = 3600 + NUMBER_11184809 = 11184809 @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestHttpInterval from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_interval.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_interval.py index 7bc669ff..1f326e71 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_interval.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_interval.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -33,10 +32,15 @@ class TestInterval(int, Enum): NUMBER_900 = 900 NUMBER_1800 = 1800 NUMBER_3600 = 3600 + NUMBER_11184809 = 11184809 @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestInterval from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_ipv6_policy.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_ipv6_policy.py index 608fdf8e..99ec284a 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_ipv6_policy.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_ipv6_policy.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -30,10 +29,15 @@ class TestIpv6Policy(str, Enum): PREFER_MINUS_IPV6 = 'prefer-ipv6' FORCE_MINUS_IPV6 = 'force-ipv6' USE_MINUS_AGENT_MINUS_POLICY = 'use-agent-policy' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestIpv6Policy from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_label.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_label.py index 12f5d0f0..a6fc7f6f 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_label.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_label.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_links.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_links.py index c065922b..c7faef37 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_links.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_links.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_monitors_properties.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_monitors_properties.py index 8698549d..0a96bbdf 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_monitors_properties.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_monitors_properties.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_page_loading_strategy.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_page_loading_strategy.py index b49a0fb8..59be15b8 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_page_loading_strategy.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_page_loading_strategy.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class TestPageLoadingStrategy(str, Enum): NORMAL = 'normal' EAGER = 'eager' NONE = 'none' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestPageLoadingStrategy from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_path_trace_mode.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_path_trace_mode.py index f9ccd9b1..58670b7c 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_path_trace_mode.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_path_trace_mode.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -28,10 +27,15 @@ class TestPathTraceMode(str, Enum): """ CLASSIC = 'classic' IN_MINUS_SESSION = 'in-session' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestPathTraceMode from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_probe_mode.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_probe_mode.py index 11d00a0a..e3b8a08d 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_probe_mode.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_probe_mode.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class TestProbeMode(str, Enum): AUTO = 'auto' SACK = 'sack' SYN = 'syn' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestProbeMode from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_protocol.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_protocol.py index 169af416..7afe61fd 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_protocol.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_protocol.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -29,10 +28,15 @@ class TestProtocol(str, Enum): TCP = 'tcp' ICMP = 'icmp' UDP = 'udp' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestProtocol from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_request.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_request.py index 6a8dd32d..0ed1b305 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_request.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_request.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -19,7 +18,7 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictStr from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.tests.models.agent_request import AgentRequest +from thousandeyes_sdk.tests.models.test_agent_request import TestAgentRequest from typing import Optional, Set from typing_extensions import Self @@ -30,7 +29,7 @@ class TestRequest(BaseModel): labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") alert_rules: Optional[List[StrictStr]] = Field(default=None, description="List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used)", alias="alertRules") - agents: Optional[List[AgentRequest]] = None + agents: List[TestAgentRequest] = Field(description="Contains list of Agent IDs (get `agentId` from `/agents` endpoint).") __properties: ClassVar[List[str]] = ["labels", "sharedWithAccounts", "alertRules", "agents"] model_config = ConfigDict( @@ -95,7 +94,7 @@ class TestRequest(BaseModel): "labels": obj.get("labels"), "sharedWithAccounts": obj.get("sharedWithAccounts"), "alertRules": obj.get("alertRules"), - "agents": [AgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_self_link.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_self_link.py index 67f46daf..3f1909fe 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_self_link.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_self_link.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_sip_credentials.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_sip_credentials.py index 1a5ae616..7a983898 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_sip_credentials.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_sip_credentials.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_ssl_version_id.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_ssl_version_id.py index 118203e6..a0ccad19 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_ssl_version_id.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_ssl_version_id.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -31,10 +30,15 @@ class TestSslVersionId(str, Enum): ENUM_4 = '4' ENUM_5 = '5' ENUM_6 = '6' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestSslVersionId from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_sub_interval.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_sub_interval.py index bc8543b1..584f054e 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_sub_interval.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_sub_interval.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -34,10 +33,15 @@ class TestSubInterval(int, Enum): NUMBER_1200 = 1200 NUMBER_1800 = 1800 NUMBER_3600 = 3600 + NUMBER_11184809 = 11184809 @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestSubInterval from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_type.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_type.py index f18d17be..e75164bd 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_type.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/test_type.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -39,10 +38,15 @@ class TestType(str, Enum): DNSSEC = 'dnssec' SIP_MINUS_SERVER = 'sip-server' VOICE = 'voice' + UNKNOWN = 'unknown' @classmethod def from_json(cls, json_str: str) -> Self: """Create an instance of TestType from a JSON string""" return cls(json.loads(json_str)) + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/tests.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/tests.py index 7a8e279b..ff21150f 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/tests.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/tests.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unauthorized_error.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unauthorized_error.py index 85c7a68c..ec671f1f 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unauthorized_error.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unauthorized_error.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_agent_to_agent_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_agent_to_agent_test.py index ea581a2b..6d534fce 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_agent_to_agent_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_agent_to_agent_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_agent_to_server_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_agent_to_server_test.py index 8b8aa9b5..685236a3 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_agent_to_server_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_agent_to_server_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_api_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_api_test.py index 987658f3..2197e5e0 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_api_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_api_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -50,10 +49,13 @@ class UnexpandedApiTest(BaseModel): test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") predefined_variables: Optional[List[ApiPredefinedVariable]] = Field(default=None, alias="predefinedVariables") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") @@ -65,7 +67,7 @@ class UnexpandedApiTest(BaseModel): url: StrictStr = Field(description="Target for the test.") bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "followRedirects", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pathTraceMode", "predefinedVariables", "probeMode", "protocol", "requests", "sslVersionId", "targetTime", "timeLimit", "url", "bgpMeasurements", "usePublicBgp"] + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "collectProxyNetworkData", "followRedirects", "mtuMeasurements", "networkMeasurements", "numPathTraces", "overrideAgentProxy", "overrideProxyId", "pathTraceMode", "predefinedVariables", "probeMode", "protocol", "requests", "sslVersionId", "targetTime", "timeLimit", "url", "bgpMeasurements", "usePublicBgp"] model_config = ConfigDict( populate_by_name=True, @@ -166,10 +168,13 @@ class UnexpandedApiTest(BaseModel): "testName": obj.get("testName"), "type": obj.get("type"), "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), "pathTraceMode": obj.get("pathTraceMode"), "predefinedVariables": [ApiPredefinedVariable.from_dict(_item) for _item in obj["predefinedVariables"]] if obj.get("predefinedVariables") is not None else None, "probeMode": obj.get("probeMode"), diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_bgp_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_bgp_test.py index ded3bd28..827b0c59 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_bgp_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_bgp_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_dns_sec_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_dns_sec_test.py index 930233f3..08ec5212 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_dns_sec_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_dns_sec_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_dns_server_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_dns_server_test.py index d716de1c..de8ed905 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_dns_server_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_dns_server_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_dns_trace_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_dns_trace_test.py index 8ba16ddc..8324355d 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_dns_trace_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_dns_trace_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_ftp_server_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_ftp_server_test.py index 7e1b17a0..4b2710f9 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_ftp_server_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_ftp_server_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_http_server_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_http_server_test.py index ef32b18e..c3e2e200 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_http_server_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_http_server_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,6 +20,8 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated +from thousandeyes_sdk.tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.tests.models.o_auth import OAuth from thousandeyes_sdk.tests.models.test_auth_type import TestAuthType from thousandeyes_sdk.tests.models.test_custom_headers import TestCustomHeaders from thousandeyes_sdk.tests.models.test_interval import TestInterval @@ -52,12 +53,12 @@ class UnexpandedHttpServerTest(BaseModel): type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") - headers: Optional[List[StrictStr]] = Field(default=None, description="HTTP request headers used.") custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders") - desired_status_code: Optional[StrictStr] = Field(default='200', description="Specify the HTTP status code value that indicates a successful response.", alias="desiredStatusCode") + desired_status_code: Optional[StrictStr] = Field(default='default', description="Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code.", alias="desiredStatusCode") download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit") dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride") http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") @@ -67,9 +68,9 @@ class UnexpandedHttpServerTest(BaseModel): mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + o_auth: Optional[OAuth] = Field(default=None, alias="oAuth") password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") - post_body: Optional[StrictStr] = Field(default=None, description="Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST.", alias="postBody") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") protocol: Optional[TestProtocol] = None ssl_version: Optional[StrictStr] = Field(default=None, description="Reflects the verbose SSL protocol version used by a test.", alias="sslVersion") @@ -80,14 +81,17 @@ class UnexpandedHttpServerTest(BaseModel): username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") verify_certificate: Optional[StrictBool] = Field(default=False, description="Ignore or acknowledge certificate errors. Set to false to ignore certificate errors.", alias="verifyCertificate") allow_unsafe_legacy_renegotiation: Optional[StrictBool] = Field(default=True, description="Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation.", alias="allowUnsafeLegacyRenegotiation") - ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + headers: Optional[List[StrictStr]] = Field(default=None, description="HTTP request headers used.") + post_body: Optional[StrictStr] = Field(default=None, description="Enter the body for the HTTP POST request in this field. No special escaping is necessary. If the post body is provided with content, the `requestMethod` is automatically set to POST.", alias="postBody") + ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "authType", "bandwidthMeasurements", "clientCertificate", "contentRegex", "headers", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "postBody", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "ipv6Policy", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "bgpMeasurements", "usePublicBgp"] + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "headers", "postBody", "ipv6Policy", "bgpMeasurements", "usePublicBgp"] model_config = ConfigDict( populate_by_name=True, @@ -150,9 +154,15 @@ class UnexpandedHttpServerTest(BaseModel): # override the default output from pydantic by calling `to_dict()` of links if self.links: _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of agent_interfaces + if self.agent_interfaces: + _dict['agentInterfaces'] = self.agent_interfaces.to_dict() # override the default output from pydantic by calling `to_dict()` of custom_headers if self.custom_headers: _dict['customHeaders'] = self.custom_headers.to_dict() + # override the default output from pydantic by calling `to_dict()` of o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() return _dict @classmethod @@ -180,12 +190,12 @@ class UnexpandedHttpServerTest(BaseModel): "type": obj.get("type"), "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, "authType": obj.get("authType"), + "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, "bandwidthMeasurements": obj.get("bandwidthMeasurements"), "clientCertificate": obj.get("clientCertificate"), "contentRegex": obj.get("contentRegex"), - "headers": obj.get("headers"), "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None, - "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else '200', + "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else 'default', "downloadLimit": obj.get("downloadLimit"), "dnsOverride": obj.get("dnsOverride"), "httpTargetTime": obj.get("httpTargetTime"), @@ -195,9 +205,9 @@ class UnexpandedHttpServerTest(BaseModel): "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, "password": obj.get("password"), "pathTraceMode": obj.get("pathTraceMode"), - "postBody": obj.get("postBody"), "probeMode": obj.get("probeMode"), "protocol": obj.get("protocol"), "sslVersion": obj.get("sslVersion"), @@ -208,11 +218,14 @@ class UnexpandedHttpServerTest(BaseModel): "username": obj.get("username"), "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else False, "allowUnsafeLegacyRenegotiation": obj.get("allowUnsafeLegacyRenegotiation") if obj.get("allowUnsafeLegacyRenegotiation") is not None else True, - "ipv6Policy": obj.get("ipv6Policy"), "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, "fixedPacketRate": obj.get("fixedPacketRate"), "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, "overrideProxyId": obj.get("overrideProxyId"), + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "headers": obj.get("headers"), + "postBody": obj.get("postBody"), + "ipv6Policy": obj.get("ipv6Policy"), "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True }) diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_instant_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_instant_test.py index bb681714..3f6fab82 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_instant_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_instant_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_page_load_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_page_load_test.py index e666b34d..e6976a38 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_page_load_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_page_load_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -18,9 +17,11 @@ import re # noqa: F401 import json from datetime import datetime -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated +from thousandeyes_sdk.tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.tests.models.o_auth import OAuth from thousandeyes_sdk.tests.models.test_auth_type import TestAuthType from thousandeyes_sdk.tests.models.test_custom_headers import TestCustomHeaders from thousandeyes_sdk.tests.models.test_http_interval import TestHttpInterval @@ -54,13 +55,14 @@ class UnexpandedPageLoadTest(BaseModel): type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") - content_regex: Optional[StrictStr] = Field(default=None, description="Verify content using a regular expression. This field does not require escaping.", alias="contentRegex") + content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders") - desired_status_code: Optional[StrictStr] = Field(default='200', description="Specify the HTTP status code value that indicates a successful response.", alias="desiredStatusCode") - emulated_device_id: Optional[StrictStr] = Field(default=None, description="id of the emulated device, if one was given when the test was created", alias="emulatedDeviceId") - follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + desired_status_code: Optional[StrictStr] = Field(default='default', description="Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code.", alias="desiredStatusCode") + download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit") + dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride") http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") http_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=5, description="HTTP time limit in seconds.", alias="httpTimeLimit") http_version: Optional[Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(default=2, description="HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1.", alias="httpVersion") @@ -68,8 +70,7 @@ class UnexpandedPageLoadTest(BaseModel): mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") - page_load_target_time: Optional[Annotated[int, Field(le=30, strict=True, ge=1)]] = Field(default=None, description="Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`.", alias="pageLoadTargetTime") - page_load_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=10, description="Page load time limit. Must be larger than the `httpTimeLimit`.", alias="pageLoadTimeLimit") + o_auth: Optional[OAuth] = Field(default=None, alias="oAuth") password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") @@ -82,20 +83,25 @@ class UnexpandedPageLoadTest(BaseModel): username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") verify_certificate: Optional[StrictBool] = Field(default=False, description="Ignore or acknowledge certificate errors. Set to false to ignore certificate errors.", alias="verifyCertificate") allow_unsafe_legacy_renegotiation: Optional[StrictBool] = Field(default=True, description="Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation.", alias="allowUnsafeLegacyRenegotiation") + follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if one was given when the test was created.", alias="emulatedDeviceId") + page_load_target_time: Optional[Annotated[int, Field(le=30, strict=True, ge=1)]] = Field(default=None, description="Target time for page load completion, specified in seconds and cannot exceed the `pageLoadTimeLimit`.", alias="pageLoadTargetTime") + page_load_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=10, description="Page load time limit. Must be larger than the `httpTimeLimit`.", alias="pageLoadTimeLimit") block_domains: Optional[StrictStr] = Field(default=None, description="Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests.", alias="blockDomains") disable_screenshot: Optional[StrictBool] = Field(default=False, description="Enables or disables screenshots on error. Set true to not capture", alias="disableScreenshot") allow_mic_and_camera: Optional[StrictBool] = Field(default=False, description="Set true allow the use of a fake mic and camera in the browser.", alias="allowMicAndCamera") allow_geolocation: Optional[StrictBool] = Field(default=False, description="Set true to use the agent’s geolocation by the web page.", alias="allowGeolocation") browser_language: Optional[StrictStr] = Field(default=None, description="Set one of the available browser language that you want to use to configure the browser.", alias="browserLanguage") page_loading_strategy: Optional[TestPageLoadingStrategy] = Field(default=None, alias="pageLoadingStrategy") - fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") - override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") - override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") http_interval: Optional[TestHttpInterval] = Field(default=None, alias="httpInterval") subinterval: Optional[TestSubInterval] = None bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "authType", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "emulatedDeviceId", "followRedirects", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "pageLoadTargetTime", "pageLoadTimeLimit", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "httpInterval", "subinterval", "bgpMeasurements", "usePublicBgp"] + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "pageLoadTargetTime", "pageLoadTimeLimit", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "httpInterval", "subinterval", "bgpMeasurements", "usePublicBgp"] model_config = ConfigDict( populate_by_name=True, @@ -158,9 +164,15 @@ class UnexpandedPageLoadTest(BaseModel): # override the default output from pydantic by calling `to_dict()` of links if self.links: _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of agent_interfaces + if self.agent_interfaces: + _dict['agentInterfaces'] = self.agent_interfaces.to_dict() # override the default output from pydantic by calling `to_dict()` of custom_headers if self.custom_headers: _dict['customHeaders'] = self.custom_headers.to_dict() + # override the default output from pydantic by calling `to_dict()` of o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() return _dict @classmethod @@ -188,13 +200,14 @@ class UnexpandedPageLoadTest(BaseModel): "type": obj.get("type"), "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, "authType": obj.get("authType"), + "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, "bandwidthMeasurements": obj.get("bandwidthMeasurements"), "clientCertificate": obj.get("clientCertificate"), "contentRegex": obj.get("contentRegex"), "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None, - "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else '200', - "emulatedDeviceId": obj.get("emulatedDeviceId"), - "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else 'default', + "downloadLimit": obj.get("downloadLimit"), + "dnsOverride": obj.get("dnsOverride"), "httpTargetTime": obj.get("httpTargetTime"), "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5, "httpVersion": obj.get("httpVersion") if obj.get("httpVersion") is not None else 2, @@ -202,8 +215,7 @@ class UnexpandedPageLoadTest(BaseModel): "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, - "pageLoadTargetTime": obj.get("pageLoadTargetTime"), - "pageLoadTimeLimit": obj.get("pageLoadTimeLimit") if obj.get("pageLoadTimeLimit") is not None else 10, + "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, "password": obj.get("password"), "pathTraceMode": obj.get("pathTraceMode"), "probeMode": obj.get("probeMode"), @@ -216,15 +228,20 @@ class UnexpandedPageLoadTest(BaseModel): "username": obj.get("username"), "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else False, "allowUnsafeLegacyRenegotiation": obj.get("allowUnsafeLegacyRenegotiation") if obj.get("allowUnsafeLegacyRenegotiation") is not None else True, + "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "fixedPacketRate": obj.get("fixedPacketRate"), + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "emulatedDeviceId": obj.get("emulatedDeviceId"), + "pageLoadTargetTime": obj.get("pageLoadTargetTime"), + "pageLoadTimeLimit": obj.get("pageLoadTimeLimit") if obj.get("pageLoadTimeLimit") is not None else 10, "blockDomains": obj.get("blockDomains"), "disableScreenshot": obj.get("disableScreenshot") if obj.get("disableScreenshot") is not None else False, "allowMicAndCamera": obj.get("allowMicAndCamera") if obj.get("allowMicAndCamera") is not None else False, "allowGeolocation": obj.get("allowGeolocation") if obj.get("allowGeolocation") is not None else False, "browserLanguage": obj.get("browserLanguage"), "pageLoadingStrategy": obj.get("pageLoadingStrategy"), - "fixedPacketRate": obj.get("fixedPacketRate"), - "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, - "overrideProxyId": obj.get("overrideProxyId"), "httpInterval": obj.get("httpInterval"), "subinterval": obj.get("subinterval"), "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_sip_server_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_sip_server_test.py index 6d4782bc..7786d3a2 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_sip_server_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_sip_server_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_test.py index 2859e566..84eff1c2 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_voice_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_voice_test.py index e8cc485b..ba7b83d9 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_voice_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_voice_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_web_transaction_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_web_transaction_test.py index c640ef16..f3c1d3a5 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_web_transaction_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/unexpanded_web_transaction_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -18,9 +17,11 @@ import re # noqa: F401 import json from datetime import datetime -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated +from thousandeyes_sdk.tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.tests.models.o_auth import OAuth from thousandeyes_sdk.tests.models.test_auth_type import TestAuthType from thousandeyes_sdk.tests.models.test_custom_headers import TestCustomHeaders from thousandeyes_sdk.tests.models.test_interval import TestInterval @@ -53,13 +54,14 @@ class UnexpandedWebTransactionTest(BaseModel): type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") - content_regex: Optional[StrictStr] = Field(default=None, description="Verify content using a regular expression. This field does not require escaping.", alias="contentRegex") + content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders") - desired_status_code: Optional[StrictStr] = Field(default='200', description="Specify the HTTP status code value that indicates a successful response.", alias="desiredStatusCode") - emulated_device_id: Optional[StrictStr] = Field(default=None, description="id of the emulated device, if one was given when the test was created", alias="emulatedDeviceId") - follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + desired_status_code: Optional[StrictStr] = Field(default='default', description="Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code.", alias="desiredStatusCode") + download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit") + dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride") http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") http_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=5, description="HTTP time limit in seconds.", alias="httpTimeLimit") http_version: Optional[Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(default=2, description="HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1.", alias="httpVersion") @@ -67,34 +69,38 @@ class UnexpandedWebTransactionTest(BaseModel): mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + o_auth: Optional[OAuth] = Field(default=None, alias="oAuth") password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") protocol: Optional[TestProtocol] = None ssl_version: Optional[StrictStr] = Field(default=None, description="Reflects the verbose SSL protocol version used by a test.", alias="sslVersion") ssl_version_id: Optional[TestSslVersionId] = Field(default=None, alias="sslVersionId") - target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=0)]] = Field(default=None, description="Target time for completion, defaults to 50% of time limit specified in seconds. (0 means default behavior)", alias="targetTime") - time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds.", alias="timeLimit") - transaction_script: StrictStr = Field(description="JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ).", alias="transactionScript") url: StrictStr = Field(description="Target for the test.") use_ntlm: Optional[StrictBool] = Field(default=None, description="Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set.", alias="useNtlm") user_agent: Optional[StrictStr] = Field(default=None, description="User-agent string to be provided during the test.", alias="userAgent") username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") verify_certificate: Optional[StrictBool] = Field(default=False, description="Ignore or acknowledge certificate errors. Set to false to ignore certificate errors.", alias="verifyCertificate") allow_unsafe_legacy_renegotiation: Optional[StrictBool] = Field(default=True, description="Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation.", alias="allowUnsafeLegacyRenegotiation") + follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if specified when the test was created.", alias="emulatedDeviceId") + target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=0)]] = Field(default=None, description="Target completion time. The default is 50% of the specified time limit in seconds. (Set to 0 to use the default behavior).", alias="targetTime") + time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds.", alias="timeLimit") + transaction_script: StrictStr = Field(description="JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ).", alias="transactionScript") block_domains: Optional[StrictStr] = Field(default=None, description="Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests.", alias="blockDomains") disable_screenshot: Optional[StrictBool] = Field(default=False, description="Enables or disables screenshots on error. Set true to not capture", alias="disableScreenshot") allow_mic_and_camera: Optional[StrictBool] = Field(default=False, description="Set true allow the use of a fake mic and camera in the browser.", alias="allowMicAndCamera") allow_geolocation: Optional[StrictBool] = Field(default=False, description="Set true to use the agent’s geolocation by the web page.", alias="allowGeolocation") browser_language: Optional[StrictStr] = Field(default=None, description="Set one of the available browser language that you want to use to configure the browser.", alias="browserLanguage") page_loading_strategy: Optional[TestPageLoadingStrategy] = Field(default=None, alias="pageLoadingStrategy") - fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") - override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") - override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") subinterval: Optional[TestSubInterval] = None bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "authType", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "emulatedDeviceId", "followRedirects", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "targetTime", "timeLimit", "transactionScript", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "subinterval", "bgpMeasurements", "usePublicBgp"] + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "targetTime", "timeLimit", "transactionScript", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "subinterval", "bgpMeasurements", "usePublicBgp"] model_config = ConfigDict( populate_by_name=True, @@ -157,9 +163,15 @@ class UnexpandedWebTransactionTest(BaseModel): # override the default output from pydantic by calling `to_dict()` of links if self.links: _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of agent_interfaces + if self.agent_interfaces: + _dict['agentInterfaces'] = self.agent_interfaces.to_dict() # override the default output from pydantic by calling `to_dict()` of custom_headers if self.custom_headers: _dict['customHeaders'] = self.custom_headers.to_dict() + # override the default output from pydantic by calling `to_dict()` of o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() return _dict @classmethod @@ -187,13 +199,14 @@ class UnexpandedWebTransactionTest(BaseModel): "type": obj.get("type"), "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, "authType": obj.get("authType"), + "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, "bandwidthMeasurements": obj.get("bandwidthMeasurements"), "clientCertificate": obj.get("clientCertificate"), "contentRegex": obj.get("contentRegex"), "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None, - "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else '200', - "emulatedDeviceId": obj.get("emulatedDeviceId"), - "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else 'default', + "downloadLimit": obj.get("downloadLimit"), + "dnsOverride": obj.get("dnsOverride"), "httpTargetTime": obj.get("httpTargetTime"), "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5, "httpVersion": obj.get("httpVersion") if obj.get("httpVersion") is not None else 2, @@ -201,30 +214,34 @@ class UnexpandedWebTransactionTest(BaseModel): "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, "password": obj.get("password"), "pathTraceMode": obj.get("pathTraceMode"), "probeMode": obj.get("probeMode"), "protocol": obj.get("protocol"), "sslVersion": obj.get("sslVersion"), "sslVersionId": obj.get("sslVersionId"), - "targetTime": obj.get("targetTime"), - "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, - "transactionScript": obj.get("transactionScript"), "url": obj.get("url"), "useNtlm": obj.get("useNtlm"), "userAgent": obj.get("userAgent"), "username": obj.get("username"), "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else False, "allowUnsafeLegacyRenegotiation": obj.get("allowUnsafeLegacyRenegotiation") if obj.get("allowUnsafeLegacyRenegotiation") is not None else True, + "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "fixedPacketRate": obj.get("fixedPacketRate"), + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "emulatedDeviceId": obj.get("emulatedDeviceId"), + "targetTime": obj.get("targetTime"), + "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, + "transactionScript": obj.get("transactionScript"), "blockDomains": obj.get("blockDomains"), "disableScreenshot": obj.get("disableScreenshot") if obj.get("disableScreenshot") is not None else False, "allowMicAndCamera": obj.get("allowMicAndCamera") if obj.get("allowMicAndCamera") is not None else False, "allowGeolocation": obj.get("allowGeolocation") if obj.get("allowGeolocation") is not None else False, "browserLanguage": obj.get("browserLanguage"), "pageLoadingStrategy": obj.get("pageLoadingStrategy"), - "fixedPacketRate": obj.get("fixedPacketRate"), - "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, - "overrideProxyId": obj.get("overrideProxyId"), "subinterval": obj.get("subinterval"), "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_bgp_test_request.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_bgp_test_request.py index b3179baf..0ad73c79 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_bgp_test_request.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_bgp_test_request.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_sip_server_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_sip_server_test.py index db186ceb..a2195f9a 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_sip_server_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_sip_server_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,10 +20,12 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent_request import AgentRequest +from thousandeyes_sdk.tests.models.alert_rule import AlertRule from thousandeyes_sdk.tests.models.monitor import Monitor +from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount from thousandeyes_sdk.tests.models.test_interval import TestInterval from thousandeyes_sdk.tests.models.test_ipv6_policy import TestIpv6Policy +from thousandeyes_sdk.tests.models.test_label import TestLabel from thousandeyes_sdk.tests.models.test_links import TestLinks from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode @@ -39,7 +40,7 @@ class UpdateSipServerTest(BaseModel): interval: TestInterval alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") - alert_rules: Optional[List[StrictStr]] = Field(default=None, description="List of alert rules IDs to apply to the test (get `ruleId` from `/alerts/rules` endpoint. If `alertsEnabled` is set to `true` and `alertRules` is not included on test creation or update, applicable user default alert rules will be used)", alias="alertRules") + alert_rules: Optional[List[AlertRule]] = Field(default=None, description="Contains list of enabled alert rule objects.", alias="alertRules") created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") description: Optional[StrictStr] = Field(default=None, description="A description of the test.") @@ -51,8 +52,8 @@ class UpdateSipServerTest(BaseModel): test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") type: Optional[StrictStr] = None links: Optional[TestLinks] = Field(default=None, alias="_links") - labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") - shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") + labels: Optional[List[TestLabel]] = None + shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") @@ -64,12 +65,11 @@ class UpdateSipServerTest(BaseModel): sip_time_limit: Optional[Annotated[int, Field(le=10, strict=True, ge=5)]] = Field(default=5, description="Time limit in milliseconds.", alias="sipTimeLimit") fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") ipv6_policy: Optional[TestIpv6Policy] = Field(default=None, alias="ipv6Policy") - agents: Optional[List[AgentRequest]] = None - target_sip_credentials: TestSipCredentials = Field(alias="targetSipCredentials") bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "mtuMeasurements", "networkMeasurements", "numPathTraces", "optionsRegex", "pathTraceMode", "probeMode", "registerEnabled", "sipTargetTime", "sipTimeLimit", "fixedPacketRate", "ipv6Policy", "agents", "targetSipCredentials", "bgpMeasurements", "usePublicBgp", "monitors"] + target_sip_credentials: TestSipCredentials = Field(alias="targetSipCredentials") + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "mtuMeasurements", "networkMeasurements", "numPathTraces", "optionsRegex", "pathTraceMode", "probeMode", "registerEnabled", "sipTargetTime", "sipTimeLimit", "fixedPacketRate", "ipv6Policy", "bgpMeasurements", "usePublicBgp", "monitors", "targetSipCredentials"] model_config = ConfigDict( populate_by_name=True, @@ -111,6 +111,8 @@ class UpdateSipServerTest(BaseModel): * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. """ excluded_fields: Set[str] = set([ "created_by", @@ -121,6 +123,8 @@ class UpdateSipServerTest(BaseModel): "saved_event", "test_id", "type", + "labels", + "shared_with_accounts", "monitors", ]) @@ -129,19 +133,30 @@ class UpdateSipServerTest(BaseModel): exclude=excluded_fields, exclude_none=True, ) + # override the default output from pydantic by calling `to_dict()` of each item in alert_rules (list) + _items = [] + if self.alert_rules: + for _item in self.alert_rules: + if _item: + _items.append(_item.to_dict()) + _dict['alertRules'] = _items # override the default output from pydantic by calling `to_dict()` of links if self.links: _dict['_links'] = self.links.to_dict() - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) + # override the default output from pydantic by calling `to_dict()` of each item in labels (list) _items = [] - if self.agents: - for _item in self.agents: + if self.labels: + for _item in self.labels: if _item: _items.append(_item.to_dict()) - _dict['agents'] = _items - # override the default output from pydantic by calling `to_dict()` of target_sip_credentials - if self.target_sip_credentials: - _dict['targetSipCredentials'] = self.target_sip_credentials.to_dict() + _dict['labels'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in shared_with_accounts (list) + _items = [] + if self.shared_with_accounts: + for _item in self.shared_with_accounts: + if _item: + _items.append(_item.to_dict()) + _dict['sharedWithAccounts'] = _items # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) _items = [] if self.monitors: @@ -149,6 +164,9 @@ class UpdateSipServerTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['monitors'] = _items + # override the default output from pydantic by calling `to_dict()` of target_sip_credentials + if self.target_sip_credentials: + _dict['targetSipCredentials'] = self.target_sip_credentials.to_dict() return _dict @classmethod @@ -164,7 +182,7 @@ class UpdateSipServerTest(BaseModel): "interval": obj.get("interval"), "alertsEnabled": obj.get("alertsEnabled"), "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, - "alertRules": obj.get("alertRules"), + "alertRules": [AlertRule.from_dict(_item) for _item in obj["alertRules"]] if obj.get("alertRules") is not None else None, "createdBy": obj.get("createdBy"), "createdDate": obj.get("createdDate"), "description": obj.get("description"), @@ -176,8 +194,8 @@ class UpdateSipServerTest(BaseModel): "testName": obj.get("testName"), "type": obj.get("type"), "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, - "labels": obj.get("labels"), - "sharedWithAccounts": obj.get("sharedWithAccounts"), + "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, + "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, @@ -189,11 +207,10 @@ class UpdateSipServerTest(BaseModel): "sipTimeLimit": obj.get("sipTimeLimit") if obj.get("sipTimeLimit") is not None else 5, "fixedPacketRate": obj.get("fixedPacketRate"), "ipv6Policy": obj.get("ipv6Policy"), - "agents": [AgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, - "targetSipCredentials": TestSipCredentials.from_dict(obj["targetSipCredentials"]) if obj.get("targetSipCredentials") is not None else None, "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, - "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None + "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None, + "targetSipCredentials": TestSipCredentials.from_dict(obj["targetSipCredentials"]) if obj.get("targetSipCredentials") is not None else None }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/validation_error.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/validation_error.py index 24caae00..ef1b5292 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/validation_error.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/validation_error.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/validation_error_item.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/validation_error_item.py index 335f8221..34ca7ee5 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/validation_error_item.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/validation_error_item.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_instant_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_instant_test.py index 058d6a59..97f3452e 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_instant_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_instant_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,7 +20,6 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent import Agent from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount from thousandeyes_sdk.tests.models.test_dscp_id import TestDscpId from thousandeyes_sdk.tests.models.test_label import TestLabel @@ -55,8 +53,7 @@ class VoiceInstantTest(BaseModel): num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") port: Optional[Annotated[int, Field(le=65535, strict=True, ge=1024)]] = Field(default=None, description="Port number for the chosen protocol.") target_agent_id: StrictStr = Field(description="Agent ID of the target agent for the test.", alias="targetAgentId") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "codec", "codecId", "dscp", "dscpId", "duration", "jitterBuffer", "numPathTraces", "port", "targetAgentId", "agents"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "codec", "codecId", "dscp", "dscpId", "duration", "jitterBuffer", "numPathTraces", "port", "targetAgentId"] model_config = ConfigDict( populate_by_name=True, @@ -101,7 +98,6 @@ class VoiceInstantTest(BaseModel): * 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([ "created_by", @@ -116,7 +112,6 @@ class VoiceInstantTest(BaseModel): "shared_with_accounts", "codec", "dscp", - "agents", ]) _dict = self.model_dump( @@ -141,13 +136,6 @@ class VoiceInstantTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['sharedWithAccounts'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items return _dict @classmethod @@ -181,8 +169,7 @@ class VoiceInstantTest(BaseModel): "jitterBuffer": obj.get("jitterBuffer") if obj.get("jitterBuffer") is not None else 40, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, "port": obj.get("port"), - "targetAgentId": obj.get("targetAgentId"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + "targetAgentId": obj.get("targetAgentId") }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_properties.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_properties.py index 2d946dac..71d6d4a7 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_properties.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_properties.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_test.py index f107883d..99f95d52 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,7 +20,6 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent import Agent from thousandeyes_sdk.tests.models.alert_rule import AlertRule from thousandeyes_sdk.tests.models.monitor import Monitor from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount @@ -62,11 +60,10 @@ class VoiceTest(BaseModel): num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") port: Optional[Annotated[int, Field(le=65535, strict=True, ge=1024)]] = Field(default=None, description="Port number for the chosen protocol.") target_agent_id: StrictStr = Field(description="Agent ID of the target agent for the test.", alias="targetAgentId") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "codec", "codecId", "dscp", "dscpId", "duration", "jitterBuffer", "numPathTraces", "port", "targetAgentId", "agents", "bgpMeasurements", "usePublicBgp", "monitors"] + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "codec", "codecId", "dscp", "dscpId", "duration", "jitterBuffer", "numPathTraces", "port", "targetAgentId", "bgpMeasurements", "usePublicBgp", "monitors"] model_config = ConfigDict( populate_by_name=True, @@ -112,7 +109,6 @@ class VoiceTest(BaseModel): * 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([ "created_by", @@ -127,7 +123,6 @@ class VoiceTest(BaseModel): "shared_with_accounts", "codec", "dscp", - "agents", "monitors", ]) @@ -160,13 +155,6 @@ class VoiceTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['sharedWithAccounts'] = _items - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) _items = [] if self.monitors: @@ -212,7 +200,6 @@ class VoiceTest(BaseModel): "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, "port": obj.get("port"), "targetAgentId": obj.get("targetAgentId"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_voice_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_test_request.py similarity index 93% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_voice_test.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_test_request.py index 03374ba0..c22bc361 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_voice_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_test_request.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,17 +20,17 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent_request import AgentRequest from thousandeyes_sdk.tests.models.monitor import Monitor +from thousandeyes_sdk.tests.models.test_agent_request import TestAgentRequest from thousandeyes_sdk.tests.models.test_dscp_id import TestDscpId from thousandeyes_sdk.tests.models.test_interval import TestInterval from thousandeyes_sdk.tests.models.test_links import TestLinks from typing import Optional, Set from typing_extensions import Self -class UpdateVoiceTest(BaseModel): +class VoiceTestRequest(BaseModel): """ - UpdateVoiceTest + VoiceTestRequest """ # noqa: E501 interval: TestInterval alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") @@ -59,11 +58,11 @@ class UpdateVoiceTest(BaseModel): num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") port: Optional[Annotated[int, Field(le=65535, strict=True, ge=1024)]] = Field(default=None, description="Port number for the chosen protocol.") target_agent_id: StrictStr = Field(description="Agent ID of the target agent for the test.", alias="targetAgentId") - agents: Optional[List[AgentRequest]] = None bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "codec", "codecId", "dscp", "dscpId", "duration", "jitterBuffer", "numPathTraces", "port", "targetAgentId", "agents", "bgpMeasurements", "usePublicBgp", "monitors"] + agents: List[TestAgentRequest] = Field(description="Contains list of Agent IDs (get `agentId` from `/agents` endpoint).") + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "codec", "codecId", "dscp", "dscpId", "duration", "jitterBuffer", "numPathTraces", "port", "targetAgentId", "bgpMeasurements", "usePublicBgp", "monitors", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -84,7 +83,7 @@ class UpdateVoiceTest(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of UpdateVoiceTest from a JSON string""" + """Create an instance of VoiceTestRequest from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -130,13 +129,6 @@ class UpdateVoiceTest(BaseModel): # override the default output from pydantic by calling `to_dict()` of links if self.links: _dict['_links'] = self.links.to_dict() - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) _items = [] if self.monitors: @@ -144,11 +136,18 @@ class UpdateVoiceTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['monitors'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in agents (list) + _items = [] + if self.agents: + for _item in self.agents: + if _item: + _items.append(_item.to_dict()) + _dict['agents'] = _items return _dict @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of UpdateVoiceTest from a dict""" + """Create an instance of VoiceTestRequest from a dict""" if obj is None: return None @@ -182,10 +181,10 @@ class UpdateVoiceTest(BaseModel): "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, "port": obj.get("port"), "targetAgentId": obj.get("targetAgentId"), - "agents": [AgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, - "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None + "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None, + "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_test_response.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_test_response.py new file mode 100644 index 00000000..6a247cec --- /dev/null +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_test_response.py @@ -0,0 +1,219 @@ +# coding: utf-8 + +""" + Tests API + + This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from thousandeyes_sdk.tests.models.agent_response import AgentResponse +from thousandeyes_sdk.tests.models.alert_rule import AlertRule +from thousandeyes_sdk.tests.models.monitor import Monitor +from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount +from thousandeyes_sdk.tests.models.test_dscp_id import TestDscpId +from thousandeyes_sdk.tests.models.test_interval import TestInterval +from thousandeyes_sdk.tests.models.test_label import TestLabel +from thousandeyes_sdk.tests.models.test_links import TestLinks +from typing import Optional, Set +from typing_extensions import Self + +class VoiceTestResponse(BaseModel): + """ + VoiceTestResponse + """ # noqa: E501 + interval: TestInterval + alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") + enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") + alert_rules: Optional[List[AlertRule]] = Field(default=None, description="Contains list of enabled alert rule objects.", alias="alertRules") + created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") + created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") + description: Optional[StrictStr] = Field(default=None, description="A description of the test.") + live_share: Optional[StrictBool] = Field(default=None, description="Indicates if the test is shared with the account group.", alias="liveShare") + modified_by: Optional[StrictStr] = Field(default=None, description="User that modified the test.", alias="modifiedBy") + modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") + saved_event: Optional[StrictBool] = Field(default=None, description="Indicates if the test is a saved event.", alias="savedEvent") + test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned an unique ID; this is used to access test information and results from other endpoints.", alias="testId") + test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") + type: Optional[StrictStr] = None + links: Optional[TestLinks] = Field(default=None, alias="_links") + labels: Optional[List[TestLabel]] = None + shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") + codec: Optional[StrictStr] = Field(default=None, description="Codec label") + codec_id: Optional[StrictStr] = Field(default=None, description="Coded ID, [see the list of acceptable values](https://docs.thousandeyes.com/product-documentation/internet-and-wan-monitoring/tests/working-with-test-settings#rtp-stream-advanced-settings-tab)", alias="codecId") + dscp: Optional[StrictStr] = Field(default=None, description="DSCP label.") + dscp_id: Optional[TestDscpId] = Field(default=None, alias="dscpId") + duration: Optional[Annotated[int, Field(le=30, strict=True, ge=5)]] = Field(default=5, description="Duration of the test in seconds.") + jitter_buffer: Optional[Annotated[int, Field(le=150, strict=True, ge=0)]] = Field(default=40, description="De-jitter buffer size in seconds.", alias="jitterBuffer") + num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + port: Optional[Annotated[int, Field(le=65535, strict=True, ge=1024)]] = Field(default=None, description="Port number for the chosen protocol.") + target_agent_id: StrictStr = Field(description="Agent ID of the target agent for the test.", alias="targetAgentId") + bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") + use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") + monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") + agents: Optional[List[AgentResponse]] = Field(default=None, description="Contains list of agents.") + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "codec", "codecId", "dscp", "dscpId", "duration", "jitterBuffer", "numPathTraces", "port", "targetAgentId", "bgpMeasurements", "usePublicBgp", "monitors", "agents"] + + 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 VoiceTestResponse 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. + * 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([ + "created_by", + "created_date", + "live_share", + "modified_by", + "modified_date", + "saved_event", + "test_id", + "type", + "labels", + "shared_with_accounts", + "codec", + "dscp", + "monitors", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in alert_rules (list) + _items = [] + if self.alert_rules: + for _item in self.alert_rules: + if _item: + _items.append(_item.to_dict()) + _dict['alertRules'] = _items + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in labels (list) + _items = [] + if self.labels: + for _item in self.labels: + if _item: + _items.append(_item.to_dict()) + _dict['labels'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in shared_with_accounts (list) + _items = [] + if self.shared_with_accounts: + for _item in self.shared_with_accounts: + if _item: + _items.append(_item.to_dict()) + _dict['sharedWithAccounts'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) + _items = [] + if self.monitors: + for _item in self.monitors: + if _item: + _items.append(_item.to_dict()) + _dict['monitors'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in agents (list) + _items = [] + if self.agents: + for _item in self.agents: + if _item: + _items.append(_item.to_dict()) + _dict['agents'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of VoiceTestResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "interval": obj.get("interval"), + "alertsEnabled": obj.get("alertsEnabled"), + "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, + "alertRules": [AlertRule.from_dict(_item) for _item in obj["alertRules"]] if obj.get("alertRules") is not None else None, + "createdBy": obj.get("createdBy"), + "createdDate": obj.get("createdDate"), + "description": obj.get("description"), + "liveShare": obj.get("liveShare"), + "modifiedBy": obj.get("modifiedBy"), + "modifiedDate": obj.get("modifiedDate"), + "savedEvent": obj.get("savedEvent"), + "testId": obj.get("testId"), + "testName": obj.get("testName"), + "type": obj.get("type"), + "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, + "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, + "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, + "codec": obj.get("codec"), + "codecId": obj.get("codecId"), + "dscp": obj.get("dscp"), + "dscpId": obj.get("dscpId"), + "duration": obj.get("duration") if obj.get("duration") is not None else 5, + "jitterBuffer": obj.get("jitterBuffer") if obj.get("jitterBuffer") is not None else 40, + "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "port": obj.get("port"), + "targetAgentId": obj.get("targetAgentId"), + "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, + "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, + "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None, + "agents": [AgentResponse.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_tests.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_tests.py index 6ce6e611..b2b222b8 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_tests.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/voice_tests.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_instant_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_instant_test.py index 6c998091..9325145d 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_instant_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_instant_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -18,10 +17,11 @@ import re # noqa: F401 import json from datetime import datetime -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent import Agent +from thousandeyes_sdk.tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.tests.models.o_auth import OAuth from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount from thousandeyes_sdk.tests.models.test_auth_type import TestAuthType from thousandeyes_sdk.tests.models.test_custom_headers import TestCustomHeaders @@ -53,13 +53,14 @@ class WebTransactionInstantTest(BaseModel): labels: Optional[List[TestLabel]] = None shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") - content_regex: Optional[StrictStr] = Field(default=None, description="Verify content using a regular expression. This field does not require escaping.", alias="contentRegex") + content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders") - desired_status_code: Optional[StrictStr] = Field(default='200', description="Specify the HTTP status code value that indicates a successful response.", alias="desiredStatusCode") - emulated_device_id: Optional[StrictStr] = Field(default=None, description="id of the emulated device, if one was given when the test was created", alias="emulatedDeviceId") - follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + desired_status_code: Optional[StrictStr] = Field(default='default', description="Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code.", alias="desiredStatusCode") + download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit") + dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride") http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") http_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=5, description="HTTP time limit in seconds.", alias="httpTimeLimit") http_version: Optional[Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(default=2, description="HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1.", alias="httpVersion") @@ -67,33 +68,36 @@ class WebTransactionInstantTest(BaseModel): mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + o_auth: Optional[OAuth] = Field(default=None, alias="oAuth") password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") protocol: Optional[TestProtocol] = None ssl_version: Optional[StrictStr] = Field(default=None, description="Reflects the verbose SSL protocol version used by a test.", alias="sslVersion") ssl_version_id: Optional[TestSslVersionId] = Field(default=None, alias="sslVersionId") - target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=0)]] = Field(default=None, description="Target time for completion, defaults to 50% of time limit specified in seconds. (0 means default behavior)", alias="targetTime") - time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds.", alias="timeLimit") - transaction_script: StrictStr = Field(description="JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ).", alias="transactionScript") url: StrictStr = Field(description="Target for the test.") use_ntlm: Optional[StrictBool] = Field(default=None, description="Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set.", alias="useNtlm") user_agent: Optional[StrictStr] = Field(default=None, description="User-agent string to be provided during the test.", alias="userAgent") username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") verify_certificate: Optional[StrictBool] = Field(default=False, description="Ignore or acknowledge certificate errors. Set to false to ignore certificate errors.", alias="verifyCertificate") allow_unsafe_legacy_renegotiation: Optional[StrictBool] = Field(default=True, description="Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation.", alias="allowUnsafeLegacyRenegotiation") + follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if specified when the test was created.", alias="emulatedDeviceId") + target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=0)]] = Field(default=None, description="Target completion time. The default is 50% of the specified time limit in seconds. (Set to 0 to use the default behavior).", alias="targetTime") + time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds.", alias="timeLimit") + transaction_script: StrictStr = Field(description="JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ).", alias="transactionScript") block_domains: Optional[StrictStr] = Field(default=None, description="Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests.", alias="blockDomains") disable_screenshot: Optional[StrictBool] = Field(default=False, description="Enables or disables screenshots on error. Set true to not capture", alias="disableScreenshot") allow_mic_and_camera: Optional[StrictBool] = Field(default=False, description="Set true allow the use of a fake mic and camera in the browser.", alias="allowMicAndCamera") allow_geolocation: Optional[StrictBool] = Field(default=False, description="Set true to use the agent’s geolocation by the web page.", alias="allowGeolocation") browser_language: Optional[StrictStr] = Field(default=None, description="Set one of the available browser language that you want to use to configure the browser.", alias="browserLanguage") page_loading_strategy: Optional[TestPageLoadingStrategy] = Field(default=None, alias="pageLoadingStrategy") - fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") - override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") - override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") credentials: Optional[List[StrictStr]] = Field(default=None, description="Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint).") - __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "emulatedDeviceId", "followRedirects", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "targetTime", "timeLimit", "transactionScript", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "agents", "credentials"] + __properties: ClassVar[List[str]] = ["createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "targetTime", "timeLimit", "transactionScript", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "credentials"] model_config = ConfigDict( populate_by_name=True, @@ -137,7 +141,6 @@ class WebTransactionInstantTest(BaseModel): * 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([ "created_by", @@ -151,7 +154,6 @@ class WebTransactionInstantTest(BaseModel): "labels", "shared_with_accounts", "ssl_version", - "agents", ]) _dict = self.model_dump( @@ -176,16 +178,15 @@ class WebTransactionInstantTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['sharedWithAccounts'] = _items + # override the default output from pydantic by calling `to_dict()` of agent_interfaces + if self.agent_interfaces: + _dict['agentInterfaces'] = self.agent_interfaces.to_dict() # override the default output from pydantic by calling `to_dict()` of custom_headers if self.custom_headers: _dict['customHeaders'] = self.custom_headers.to_dict() - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items + # override the default output from pydantic by calling `to_dict()` of o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() return _dict @classmethod @@ -212,13 +213,14 @@ class WebTransactionInstantTest(BaseModel): "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, "authType": obj.get("authType"), + "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, "bandwidthMeasurements": obj.get("bandwidthMeasurements"), "clientCertificate": obj.get("clientCertificate"), "contentRegex": obj.get("contentRegex"), "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None, - "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else '200', - "emulatedDeviceId": obj.get("emulatedDeviceId"), - "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else 'default', + "downloadLimit": obj.get("downloadLimit"), + "dnsOverride": obj.get("dnsOverride"), "httpTargetTime": obj.get("httpTargetTime"), "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5, "httpVersion": obj.get("httpVersion") if obj.get("httpVersion") is not None else 2, @@ -226,31 +228,34 @@ class WebTransactionInstantTest(BaseModel): "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, "password": obj.get("password"), "pathTraceMode": obj.get("pathTraceMode"), "probeMode": obj.get("probeMode"), "protocol": obj.get("protocol"), "sslVersion": obj.get("sslVersion"), "sslVersionId": obj.get("sslVersionId"), - "targetTime": obj.get("targetTime"), - "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, - "transactionScript": obj.get("transactionScript"), "url": obj.get("url"), "useNtlm": obj.get("useNtlm"), "userAgent": obj.get("userAgent"), "username": obj.get("username"), "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else False, "allowUnsafeLegacyRenegotiation": obj.get("allowUnsafeLegacyRenegotiation") if obj.get("allowUnsafeLegacyRenegotiation") is not None else True, + "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "fixedPacketRate": obj.get("fixedPacketRate"), + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "emulatedDeviceId": obj.get("emulatedDeviceId"), + "targetTime": obj.get("targetTime"), + "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, + "transactionScript": obj.get("transactionScript"), "blockDomains": obj.get("blockDomains"), "disableScreenshot": obj.get("disableScreenshot") if obj.get("disableScreenshot") is not None else False, "allowMicAndCamera": obj.get("allowMicAndCamera") if obj.get("allowMicAndCamera") is not None else False, "allowGeolocation": obj.get("allowGeolocation") if obj.get("allowGeolocation") is not None else False, "browserLanguage": obj.get("browserLanguage"), "pageLoadingStrategy": obj.get("pageLoadingStrategy"), - "fixedPacketRate": obj.get("fixedPacketRate"), - "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, - "overrideProxyId": obj.get("overrideProxyId"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, "credentials": obj.get("credentials") }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_properties.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_properties.py index 001be621..23553b98 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_properties.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_properties.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,9 +16,11 @@ import pprint import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated +from thousandeyes_sdk.tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.tests.models.o_auth import OAuth from thousandeyes_sdk.tests.models.test_auth_type import TestAuthType from thousandeyes_sdk.tests.models.test_custom_headers import TestCustomHeaders from thousandeyes_sdk.tests.models.test_page_loading_strategy import TestPageLoadingStrategy @@ -35,13 +36,14 @@ class WebTransactionProperties(BaseModel): WebTransactionProperties """ # noqa: E501 auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") - content_regex: Optional[StrictStr] = Field(default=None, description="Verify content using a regular expression. This field does not require escaping.", alias="contentRegex") + content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders") - desired_status_code: Optional[StrictStr] = Field(default='200', description="Specify the HTTP status code value that indicates a successful response.", alias="desiredStatusCode") - emulated_device_id: Optional[StrictStr] = Field(default=None, description="id of the emulated device, if one was given when the test was created", alias="emulatedDeviceId") - follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + desired_status_code: Optional[StrictStr] = Field(default='default', description="Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code.", alias="desiredStatusCode") + download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit") + dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride") http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") http_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=5, description="HTTP time limit in seconds.", alias="httpTimeLimit") http_version: Optional[Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(default=2, description="HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1.", alias="httpVersion") @@ -49,32 +51,36 @@ class WebTransactionProperties(BaseModel): mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + o_auth: Optional[OAuth] = Field(default=None, alias="oAuth") password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") protocol: Optional[TestProtocol] = None ssl_version: Optional[StrictStr] = Field(default=None, description="Reflects the verbose SSL protocol version used by a test.", alias="sslVersion") ssl_version_id: Optional[TestSslVersionId] = Field(default=None, alias="sslVersionId") - target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=0)]] = Field(default=None, description="Target time for completion, defaults to 50% of time limit specified in seconds. (0 means default behavior)", alias="targetTime") - time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds.", alias="timeLimit") - transaction_script: StrictStr = Field(description="JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ).", alias="transactionScript") url: StrictStr = Field(description="Target for the test.") use_ntlm: Optional[StrictBool] = Field(default=None, description="Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set.", alias="useNtlm") user_agent: Optional[StrictStr] = Field(default=None, description="User-agent string to be provided during the test.", alias="userAgent") username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") verify_certificate: Optional[StrictBool] = Field(default=False, description="Ignore or acknowledge certificate errors. Set to false to ignore certificate errors.", alias="verifyCertificate") allow_unsafe_legacy_renegotiation: Optional[StrictBool] = Field(default=True, description="Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation.", alias="allowUnsafeLegacyRenegotiation") + follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if specified when the test was created.", alias="emulatedDeviceId") + target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=0)]] = Field(default=None, description="Target completion time. The default is 50% of the specified time limit in seconds. (Set to 0 to use the default behavior).", alias="targetTime") + time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds.", alias="timeLimit") + transaction_script: StrictStr = Field(description="JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ).", alias="transactionScript") block_domains: Optional[StrictStr] = Field(default=None, description="Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests.", alias="blockDomains") disable_screenshot: Optional[StrictBool] = Field(default=False, description="Enables or disables screenshots on error. Set true to not capture", alias="disableScreenshot") allow_mic_and_camera: Optional[StrictBool] = Field(default=False, description="Set true allow the use of a fake mic and camera in the browser.", alias="allowMicAndCamera") allow_geolocation: Optional[StrictBool] = Field(default=False, description="Set true to use the agent’s geolocation by the web page.", alias="allowGeolocation") browser_language: Optional[StrictStr] = Field(default=None, description="Set one of the available browser language that you want to use to configure the browser.", alias="browserLanguage") page_loading_strategy: Optional[TestPageLoadingStrategy] = Field(default=None, alias="pageLoadingStrategy") - fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") type: Optional[StrictStr] = None - override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") - override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") - __properties: ClassVar[List[str]] = ["authType", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "emulatedDeviceId", "followRedirects", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "targetTime", "timeLimit", "transactionScript", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "fixedPacketRate", "type", "overrideAgentProxy", "overrideProxyId"] + __properties: ClassVar[List[str]] = ["authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "targetTime", "timeLimit", "transactionScript", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "type"] model_config = ConfigDict( populate_by_name=True, @@ -120,9 +126,15 @@ class WebTransactionProperties(BaseModel): exclude=excluded_fields, exclude_none=True, ) + # override the default output from pydantic by calling `to_dict()` of agent_interfaces + if self.agent_interfaces: + _dict['agentInterfaces'] = self.agent_interfaces.to_dict() # override the default output from pydantic by calling `to_dict()` of custom_headers if self.custom_headers: _dict['customHeaders'] = self.custom_headers.to_dict() + # override the default output from pydantic by calling `to_dict()` of o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() return _dict @classmethod @@ -136,13 +148,14 @@ class WebTransactionProperties(BaseModel): _obj = cls.model_validate({ "authType": obj.get("authType"), + "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, "bandwidthMeasurements": obj.get("bandwidthMeasurements"), "clientCertificate": obj.get("clientCertificate"), "contentRegex": obj.get("contentRegex"), "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None, - "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else '200', - "emulatedDeviceId": obj.get("emulatedDeviceId"), - "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else 'default', + "downloadLimit": obj.get("downloadLimit"), + "dnsOverride": obj.get("dnsOverride"), "httpTargetTime": obj.get("httpTargetTime"), "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5, "httpVersion": obj.get("httpVersion") if obj.get("httpVersion") is not None else 2, @@ -150,31 +163,35 @@ class WebTransactionProperties(BaseModel): "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, "password": obj.get("password"), "pathTraceMode": obj.get("pathTraceMode"), "probeMode": obj.get("probeMode"), "protocol": obj.get("protocol"), "sslVersion": obj.get("sslVersion"), "sslVersionId": obj.get("sslVersionId"), - "targetTime": obj.get("targetTime"), - "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, - "transactionScript": obj.get("transactionScript"), "url": obj.get("url"), "useNtlm": obj.get("useNtlm"), "userAgent": obj.get("userAgent"), "username": obj.get("username"), "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else False, "allowUnsafeLegacyRenegotiation": obj.get("allowUnsafeLegacyRenegotiation") if obj.get("allowUnsafeLegacyRenegotiation") is not None else True, + "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "fixedPacketRate": obj.get("fixedPacketRate"), + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "emulatedDeviceId": obj.get("emulatedDeviceId"), + "targetTime": obj.get("targetTime"), + "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, + "transactionScript": obj.get("transactionScript"), "blockDomains": obj.get("blockDomains"), "disableScreenshot": obj.get("disableScreenshot") if obj.get("disableScreenshot") is not None else False, "allowMicAndCamera": obj.get("allowMicAndCamera") if obj.get("allowMicAndCamera") is not None else False, "allowGeolocation": obj.get("allowGeolocation") if obj.get("allowGeolocation") is not None else False, "browserLanguage": obj.get("browserLanguage"), "pageLoadingStrategy": obj.get("pageLoadingStrategy"), - "fixedPacketRate": obj.get("fixedPacketRate"), - "type": obj.get("type"), - "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, - "overrideProxyId": obj.get("overrideProxyId") + "type": obj.get("type") }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_test.py index 1e3e11e2..18a883c6 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_test.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -18,12 +17,13 @@ import re # noqa: F401 import json from datetime import datetime -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent import Agent +from thousandeyes_sdk.tests.models.agent_interfaces import AgentInterfaces from thousandeyes_sdk.tests.models.alert_rule import AlertRule from thousandeyes_sdk.tests.models.monitor import Monitor +from thousandeyes_sdk.tests.models.o_auth import OAuth from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount from thousandeyes_sdk.tests.models.test_auth_type import TestAuthType from thousandeyes_sdk.tests.models.test_custom_headers import TestCustomHeaders @@ -61,13 +61,14 @@ class WebTransactionTest(BaseModel): labels: Optional[List[TestLabel]] = None shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") - content_regex: Optional[StrictStr] = Field(default=None, description="Verify content using a regular expression. This field does not require escaping.", alias="contentRegex") + content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders") - desired_status_code: Optional[StrictStr] = Field(default='200', description="Specify the HTTP status code value that indicates a successful response.", alias="desiredStatusCode") - emulated_device_id: Optional[StrictStr] = Field(default=None, description="id of the emulated device, if one was given when the test was created", alias="emulatedDeviceId") - follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + desired_status_code: Optional[StrictStr] = Field(default='default', description="Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code.", alias="desiredStatusCode") + download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit") + dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride") http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") http_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=5, description="HTTP time limit in seconds.", alias="httpTimeLimit") http_version: Optional[Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(default=2, description="HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1.", alias="httpVersion") @@ -75,37 +76,40 @@ class WebTransactionTest(BaseModel): mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + o_auth: Optional[OAuth] = Field(default=None, alias="oAuth") password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") protocol: Optional[TestProtocol] = None ssl_version: Optional[StrictStr] = Field(default=None, description="Reflects the verbose SSL protocol version used by a test.", alias="sslVersion") ssl_version_id: Optional[TestSslVersionId] = Field(default=None, alias="sslVersionId") - target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=0)]] = Field(default=None, description="Target time for completion, defaults to 50% of time limit specified in seconds. (0 means default behavior)", alias="targetTime") - time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds.", alias="timeLimit") - transaction_script: StrictStr = Field(description="JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ).", alias="transactionScript") url: StrictStr = Field(description="Target for the test.") use_ntlm: Optional[StrictBool] = Field(default=None, description="Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set.", alias="useNtlm") user_agent: Optional[StrictStr] = Field(default=None, description="User-agent string to be provided during the test.", alias="userAgent") username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") verify_certificate: Optional[StrictBool] = Field(default=False, description="Ignore or acknowledge certificate errors. Set to false to ignore certificate errors.", alias="verifyCertificate") allow_unsafe_legacy_renegotiation: Optional[StrictBool] = Field(default=True, description="Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation.", alias="allowUnsafeLegacyRenegotiation") + follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if specified when the test was created.", alias="emulatedDeviceId") + target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=0)]] = Field(default=None, description="Target completion time. The default is 50% of the specified time limit in seconds. (Set to 0 to use the default behavior).", alias="targetTime") + time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds.", alias="timeLimit") + transaction_script: StrictStr = Field(description="JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ).", alias="transactionScript") block_domains: Optional[StrictStr] = Field(default=None, description="Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests.", alias="blockDomains") disable_screenshot: Optional[StrictBool] = Field(default=False, description="Enables or disables screenshots on error. Set true to not capture", alias="disableScreenshot") allow_mic_and_camera: Optional[StrictBool] = Field(default=False, description="Set true allow the use of a fake mic and camera in the browser.", alias="allowMicAndCamera") allow_geolocation: Optional[StrictBool] = Field(default=False, description="Set true to use the agent’s geolocation by the web page.", alias="allowGeolocation") browser_language: Optional[StrictStr] = Field(default=None, description="Set one of the available browser language that you want to use to configure the browser.", alias="browserLanguage") page_loading_strategy: Optional[TestPageLoadingStrategy] = Field(default=None, alias="pageLoadingStrategy") - fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") - override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") - override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") - agents: Optional[List[Agent]] = Field(default=None, description="Contains list of agents.") credentials: Optional[List[StrictStr]] = Field(default=None, description="Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint).") bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") subinterval: Optional[TestSubInterval] = None - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "emulatedDeviceId", "followRedirects", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "targetTime", "timeLimit", "transactionScript", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "agents", "credentials", "bgpMeasurements", "usePublicBgp", "monitors", "subinterval"] + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "targetTime", "timeLimit", "transactionScript", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "credentials", "bgpMeasurements", "usePublicBgp", "monitors", "subinterval"] model_config = ConfigDict( populate_by_name=True, @@ -150,7 +154,6 @@ class WebTransactionTest(BaseModel): * 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([ "created_by", @@ -164,7 +167,6 @@ class WebTransactionTest(BaseModel): "labels", "shared_with_accounts", "ssl_version", - "agents", "monitors", ]) @@ -197,16 +199,15 @@ class WebTransactionTest(BaseModel): if _item: _items.append(_item.to_dict()) _dict['sharedWithAccounts'] = _items + # override the default output from pydantic by calling `to_dict()` of agent_interfaces + if self.agent_interfaces: + _dict['agentInterfaces'] = self.agent_interfaces.to_dict() # override the default output from pydantic by calling `to_dict()` of custom_headers if self.custom_headers: _dict['customHeaders'] = self.custom_headers.to_dict() - # override the default output from pydantic by calling `to_dict()` of each item in agents (list) - _items = [] - if self.agents: - for _item in self.agents: - if _item: - _items.append(_item.to_dict()) - _dict['agents'] = _items + # override the default output from pydantic by calling `to_dict()` of o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) _items = [] if self.monitors: @@ -244,13 +245,14 @@ class WebTransactionTest(BaseModel): "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, "authType": obj.get("authType"), + "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, "bandwidthMeasurements": obj.get("bandwidthMeasurements"), "clientCertificate": obj.get("clientCertificate"), "contentRegex": obj.get("contentRegex"), "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None, - "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else '200', - "emulatedDeviceId": obj.get("emulatedDeviceId"), - "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else 'default', + "downloadLimit": obj.get("downloadLimit"), + "dnsOverride": obj.get("dnsOverride"), "httpTargetTime": obj.get("httpTargetTime"), "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5, "httpVersion": obj.get("httpVersion") if obj.get("httpVersion") is not None else 2, @@ -258,31 +260,34 @@ class WebTransactionTest(BaseModel): "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, "password": obj.get("password"), "pathTraceMode": obj.get("pathTraceMode"), "probeMode": obj.get("probeMode"), "protocol": obj.get("protocol"), "sslVersion": obj.get("sslVersion"), "sslVersionId": obj.get("sslVersionId"), - "targetTime": obj.get("targetTime"), - "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, - "transactionScript": obj.get("transactionScript"), "url": obj.get("url"), "useNtlm": obj.get("useNtlm"), "userAgent": obj.get("userAgent"), "username": obj.get("username"), "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else False, "allowUnsafeLegacyRenegotiation": obj.get("allowUnsafeLegacyRenegotiation") if obj.get("allowUnsafeLegacyRenegotiation") is not None else True, + "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "fixedPacketRate": obj.get("fixedPacketRate"), + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "emulatedDeviceId": obj.get("emulatedDeviceId"), + "targetTime": obj.get("targetTime"), + "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, + "transactionScript": obj.get("transactionScript"), "blockDomains": obj.get("blockDomains"), "disableScreenshot": obj.get("disableScreenshot") if obj.get("disableScreenshot") is not None else False, "allowMicAndCamera": obj.get("allowMicAndCamera") if obj.get("allowMicAndCamera") is not None else False, "allowGeolocation": obj.get("allowGeolocation") if obj.get("allowGeolocation") is not None else False, "browserLanguage": obj.get("browserLanguage"), "pageLoadingStrategy": obj.get("pageLoadingStrategy"), - "fixedPacketRate": obj.get("fixedPacketRate"), - "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, - "overrideProxyId": obj.get("overrideProxyId"), - "agents": [Agent.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, "credentials": obj.get("credentials"), "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_web_transaction_test.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_test_request.py similarity index 82% rename from thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_web_transaction_test.py rename to thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_test_request.py index 2a2ae675..716451a7 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/update_web_transaction_test.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_test_request.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -18,10 +17,12 @@ import re # noqa: F401 import json from datetime import datetime -from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated -from thousandeyes_sdk.tests.models.agent_request import AgentRequest +from thousandeyes_sdk.tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.tests.models.o_auth import OAuth +from thousandeyes_sdk.tests.models.test_agent_request import TestAgentRequest from thousandeyes_sdk.tests.models.test_auth_type import TestAuthType from thousandeyes_sdk.tests.models.test_custom_headers import TestCustomHeaders from thousandeyes_sdk.tests.models.test_interval import TestInterval @@ -35,9 +36,9 @@ from thousandeyes_sdk.tests.models.test_sub_interval import TestSubInterval from typing import Optional, Set from typing_extensions import Self -class UpdateWebTransactionTest(BaseModel): +class WebTransactionTestRequest(BaseModel): """ - UpdateWebTransactionTest + WebTransactionTestRequest """ # noqa: E501 interval: TestInterval alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") @@ -57,13 +58,14 @@ class UpdateWebTransactionTest(BaseModel): labels: Optional[List[StrictStr]] = Field(default=None, description="Contains list of test label IDs (get `labelId` from `/labels` endpoint)") shared_with_accounts: Optional[List[StrictStr]] = Field(default=None, description="Contains list of account group IDs. Test is shared with the listed account groups (get `aid` from `/account-groups` endpoint)", alias="sharedWithAccounts") auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") - content_regex: Optional[StrictStr] = Field(default=None, description="Verify content using a regular expression. This field does not require escaping.", alias="contentRegex") + content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders") - desired_status_code: Optional[StrictStr] = Field(default='200', description="Specify the HTTP status code value that indicates a successful response.", alias="desiredStatusCode") - emulated_device_id: Optional[StrictStr] = Field(default=None, description="id of the emulated device, if one was given when the test was created", alias="emulatedDeviceId") - follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + desired_status_code: Optional[StrictStr] = Field(default='default', description="Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code.", alias="desiredStatusCode") + download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit") + dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride") http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") http_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=5, description="HTTP time limit in seconds.", alias="httpTimeLimit") http_version: Optional[Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(default=2, description="HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1.", alias="httpVersion") @@ -71,37 +73,41 @@ class UpdateWebTransactionTest(BaseModel): mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + o_auth: Optional[OAuth] = Field(default=None, alias="oAuth") password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") protocol: Optional[TestProtocol] = None ssl_version: Optional[StrictStr] = Field(default=None, description="Reflects the verbose SSL protocol version used by a test.", alias="sslVersion") ssl_version_id: Optional[TestSslVersionId] = Field(default=None, alias="sslVersionId") - target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=0)]] = Field(default=None, description="Target time for completion, defaults to 50% of time limit specified in seconds. (0 means default behavior)", alias="targetTime") - time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds.", alias="timeLimit") - transaction_script: StrictStr = Field(description="JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ).", alias="transactionScript") url: StrictStr = Field(description="Target for the test.") use_ntlm: Optional[StrictBool] = Field(default=None, description="Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set.", alias="useNtlm") user_agent: Optional[StrictStr] = Field(default=None, description="User-agent string to be provided during the test.", alias="userAgent") username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") verify_certificate: Optional[StrictBool] = Field(default=False, description="Ignore or acknowledge certificate errors. Set to false to ignore certificate errors.", alias="verifyCertificate") allow_unsafe_legacy_renegotiation: Optional[StrictBool] = Field(default=True, description="Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation.", alias="allowUnsafeLegacyRenegotiation") + follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if specified when the test was created.", alias="emulatedDeviceId") + target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=0)]] = Field(default=None, description="Target completion time. The default is 50% of the specified time limit in seconds. (Set to 0 to use the default behavior).", alias="targetTime") + time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds.", alias="timeLimit") + transaction_script: StrictStr = Field(description="JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ).", alias="transactionScript") block_domains: Optional[StrictStr] = Field(default=None, description="Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests.", alias="blockDomains") disable_screenshot: Optional[StrictBool] = Field(default=False, description="Enables or disables screenshots on error. Set true to not capture", alias="disableScreenshot") allow_mic_and_camera: Optional[StrictBool] = Field(default=False, description="Set true allow the use of a fake mic and camera in the browser.", alias="allowMicAndCamera") allow_geolocation: Optional[StrictBool] = Field(default=False, description="Set true to use the agent’s geolocation by the web page.", alias="allowGeolocation") browser_language: Optional[StrictStr] = Field(default=None, description="Set one of the available browser language that you want to use to configure the browser.", alias="browserLanguage") page_loading_strategy: Optional[TestPageLoadingStrategy] = Field(default=None, alias="pageLoadingStrategy") - fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") - override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") - override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") - agents: Optional[List[AgentRequest]] = None credentials: Optional[List[StrictStr]] = Field(default=None, description="Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint).") bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") monitors: Optional[List[StrictStr]] = Field(default=None, description="Contains list of BGP monitor IDs (get `monitorId` from `/monitors` endpoint)") subinterval: Optional[TestSubInterval] = None - __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "emulatedDeviceId", "followRedirects", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "targetTime", "timeLimit", "transactionScript", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "agents", "credentials", "bgpMeasurements", "usePublicBgp", "monitors", "subinterval"] + agents: List[TestAgentRequest] = Field(description="Contains list of Agent IDs (get `agentId` from `/agents` endpoint).") + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "targetTime", "timeLimit", "transactionScript", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "credentials", "bgpMeasurements", "usePublicBgp", "monitors", "subinterval", "agents"] model_config = ConfigDict( populate_by_name=True, @@ -122,7 +128,7 @@ class UpdateWebTransactionTest(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of UpdateWebTransactionTest from a JSON string""" + """Create an instance of WebTransactionTestRequest from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -164,9 +170,15 @@ class UpdateWebTransactionTest(BaseModel): # override the default output from pydantic by calling `to_dict()` of links if self.links: _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of agent_interfaces + if self.agent_interfaces: + _dict['agentInterfaces'] = self.agent_interfaces.to_dict() # override the default output from pydantic by calling `to_dict()` of custom_headers if self.custom_headers: _dict['customHeaders'] = self.custom_headers.to_dict() + # override the default output from pydantic by calling `to_dict()` of o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() # override the default output from pydantic by calling `to_dict()` of each item in agents (list) _items = [] if self.agents: @@ -178,7 +190,7 @@ class UpdateWebTransactionTest(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of UpdateWebTransactionTest from a dict""" + """Create an instance of WebTransactionTestRequest from a dict""" if obj is None: return None @@ -204,13 +216,14 @@ class UpdateWebTransactionTest(BaseModel): "labels": obj.get("labels"), "sharedWithAccounts": obj.get("sharedWithAccounts"), "authType": obj.get("authType"), + "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, "bandwidthMeasurements": obj.get("bandwidthMeasurements"), "clientCertificate": obj.get("clientCertificate"), "contentRegex": obj.get("contentRegex"), "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None, - "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else '200', - "emulatedDeviceId": obj.get("emulatedDeviceId"), - "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else 'default', + "downloadLimit": obj.get("downloadLimit"), + "dnsOverride": obj.get("dnsOverride"), "httpTargetTime": obj.get("httpTargetTime"), "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5, "httpVersion": obj.get("httpVersion") if obj.get("httpVersion") is not None else 2, @@ -218,36 +231,40 @@ class UpdateWebTransactionTest(BaseModel): "mtuMeasurements": obj.get("mtuMeasurements"), "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, "password": obj.get("password"), "pathTraceMode": obj.get("pathTraceMode"), "probeMode": obj.get("probeMode"), "protocol": obj.get("protocol"), "sslVersion": obj.get("sslVersion"), "sslVersionId": obj.get("sslVersionId"), - "targetTime": obj.get("targetTime"), - "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, - "transactionScript": obj.get("transactionScript"), "url": obj.get("url"), "useNtlm": obj.get("useNtlm"), "userAgent": obj.get("userAgent"), "username": obj.get("username"), "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else False, "allowUnsafeLegacyRenegotiation": obj.get("allowUnsafeLegacyRenegotiation") if obj.get("allowUnsafeLegacyRenegotiation") is not None else True, + "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "fixedPacketRate": obj.get("fixedPacketRate"), + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "emulatedDeviceId": obj.get("emulatedDeviceId"), + "targetTime": obj.get("targetTime"), + "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, + "transactionScript": obj.get("transactionScript"), "blockDomains": obj.get("blockDomains"), "disableScreenshot": obj.get("disableScreenshot") if obj.get("disableScreenshot") is not None else False, "allowMicAndCamera": obj.get("allowMicAndCamera") if obj.get("allowMicAndCamera") is not None else False, "allowGeolocation": obj.get("allowGeolocation") if obj.get("allowGeolocation") is not None else False, "browserLanguage": obj.get("browserLanguage"), "pageLoadingStrategy": obj.get("pageLoadingStrategy"), - "fixedPacketRate": obj.get("fixedPacketRate"), - "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, - "overrideProxyId": obj.get("overrideProxyId"), - "agents": [AgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None, "credentials": obj.get("credentials"), "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, "monitors": obj.get("monitors"), - "subinterval": obj.get("subinterval") + "subinterval": obj.get("subinterval"), + "agents": [TestAgentRequest.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None }) return _obj diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_test_response.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_test_response.py new file mode 100644 index 00000000..c6a28030 --- /dev/null +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_test_response.py @@ -0,0 +1,309 @@ +# coding: utf-8 + +""" + Tests API + + This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. + + 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 datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from thousandeyes_sdk.tests.models.agent_interfaces import AgentInterfaces +from thousandeyes_sdk.tests.models.agent_response import AgentResponse +from thousandeyes_sdk.tests.models.alert_rule import AlertRule +from thousandeyes_sdk.tests.models.monitor import Monitor +from thousandeyes_sdk.tests.models.o_auth import OAuth +from thousandeyes_sdk.tests.models.shared_with_account import SharedWithAccount +from thousandeyes_sdk.tests.models.test_auth_type import TestAuthType +from thousandeyes_sdk.tests.models.test_custom_headers import TestCustomHeaders +from thousandeyes_sdk.tests.models.test_interval import TestInterval +from thousandeyes_sdk.tests.models.test_label import TestLabel +from thousandeyes_sdk.tests.models.test_links import TestLinks +from thousandeyes_sdk.tests.models.test_page_loading_strategy import TestPageLoadingStrategy +from thousandeyes_sdk.tests.models.test_path_trace_mode import TestPathTraceMode +from thousandeyes_sdk.tests.models.test_probe_mode import TestProbeMode +from thousandeyes_sdk.tests.models.test_protocol import TestProtocol +from thousandeyes_sdk.tests.models.test_ssl_version_id import TestSslVersionId +from thousandeyes_sdk.tests.models.test_sub_interval import TestSubInterval +from typing import Optional, Set +from typing_extensions import Self + +class WebTransactionTestResponse(BaseModel): + """ + WebTransactionTestResponse + """ # noqa: E501 + interval: TestInterval + alerts_enabled: Optional[StrictBool] = Field(default=None, description="Indicates if alerts are enabled.", alias="alertsEnabled") + enabled: Optional[StrictBool] = Field(default=True, description="Test is enabled.") + alert_rules: Optional[List[AlertRule]] = Field(default=None, description="Contains list of enabled alert rule objects.", alias="alertRules") + created_by: Optional[StrictStr] = Field(default=None, description="User that created the test.", alias="createdBy") + created_date: Optional[datetime] = Field(default=None, description="UTC created date (ISO date-time format).", alias="createdDate") + description: Optional[StrictStr] = Field(default=None, description="A description of the test.") + live_share: Optional[StrictBool] = Field(default=None, description="Indicates if the test is shared with the account group.", alias="liveShare") + modified_by: Optional[StrictStr] = Field(default=None, description="User that modified the test.", alias="modifiedBy") + modified_date: Optional[datetime] = Field(default=None, description="UTC last modification date (ISO date-time format).", alias="modifiedDate") + saved_event: Optional[StrictBool] = Field(default=None, description="Indicates if the test is a saved event.", alias="savedEvent") + test_id: Optional[StrictStr] = Field(default=None, description="Each test is assigned an unique ID; this is used to access test information and results from other endpoints.", alias="testId") + test_name: Optional[StrictStr] = Field(default=None, description="The name of the test. Test name must be unique.", alias="testName") + type: Optional[StrictStr] = None + links: Optional[TestLinks] = Field(default=None, alias="_links") + labels: Optional[List[TestLabel]] = None + shared_with_accounts: Optional[List[SharedWithAccount]] = Field(default=None, alias="sharedWithAccounts") + auth_type: Optional[TestAuthType] = Field(default=None, alias="authType") + agent_interfaces: Optional[AgentInterfaces] = Field(default=None, alias="agentInterfaces") + bandwidth_measurements: Optional[StrictBool] = Field(default=None, description="Set to `true` to enable bandwidth measurements, only applies to Enterprise agents assigned to the test.", alias="bandwidthMeasurements") + client_certificate: Optional[StrictStr] = Field(default=None, description="String representation (containing newline characters) of client certificate, the private key must be placed first, then the certificate.", alias="clientCertificate") + content_regex: Optional[StrictStr] = Field(default=None, description="Content regex, this field does not require escaping.", alias="contentRegex") + custom_headers: Optional[TestCustomHeaders] = Field(default=None, alias="customHeaders") + desired_status_code: Optional[StrictStr] = Field(default='default', description="Specify the HTTP status code value that indicates a successful response. The default value accepts any 2xx or 3xx status code.", alias="desiredStatusCode") + download_limit: Optional[StrictInt] = Field(default=None, description="Specifies maximum number of bytes to download from the target object.", alias="downloadLimit") + dns_override: Optional[StrictStr] = Field(default=None, description="IP address to use for DNS override.", alias="dnsOverride") + http_target_time: Optional[Annotated[int, Field(le=5000, strict=True, ge=100)]] = Field(default=None, description="Target time for HTTP server completion, specified in milliseconds.", alias="httpTargetTime") + http_time_limit: Optional[Annotated[int, Field(le=60, strict=True, ge=5)]] = Field(default=5, description="HTTP time limit in seconds.", alias="httpTimeLimit") + http_version: Optional[Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(default=2, description="HTTP protocol version. Set to '2' to prefer HTTP/2, or '1' to use only HTTP/1.1.", alias="httpVersion") + include_headers: Optional[StrictBool] = Field(default=True, description="Set to `true` to capture response headers for objects loaded by the test.", alias="includeHeaders") + mtu_measurements: Optional[StrictBool] = Field(default=None, description="Set `true` to measure MTU sizes on network from agents to the target.", alias="mtuMeasurements") + network_measurements: Optional[StrictBool] = Field(default=True, description="Enable or disable network measurements. Set to true to enable or false to disable network measurements.", alias="networkMeasurements") + num_path_traces: Optional[Annotated[int, Field(le=10, strict=True, ge=1)]] = Field(default=3, description="Number of path traces executed by the agent.", alias="numPathTraces") + o_auth: Optional[OAuth] = Field(default=None, alias="oAuth") + password: Optional[StrictStr] = Field(default=None, description="Password for Basic/NTLM authentication.") + path_trace_mode: Optional[TestPathTraceMode] = Field(default=None, alias="pathTraceMode") + probe_mode: Optional[TestProbeMode] = Field(default=None, alias="probeMode") + protocol: Optional[TestProtocol] = None + ssl_version: Optional[StrictStr] = Field(default=None, description="Reflects the verbose SSL protocol version used by a test.", alias="sslVersion") + ssl_version_id: Optional[TestSslVersionId] = Field(default=None, alias="sslVersionId") + url: StrictStr = Field(description="Target for the test.") + use_ntlm: Optional[StrictBool] = Field(default=None, description="Set to true to use NTLM, false to use Basic Authentication. Requires username and password to be set.", alias="useNtlm") + user_agent: Optional[StrictStr] = Field(default=None, description="User-agent string to be provided during the test.", alias="userAgent") + username: Optional[StrictStr] = Field(default=None, description="Username for Basic/NTLM authentication.") + verify_certificate: Optional[StrictBool] = Field(default=False, description="Ignore or acknowledge certificate errors. Set to false to ignore certificate errors.", alias="verifyCertificate") + allow_unsafe_legacy_renegotiation: Optional[StrictBool] = Field(default=True, description="Allows TLS renegotiation with servers not supporting RFC 5746. Default Set to true to allow unsafe legacy renegotiation.", alias="allowUnsafeLegacyRenegotiation") + follow_redirects: Optional[StrictBool] = Field(default=True, description="To disable following HTTP/301 or HTTP/302 redirect directives, set this parameter to `false`.", alias="followRedirects") + fixed_packet_rate: Optional[Annotated[int, Field(le=100, strict=True, ge=0)]] = Field(default=None, description="Sets packets rate sent to measure the network in packets per second.", alias="fixedPacketRate") + override_agent_proxy: Optional[StrictBool] = Field(default=False, description="Flag indicating if a proxy other than the default should be used. To override the default proxy for agents, set to `true` and specify a value for `overrideProxyId`.", alias="overrideAgentProxy") + override_proxy_id: Optional[StrictStr] = Field(default=None, description="ID of the proxy to be used if the default proxy is overridden.", alias="overrideProxyId") + collect_proxy_network_data: Optional[StrictBool] = Field(default=False, description="Indicates whether network data to the proxy should be collected.", alias="collectProxyNetworkData") + emulated_device_id: Optional[StrictStr] = Field(default=None, description="ID of the emulated device, if specified when the test was created.", alias="emulatedDeviceId") + target_time: Optional[Annotated[int, Field(le=60, strict=True, ge=0)]] = Field(default=None, description="Target completion time. The default is 50% of the specified time limit in seconds. (Set to 0 to use the default behavior).", alias="targetTime") + time_limit: Optional[Annotated[int, Field(le=180, strict=True, ge=5)]] = Field(default=30, description="Time limit for transaction in seconds.", alias="timeLimit") + transaction_script: StrictStr = Field(description="JavaScript of a web transaction test. Quotes must be escaped (precede \" characters with \\ ).", alias="transactionScript") + block_domains: Optional[StrictStr] = Field(default=None, description="Domains or full object URLs to be excluded from metrics and waterfall data for transaction tests.", alias="blockDomains") + disable_screenshot: Optional[StrictBool] = Field(default=False, description="Enables or disables screenshots on error. Set true to not capture", alias="disableScreenshot") + allow_mic_and_camera: Optional[StrictBool] = Field(default=False, description="Set true allow the use of a fake mic and camera in the browser.", alias="allowMicAndCamera") + allow_geolocation: Optional[StrictBool] = Field(default=False, description="Set true to use the agent’s geolocation by the web page.", alias="allowGeolocation") + browser_language: Optional[StrictStr] = Field(default=None, description="Set one of the available browser language that you want to use to configure the browser.", alias="browserLanguage") + page_loading_strategy: Optional[TestPageLoadingStrategy] = Field(default=None, alias="pageLoadingStrategy") + credentials: Optional[List[StrictStr]] = Field(default=None, description="Contains a list of credential IDs (get `credentialId` from `/credentials` endpoint).") + bgp_measurements: Optional[StrictBool] = Field(default=True, description="Set to `true` to enable bgp measurements.", alias="bgpMeasurements") + use_public_bgp: Optional[StrictBool] = Field(default=True, description="Indicate if all available public BGP monitors should be used, when ommited defaults to `bgpMeasurements` value.", alias="usePublicBgp") + monitors: Optional[List[Monitor]] = Field(default=None, description="Contains list of enabled BGP monitors.") + subinterval: Optional[TestSubInterval] = None + agents: Optional[List[AgentResponse]] = Field(default=None, description="Contains list of agents.") + __properties: ClassVar[List[str]] = ["interval", "alertsEnabled", "enabled", "alertRules", "createdBy", "createdDate", "description", "liveShare", "modifiedBy", "modifiedDate", "savedEvent", "testId", "testName", "type", "_links", "labels", "sharedWithAccounts", "authType", "agentInterfaces", "bandwidthMeasurements", "clientCertificate", "contentRegex", "customHeaders", "desiredStatusCode", "downloadLimit", "dnsOverride", "httpTargetTime", "httpTimeLimit", "httpVersion", "includeHeaders", "mtuMeasurements", "networkMeasurements", "numPathTraces", "oAuth", "password", "pathTraceMode", "probeMode", "protocol", "sslVersion", "sslVersionId", "url", "useNtlm", "userAgent", "username", "verifyCertificate", "allowUnsafeLegacyRenegotiation", "followRedirects", "fixedPacketRate", "overrideAgentProxy", "overrideProxyId", "collectProxyNetworkData", "emulatedDeviceId", "targetTime", "timeLimit", "transactionScript", "blockDomains", "disableScreenshot", "allowMicAndCamera", "allowGeolocation", "browserLanguage", "pageLoadingStrategy", "credentials", "bgpMeasurements", "usePublicBgp", "monitors", "subinterval", "agents"] + + 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 WebTransactionTestResponse 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. + * 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([ + "created_by", + "created_date", + "live_share", + "modified_by", + "modified_date", + "saved_event", + "test_id", + "type", + "labels", + "shared_with_accounts", + "ssl_version", + "monitors", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in alert_rules (list) + _items = [] + if self.alert_rules: + for _item in self.alert_rules: + if _item: + _items.append(_item.to_dict()) + _dict['alertRules'] = _items + # override the default output from pydantic by calling `to_dict()` of links + if self.links: + _dict['_links'] = self.links.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in labels (list) + _items = [] + if self.labels: + for _item in self.labels: + if _item: + _items.append(_item.to_dict()) + _dict['labels'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in shared_with_accounts (list) + _items = [] + if self.shared_with_accounts: + for _item in self.shared_with_accounts: + if _item: + _items.append(_item.to_dict()) + _dict['sharedWithAccounts'] = _items + # override the default output from pydantic by calling `to_dict()` of agent_interfaces + if self.agent_interfaces: + _dict['agentInterfaces'] = self.agent_interfaces.to_dict() + # override the default output from pydantic by calling `to_dict()` of custom_headers + if self.custom_headers: + _dict['customHeaders'] = self.custom_headers.to_dict() + # override the default output from pydantic by calling `to_dict()` of o_auth + if self.o_auth: + _dict['oAuth'] = self.o_auth.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in monitors (list) + _items = [] + if self.monitors: + for _item in self.monitors: + if _item: + _items.append(_item.to_dict()) + _dict['monitors'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in agents (list) + _items = [] + if self.agents: + for _item in self.agents: + if _item: + _items.append(_item.to_dict()) + _dict['agents'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of WebTransactionTestResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "interval": obj.get("interval"), + "alertsEnabled": obj.get("alertsEnabled"), + "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, + "alertRules": [AlertRule.from_dict(_item) for _item in obj["alertRules"]] if obj.get("alertRules") is not None else None, + "createdBy": obj.get("createdBy"), + "createdDate": obj.get("createdDate"), + "description": obj.get("description"), + "liveShare": obj.get("liveShare"), + "modifiedBy": obj.get("modifiedBy"), + "modifiedDate": obj.get("modifiedDate"), + "savedEvent": obj.get("savedEvent"), + "testId": obj.get("testId"), + "testName": obj.get("testName"), + "type": obj.get("type"), + "_links": TestLinks.from_dict(obj["_links"]) if obj.get("_links") is not None else None, + "labels": [TestLabel.from_dict(_item) for _item in obj["labels"]] if obj.get("labels") is not None else None, + "sharedWithAccounts": [SharedWithAccount.from_dict(_item) for _item in obj["sharedWithAccounts"]] if obj.get("sharedWithAccounts") is not None else None, + "authType": obj.get("authType"), + "agentInterfaces": AgentInterfaces.from_dict(obj["agentInterfaces"]) if obj.get("agentInterfaces") is not None else None, + "bandwidthMeasurements": obj.get("bandwidthMeasurements"), + "clientCertificate": obj.get("clientCertificate"), + "contentRegex": obj.get("contentRegex"), + "customHeaders": TestCustomHeaders.from_dict(obj["customHeaders"]) if obj.get("customHeaders") is not None else None, + "desiredStatusCode": obj.get("desiredStatusCode") if obj.get("desiredStatusCode") is not None else 'default', + "downloadLimit": obj.get("downloadLimit"), + "dnsOverride": obj.get("dnsOverride"), + "httpTargetTime": obj.get("httpTargetTime"), + "httpTimeLimit": obj.get("httpTimeLimit") if obj.get("httpTimeLimit") is not None else 5, + "httpVersion": obj.get("httpVersion") if obj.get("httpVersion") is not None else 2, + "includeHeaders": obj.get("includeHeaders") if obj.get("includeHeaders") is not None else True, + "mtuMeasurements": obj.get("mtuMeasurements"), + "networkMeasurements": obj.get("networkMeasurements") if obj.get("networkMeasurements") is not None else True, + "numPathTraces": obj.get("numPathTraces") if obj.get("numPathTraces") is not None else 3, + "oAuth": OAuth.from_dict(obj["oAuth"]) if obj.get("oAuth") is not None else None, + "password": obj.get("password"), + "pathTraceMode": obj.get("pathTraceMode"), + "probeMode": obj.get("probeMode"), + "protocol": obj.get("protocol"), + "sslVersion": obj.get("sslVersion"), + "sslVersionId": obj.get("sslVersionId"), + "url": obj.get("url"), + "useNtlm": obj.get("useNtlm"), + "userAgent": obj.get("userAgent"), + "username": obj.get("username"), + "verifyCertificate": obj.get("verifyCertificate") if obj.get("verifyCertificate") is not None else False, + "allowUnsafeLegacyRenegotiation": obj.get("allowUnsafeLegacyRenegotiation") if obj.get("allowUnsafeLegacyRenegotiation") is not None else True, + "followRedirects": obj.get("followRedirects") if obj.get("followRedirects") is not None else True, + "fixedPacketRate": obj.get("fixedPacketRate"), + "overrideAgentProxy": obj.get("overrideAgentProxy") if obj.get("overrideAgentProxy") is not None else False, + "overrideProxyId": obj.get("overrideProxyId"), + "collectProxyNetworkData": obj.get("collectProxyNetworkData") if obj.get("collectProxyNetworkData") is not None else False, + "emulatedDeviceId": obj.get("emulatedDeviceId"), + "targetTime": obj.get("targetTime"), + "timeLimit": obj.get("timeLimit") if obj.get("timeLimit") is not None else 30, + "transactionScript": obj.get("transactionScript"), + "blockDomains": obj.get("blockDomains"), + "disableScreenshot": obj.get("disableScreenshot") if obj.get("disableScreenshot") is not None else False, + "allowMicAndCamera": obj.get("allowMicAndCamera") if obj.get("allowMicAndCamera") is not None else False, + "allowGeolocation": obj.get("allowGeolocation") if obj.get("allowGeolocation") is not None else False, + "browserLanguage": obj.get("browserLanguage"), + "pageLoadingStrategy": obj.get("pageLoadingStrategy"), + "credentials": obj.get("credentials"), + "bgpMeasurements": obj.get("bgpMeasurements") if obj.get("bgpMeasurements") is not None else True, + "usePublicBgp": obj.get("usePublicBgp") if obj.get("usePublicBgp") is not None else True, + "monitors": [Monitor.from_dict(_item) for _item in obj["monitors"]] if obj.get("monitors") is not None else None, + "subinterval": obj.get("subinterval"), + "agents": [AgentResponse.from_dict(_item) for _item in obj["agents"]] if obj.get("agents") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_tests.py b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_tests.py index 7b97ee12..b0ffab0e 100644 --- a/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_tests.py +++ b/thousandeyes-sdk-tests/src/thousandeyes_sdk/tests/models/web_transaction_tests.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/test/test_agent_to_agent_api.py b/thousandeyes-sdk-tests/test/test_agent_to_agent_tests_api.py similarity index 96% rename from thousandeyes-sdk-tests/test/test_agent_to_agent_api.py rename to thousandeyes-sdk-tests/test/test_agent_to_agent_tests_api.py index 47658d76..61946776 100644 --- a/thousandeyes-sdk-tests/test/test_agent_to_agent_api.py +++ b/thousandeyes-sdk-tests/test/test_agent_to_agent_tests_api.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.tests.api.agent_to_agent_api import AgentToAgentApi +from thousandeyes_sdk.tests.api.agent_to_agent_tests_api import AgentToAgentTestsApi -class TestAgentToAgentApi(unittest.TestCase): - """AgentToAgentApi unit test stubs""" +class TestAgentToAgentTestsApi(unittest.TestCase): + """AgentToAgentTestsApi unit test stubs""" def setUp(self) -> None: - self.api = AgentToAgentApi() + self.api = AgentToAgentTestsApi() def tearDown(self) -> None: pass @@ -85,14 +84,14 @@ class TestAgentToAgentApi(unittest.TestCase): "port" : 49153, "modifiedDate" : "2022-07-17T22:00:54Z", "targetAgentId" : "2954", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ "1234", "12345" ], "monitors" : [ "17410", "5" ] }""" request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.tests.models.UpdateAgentToAgentTest.from_json(request_body_json) + request_from_json = thousandeyes_sdk.tests.models.AgentToAgentTestRequest.from_json(request_body_json) assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) response_body_json = """ @@ -116,28 +115,30 @@ class TestAgentToAgentApi(unittest.TestCase): }, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -201,7 +202,7 @@ class TestAgentToAgentApi(unittest.TestCase): "port" : 49153, "modifiedDate" : "2022-07-17T22:00:54Z", "targetAgentId" : "2954", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ { "name" : "Account name", @@ -228,7 +229,7 @@ class TestAgentToAgentApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.AgentToAgentTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.AgentToAgentTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_delete_agent_to_agent_test_models_validation(self) -> None: @@ -259,28 +260,30 @@ class TestAgentToAgentApi(unittest.TestCase): }, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -344,7 +347,7 @@ class TestAgentToAgentApi(unittest.TestCase): "port" : 49153, "modifiedDate" : "2022-07-17T22:00:54Z", "targetAgentId" : "2954", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ { "name" : "Account name", @@ -371,7 +374,7 @@ class TestAgentToAgentApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.AgentToAgentTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.AgentToAgentTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_get_agent_to_agent_tests_models_validation(self) -> None: @@ -423,7 +426,7 @@ class TestAgentToAgentApi(unittest.TestCase): "port" : 49153, "modifiedDate" : "2022-07-17T22:00:54Z", "targetAgentId" : "2954", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706" }, { "_links" : { @@ -469,7 +472,7 @@ class TestAgentToAgentApi(unittest.TestCase): "port" : 49153, "modifiedDate" : "2022-07-17T22:00:54Z", "targetAgentId" : "2954", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706" } ], "_links" : { @@ -546,14 +549,14 @@ class TestAgentToAgentApi(unittest.TestCase): "port" : 49153, "modifiedDate" : "2022-07-17T22:00:54Z", "targetAgentId" : "2954", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ "1234", "12345" ], "monitors" : [ "17410", "5" ] }""" request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.tests.models.UpdateAgentToAgentTest.from_json(request_body_json) + request_from_json = thousandeyes_sdk.tests.models.AgentToAgentTestRequest.from_json(request_body_json) assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) response_body_json = """ @@ -577,28 +580,30 @@ class TestAgentToAgentApi(unittest.TestCase): }, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -662,7 +667,7 @@ class TestAgentToAgentApi(unittest.TestCase): "port" : 49153, "modifiedDate" : "2022-07-17T22:00:54Z", "targetAgentId" : "2954", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ { "name" : "Account name", @@ -689,7 +694,7 @@ class TestAgentToAgentApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.AgentToAgentTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.AgentToAgentTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) diff --git a/thousandeyes-sdk-tests/test/test_agent_to_server_api.py b/thousandeyes-sdk-tests/test/test_agent_to_server_tests_api.py similarity index 96% rename from thousandeyes-sdk-tests/test/test_agent_to_server_api.py rename to thousandeyes-sdk-tests/test/test_agent_to_server_tests_api.py index 516f0172..66234192 100644 --- a/thousandeyes-sdk-tests/test/test_agent_to_server_api.py +++ b/thousandeyes-sdk-tests/test/test_agent_to_server_tests_api.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.tests.api.agent_to_server_api import AgentToServerApi +from thousandeyes_sdk.tests.api.agent_to_server_tests_api import AgentToServerTestsApi -class TestAgentToServerApi(unittest.TestCase): - """AgentToServerApi unit test stubs""" +class TestAgentToServerTestsApi(unittest.TestCase): + """AgentToServerTestsApi unit test stubs""" def setUp(self) -> None: - self.api = AgentToServerApi() + self.api = AgentToServerTestsApi() def tearDown(self) -> None: pass @@ -85,7 +84,7 @@ class TestAgentToServerApi(unittest.TestCase): "createdBy" : "user@user.com", "port" : 49153, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ "1234", "12345" ], "pingPayloadSize" : 112, @@ -94,7 +93,7 @@ class TestAgentToServerApi(unittest.TestCase): }""" request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.tests.models.UpdateAgentToServerTest.from_json(request_body_json) + request_from_json = thousandeyes_sdk.tests.models.AgentToServerTestRequest.from_json(request_body_json) assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) response_body_json = """ @@ -121,28 +120,30 @@ class TestAgentToServerApi(unittest.TestCase): }, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -203,7 +204,7 @@ class TestAgentToServerApi(unittest.TestCase): "createdBy" : "user@user.com", "port" : 49153, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ { "name" : "Account name", @@ -232,7 +233,7 @@ class TestAgentToServerApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.AgentToServerTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.AgentToServerTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_delete_agent_to_server_test_models_validation(self) -> None: @@ -266,28 +267,30 @@ class TestAgentToServerApi(unittest.TestCase): }, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -348,7 +351,7 @@ class TestAgentToServerApi(unittest.TestCase): "createdBy" : "user@user.com", "port" : 49153, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ { "name" : "Account name", @@ -377,7 +380,7 @@ class TestAgentToServerApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.AgentToServerTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.AgentToServerTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_get_agent_to_server_tests_models_validation(self) -> None: @@ -429,7 +432,7 @@ class TestAgentToServerApi(unittest.TestCase): "createdBy" : "user@user.com", "port" : 49153, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "pingPayloadSize" : 112, "continuousMode" : false @@ -477,7 +480,7 @@ class TestAgentToServerApi(unittest.TestCase): "createdBy" : "user@user.com", "port" : 49153, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "pingPayloadSize" : 112, "continuousMode" : false @@ -556,7 +559,7 @@ class TestAgentToServerApi(unittest.TestCase): "createdBy" : "user@user.com", "port" : 49153, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ "1234", "12345" ], "pingPayloadSize" : 112, @@ -565,7 +568,7 @@ class TestAgentToServerApi(unittest.TestCase): }""" request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.tests.models.UpdateAgentToServerTest.from_json(request_body_json) + request_from_json = thousandeyes_sdk.tests.models.AgentToServerTestRequest.from_json(request_body_json) assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) response_body_json = """ @@ -592,28 +595,30 @@ class TestAgentToServerApi(unittest.TestCase): }, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -674,7 +679,7 @@ class TestAgentToServerApi(unittest.TestCase): "createdBy" : "user@user.com", "port" : 49153, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ { "name" : "Account name", @@ -703,7 +708,7 @@ class TestAgentToServerApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.AgentToServerTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.AgentToServerTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) diff --git a/thousandeyes-sdk-tests/test/test_api_api.py b/thousandeyes-sdk-tests/test/test_api_tests_api.py similarity index 96% rename from thousandeyes-sdk-tests/test/test_api_api.py rename to thousandeyes-sdk-tests/test/test_api_tests_api.py index b6f8dd91..3a288094 100644 --- a/thousandeyes-sdk-tests/test/test_api_api.py +++ b/thousandeyes-sdk-tests/test/test_api_tests_api.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.tests.api.api_api import APIApi +from thousandeyes_sdk.tests.api.api_tests_api import APITestsApi -class TestAPIApi(unittest.TestCase): - """APIApi unit test stubs""" +class TestAPITestsApi(unittest.TestCase): + """APITestsApi unit test stubs""" def setUp(self) -> None: - self.api = APIApi() + self.api = APITestsApi() def tearDown(self) -> None: pass @@ -128,6 +127,7 @@ class TestAPIApi(unittest.TestCase): "usePublicBgp" : true, "enabled" : true, "protocol" : "tcp", + "collectProxyNetworkData" : false, "followRedirects" : true, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", @@ -135,6 +135,7 @@ class TestAPIApi(unittest.TestCase): "testName" : "ThousandEyes Test", "numPathTraces" : 3, "bgpMeasurements" : true, + "overrideAgentProxy" : false, "predefinedVariables" : [ { "name" : "myUsername", "value" : "ThousandEyesAccountUserName" @@ -158,9 +159,10 @@ class TestAPIApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ "1234", "12345" ], + "overrideProxyId" : "281474976710706", "sslVersionId" : "0", "targetTime" : 1, "monitors" : [ { @@ -181,7 +183,7 @@ class TestAPIApi(unittest.TestCase): }""" request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.tests.models.UpdateApiTest.from_json(request_body_json) + request_from_json = thousandeyes_sdk.tests.models.ApiTestRequest.from_json(request_body_json) assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) response_body_json = """ @@ -207,28 +209,30 @@ class TestAPIApi(unittest.TestCase): "credentials" : [ "3247", "1051" ], "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -307,6 +311,7 @@ class TestAPIApi(unittest.TestCase): "usePublicBgp" : true, "enabled" : true, "protocol" : "tcp", + "collectProxyNetworkData" : false, "followRedirects" : true, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", @@ -314,6 +319,7 @@ class TestAPIApi(unittest.TestCase): "testName" : "ThousandEyes Test", "numPathTraces" : 3, "bgpMeasurements" : true, + "overrideAgentProxy" : false, "predefinedVariables" : [ { "name" : "myUsername", "value" : "ThousandEyesAccountUserName" @@ -363,7 +369,7 @@ class TestAPIApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ { "name" : "Account name", @@ -372,6 +378,7 @@ class TestAPIApi(unittest.TestCase): "name" : "Account name", "aid" : "1234" } ], + "overrideProxyId" : "281474976710706", "sslVersionId" : "0", "targetTime" : 1, "monitors" : [ { @@ -392,7 +399,7 @@ class TestAPIApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.ApiTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.ApiTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_delete_api_test_models_validation(self) -> None: @@ -425,28 +432,30 @@ class TestAPIApi(unittest.TestCase): "credentials" : [ "3247", "1051" ], "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -525,6 +534,7 @@ class TestAPIApi(unittest.TestCase): "usePublicBgp" : true, "enabled" : true, "protocol" : "tcp", + "collectProxyNetworkData" : false, "followRedirects" : true, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", @@ -532,6 +542,7 @@ class TestAPIApi(unittest.TestCase): "testName" : "ThousandEyes Test", "numPathTraces" : 3, "bgpMeasurements" : true, + "overrideAgentProxy" : false, "predefinedVariables" : [ { "name" : "myUsername", "value" : "ThousandEyesAccountUserName" @@ -581,7 +592,7 @@ class TestAPIApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ { "name" : "Account name", @@ -590,6 +601,7 @@ class TestAPIApi(unittest.TestCase): "name" : "Account name", "aid" : "1234" } ], + "overrideProxyId" : "281474976710706", "sslVersionId" : "0", "targetTime" : 1, "monitors" : [ { @@ -610,7 +622,7 @@ class TestAPIApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.ApiTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.ApiTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_get_api_tests_models_validation(self) -> None: @@ -712,6 +724,7 @@ class TestAPIApi(unittest.TestCase): "usePublicBgp" : true, "enabled" : true, "protocol" : "tcp", + "collectProxyNetworkData" : false, "followRedirects" : true, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", @@ -719,6 +732,7 @@ class TestAPIApi(unittest.TestCase): "testName" : "ThousandEyes Test", "numPathTraces" : 3, "bgpMeasurements" : true, + "overrideAgentProxy" : false, "predefinedVariables" : [ { "name" : "myUsername", "value" : "ThousandEyesAccountUserName" @@ -734,8 +748,9 @@ class TestAPIApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", + "overrideProxyId" : "281474976710706", "sslVersionId" : "0", "targetTime" : 1 }, { @@ -832,6 +847,7 @@ class TestAPIApi(unittest.TestCase): "usePublicBgp" : true, "enabled" : true, "protocol" : "tcp", + "collectProxyNetworkData" : false, "followRedirects" : true, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", @@ -839,6 +855,7 @@ class TestAPIApi(unittest.TestCase): "testName" : "ThousandEyes Test", "numPathTraces" : 3, "bgpMeasurements" : true, + "overrideAgentProxy" : false, "predefinedVariables" : [ { "name" : "myUsername", "value" : "ThousandEyesAccountUserName" @@ -854,8 +871,9 @@ class TestAPIApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", + "overrideProxyId" : "281474976710706", "sslVersionId" : "0", "targetTime" : 1 } ], @@ -976,6 +994,7 @@ class TestAPIApi(unittest.TestCase): "usePublicBgp" : true, "enabled" : true, "protocol" : "tcp", + "collectProxyNetworkData" : false, "followRedirects" : true, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", @@ -983,6 +1002,7 @@ class TestAPIApi(unittest.TestCase): "testName" : "ThousandEyes Test", "numPathTraces" : 3, "bgpMeasurements" : true, + "overrideAgentProxy" : false, "predefinedVariables" : [ { "name" : "myUsername", "value" : "ThousandEyesAccountUserName" @@ -1006,9 +1026,10 @@ class TestAPIApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ "1234", "12345" ], + "overrideProxyId" : "281474976710706", "sslVersionId" : "0", "targetTime" : 1, "monitors" : [ { @@ -1029,7 +1050,7 @@ class TestAPIApi(unittest.TestCase): }""" request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.tests.models.UpdateApiTest.from_json(request_body_json) + request_from_json = thousandeyes_sdk.tests.models.ApiTestRequest.from_json(request_body_json) assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) response_body_json = """ @@ -1055,28 +1076,30 @@ class TestAPIApi(unittest.TestCase): "credentials" : [ "3247", "1051" ], "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -1155,6 +1178,7 @@ class TestAPIApi(unittest.TestCase): "usePublicBgp" : true, "enabled" : true, "protocol" : "tcp", + "collectProxyNetworkData" : false, "followRedirects" : true, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", @@ -1162,6 +1186,7 @@ class TestAPIApi(unittest.TestCase): "testName" : "ThousandEyes Test", "numPathTraces" : 3, "bgpMeasurements" : true, + "overrideAgentProxy" : false, "predefinedVariables" : [ { "name" : "myUsername", "value" : "ThousandEyesAccountUserName" @@ -1211,7 +1236,7 @@ class TestAPIApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ { "name" : "Account name", @@ -1220,6 +1245,7 @@ class TestAPIApi(unittest.TestCase): "name" : "Account name", "aid" : "1234" } ], + "overrideProxyId" : "281474976710706", "sslVersionId" : "0", "targetTime" : 1, "monitors" : [ { @@ -1240,7 +1266,7 @@ class TestAPIApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.ApiTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.ApiTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) diff --git a/thousandeyes-sdk-tests/test/test_bgp_api.py b/thousandeyes-sdk-tests/test/test_bgp_tests_api.py similarity index 96% rename from thousandeyes-sdk-tests/test/test_bgp_api.py rename to thousandeyes-sdk-tests/test/test_bgp_tests_api.py index 0a1223de..9c2bf802 100644 --- a/thousandeyes-sdk-tests/test/test_bgp_api.py +++ b/thousandeyes-sdk-tests/test/test_bgp_tests_api.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.tests.api.bgp_api import BGPApi +from thousandeyes_sdk.tests.api.bgp_tests_api import BGPTestsApi -class TestBGPApi(unittest.TestCase): - """BGPApi unit test stubs""" +class TestBGPTestsApi(unittest.TestCase): + """BGPTestsApi unit test stubs""" def setUp(self) -> None: - self.api = BGPApi() + self.api = BGPTestsApi() def tearDown(self) -> None: pass @@ -72,7 +71,7 @@ class TestBGPApi(unittest.TestCase): }""" request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.tests.models.UpdateBgpTest.from_json(request_body_json) + request_from_json = thousandeyes_sdk.tests.models.BgpTestRequest.from_json(request_body_json) assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) response_body_json = """ @@ -100,28 +99,30 @@ class TestBGPApi(unittest.TestCase): "includeCoveredPrefixes" : true, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -170,7 +171,7 @@ class TestBGPApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.BgpTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.BgpTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_delete_bgp_test_models_validation(self) -> None: @@ -205,28 +206,30 @@ class TestBGPApi(unittest.TestCase): "includeCoveredPrefixes" : true, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -275,7 +278,7 @@ class TestBGPApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.BgpTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.BgpTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_get_bgp_tests_models_validation(self) -> None: @@ -438,28 +441,30 @@ class TestBGPApi(unittest.TestCase): "includeCoveredPrefixes" : true, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -508,7 +513,7 @@ class TestBGPApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.BgpTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.BgpTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) diff --git a/thousandeyes-sdk-tests/test/test_dns_server_api.py b/thousandeyes-sdk-tests/test/test_dns_server_tests_api.py similarity index 96% rename from thousandeyes-sdk-tests/test/test_dns_server_api.py rename to thousandeyes-sdk-tests/test/test_dns_server_tests_api.py index 4e495ce9..9bc26bee 100644 --- a/thousandeyes-sdk-tests/test/test_dns_server_api.py +++ b/thousandeyes-sdk-tests/test/test_dns_server_tests_api.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.tests.api.dns_server_api import DNSServerApi +from thousandeyes_sdk.tests.api.dns_server_tests_api import DNSServerTestsApi -class TestDNSServerApi(unittest.TestCase): - """DNSServerApi unit test stubs""" +class TestDNSServerTestsApi(unittest.TestCase): + """DNSServerTestsApi unit test stubs""" def setUp(self) -> None: - self.api = DNSServerApi() + self.api = DNSServerTestsApi() def tearDown(self) -> None: pass @@ -86,14 +85,14 @@ class TestDNSServerApi(unittest.TestCase): "createdBy" : "user@user.com", "domain" : "www.thousandeyes.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ "1234", "12345" ], "monitors" : [ "17410", "5" ] }""" request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.tests.models.UpdateDnsServerTest.from_json(request_body_json) + request_from_json = thousandeyes_sdk.tests.models.DnsServerTestRequest.from_json(request_body_json) assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) response_body_json = """ @@ -119,28 +118,30 @@ class TestDNSServerApi(unittest.TestCase): }, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -209,7 +210,7 @@ class TestDNSServerApi(unittest.TestCase): "createdBy" : "user@user.com", "domain" : "www.thousandeyes.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ { "name" : "Account name", @@ -236,7 +237,7 @@ class TestDNSServerApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.DnsServerTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.DnsServerTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_delete_dns_server_test_models_validation(self) -> None: @@ -269,28 +270,30 @@ class TestDNSServerApi(unittest.TestCase): }, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -359,7 +362,7 @@ class TestDNSServerApi(unittest.TestCase): "createdBy" : "user@user.com", "domain" : "www.thousandeyes.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ { "name" : "Account name", @@ -386,7 +389,7 @@ class TestDNSServerApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.DnsServerTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.DnsServerTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_get_dns_server_tests_models_validation(self) -> None: @@ -445,7 +448,7 @@ class TestDNSServerApi(unittest.TestCase): "createdBy" : "user@user.com", "domain" : "www.thousandeyes.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706" }, { "mtuMeasurements" : false, @@ -498,7 +501,7 @@ class TestDNSServerApi(unittest.TestCase): "createdBy" : "user@user.com", "domain" : "www.thousandeyes.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706" } ], "_links" : { @@ -576,14 +579,14 @@ class TestDNSServerApi(unittest.TestCase): "createdBy" : "user@user.com", "domain" : "www.thousandeyes.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ "1234", "12345" ], "monitors" : [ "17410", "5" ] }""" request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.tests.models.UpdateDnsServerTest.from_json(request_body_json) + request_from_json = thousandeyes_sdk.tests.models.DnsServerTestRequest.from_json(request_body_json) assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) response_body_json = """ @@ -609,28 +612,30 @@ class TestDNSServerApi(unittest.TestCase): }, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -699,7 +704,7 @@ class TestDNSServerApi(unittest.TestCase): "createdBy" : "user@user.com", "domain" : "www.thousandeyes.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ { "name" : "Account name", @@ -726,7 +731,7 @@ class TestDNSServerApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.DnsServerTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.DnsServerTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) diff --git a/thousandeyes-sdk-tests/test/test_dns_trace_api.py b/thousandeyes-sdk-tests/test/test_dns_trace_tests_api.py similarity index 95% rename from thousandeyes-sdk-tests/test/test_dns_trace_api.py rename to thousandeyes-sdk-tests/test/test_dns_trace_tests_api.py index 8b6b7d5e..ff99d888 100644 --- a/thousandeyes-sdk-tests/test/test_dns_trace_api.py +++ b/thousandeyes-sdk-tests/test/test_dns_trace_tests_api.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.tests.api.dns_trace_api import DNSTraceApi +from thousandeyes_sdk.tests.api.dns_trace_tests_api import DNSTraceTestsApi -class TestDNSTraceApi(unittest.TestCase): - """DNSTraceApi unit test stubs""" +class TestDNSTraceTestsApi(unittest.TestCase): + """DNSTraceTestsApi unit test stubs""" def setUp(self) -> None: - self.api = DNSTraceApi() + self.api = DNSTraceTestsApi() def tearDown(self) -> None: pass @@ -70,7 +69,7 @@ class TestDNSTraceApi(unittest.TestCase): "createdBy" : "user@user.com", "domain" : "www.thousandeyes.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "sharedWithAccounts" : [ "1234", "12345" ], @@ -79,7 +78,7 @@ class TestDNSTraceApi(unittest.TestCase): }""" request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.tests.models.UpdateDnsTraceTest.from_json(request_body_json) + request_from_json = thousandeyes_sdk.tests.models.DnsTraceTestRequest.from_json(request_body_json) assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) response_body_json = """ @@ -105,28 +104,30 @@ class TestDNSTraceApi(unittest.TestCase): "liveShare" : false, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -173,7 +174,7 @@ class TestDNSTraceApi(unittest.TestCase): "createdBy" : "user@user.com", "domain" : "www.thousandeyes.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "sharedWithAccounts" : [ { @@ -188,7 +189,7 @@ class TestDNSTraceApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.DnsTraceTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.DnsTraceTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_delete_dns_trace_test_models_validation(self) -> None: @@ -221,28 +222,30 @@ class TestDNSTraceApi(unittest.TestCase): "liveShare" : false, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -289,7 +292,7 @@ class TestDNSTraceApi(unittest.TestCase): "createdBy" : "user@user.com", "domain" : "www.thousandeyes.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "sharedWithAccounts" : [ { @@ -304,7 +307,7 @@ class TestDNSTraceApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.DnsTraceTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.DnsTraceTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_get_dns_trace_tests_models_validation(self) -> None: @@ -341,7 +344,7 @@ class TestDNSTraceApi(unittest.TestCase): "createdBy" : "user@user.com", "domain" : "www.thousandeyes.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, @@ -375,7 +378,7 @@ class TestDNSTraceApi(unittest.TestCase): "createdBy" : "user@user.com", "domain" : "www.thousandeyes.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, @@ -440,7 +443,7 @@ class TestDNSTraceApi(unittest.TestCase): "createdBy" : "user@user.com", "domain" : "www.thousandeyes.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "sharedWithAccounts" : [ "1234", "12345" ], @@ -449,7 +452,7 @@ class TestDNSTraceApi(unittest.TestCase): }""" request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.tests.models.UpdateDnsTraceTest.from_json(request_body_json) + request_from_json = thousandeyes_sdk.tests.models.DnsTraceTestRequest.from_json(request_body_json) assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) response_body_json = """ @@ -475,28 +478,30 @@ class TestDNSTraceApi(unittest.TestCase): "liveShare" : false, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -543,7 +548,7 @@ class TestDNSTraceApi(unittest.TestCase): "createdBy" : "user@user.com", "domain" : "www.thousandeyes.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "sharedWithAccounts" : [ { @@ -558,7 +563,7 @@ class TestDNSTraceApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.DnsTraceTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.DnsTraceTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) diff --git a/thousandeyes-sdk-tests/test/test_dnssec_api.py b/thousandeyes-sdk-tests/test/test_dnssec_tests_api.py similarity index 95% rename from thousandeyes-sdk-tests/test/test_dnssec_api.py rename to thousandeyes-sdk-tests/test/test_dnssec_tests_api.py index 1031ad0f..633f76b8 100644 --- a/thousandeyes-sdk-tests/test/test_dnssec_api.py +++ b/thousandeyes-sdk-tests/test/test_dnssec_tests_api.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.tests.api.dnssec_api import DNSSECApi +from thousandeyes_sdk.tests.api.dnssec_tests_api import DNSSECTestsApi -class TestDNSSECApi(unittest.TestCase): - """DNSSECApi unit test stubs""" +class TestDNSSECTestsApi(unittest.TestCase): + """DNSSECTestsApi unit test stubs""" def setUp(self) -> None: - self.api = DNSSECApi() + self.api = DNSSECTestsApi() def tearDown(self) -> None: pass @@ -69,7 +68,7 @@ class TestDNSSECApi(unittest.TestCase): "createdBy" : "user@user.com", "domain" : "www.thousandeyes.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "sharedWithAccounts" : [ "1234", "12345" ], @@ -78,7 +77,7 @@ class TestDNSSECApi(unittest.TestCase): }""" request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.tests.models.UpdateDnsSecTest.from_json(request_body_json) + request_from_json = thousandeyes_sdk.tests.models.DnsSecTestRequest.from_json(request_body_json) assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) response_body_json = """ @@ -104,28 +103,30 @@ class TestDNSSECApi(unittest.TestCase): "liveShare" : false, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -171,7 +172,7 @@ class TestDNSSECApi(unittest.TestCase): "createdBy" : "user@user.com", "domain" : "www.thousandeyes.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "sharedWithAccounts" : [ { @@ -186,7 +187,7 @@ class TestDNSSECApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.DnsSecTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.DnsSecTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_delete_dns_sec_test_models_validation(self) -> None: @@ -219,28 +220,30 @@ class TestDNSSECApi(unittest.TestCase): "liveShare" : false, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -286,7 +289,7 @@ class TestDNSSECApi(unittest.TestCase): "createdBy" : "user@user.com", "domain" : "www.thousandeyes.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "sharedWithAccounts" : [ { @@ -301,7 +304,7 @@ class TestDNSSECApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.DnsSecTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.DnsSecTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_get_dns_sec_tests_models_validation(self) -> None: @@ -337,7 +340,7 @@ class TestDNSSECApi(unittest.TestCase): "createdBy" : "user@user.com", "domain" : "www.thousandeyes.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, @@ -370,7 +373,7 @@ class TestDNSSECApi(unittest.TestCase): "createdBy" : "user@user.com", "domain" : "www.thousandeyes.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, @@ -434,7 +437,7 @@ class TestDNSSECApi(unittest.TestCase): "createdBy" : "user@user.com", "domain" : "www.thousandeyes.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "sharedWithAccounts" : [ "1234", "12345" ], @@ -443,7 +446,7 @@ class TestDNSSECApi(unittest.TestCase): }""" request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.tests.models.UpdateDnsSecTest.from_json(request_body_json) + request_from_json = thousandeyes_sdk.tests.models.DnsSecTestRequest.from_json(request_body_json) assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) response_body_json = """ @@ -469,28 +472,30 @@ class TestDNSSECApi(unittest.TestCase): "liveShare" : false, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -536,7 +541,7 @@ class TestDNSSECApi(unittest.TestCase): "createdBy" : "user@user.com", "domain" : "www.thousandeyes.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "sharedWithAccounts" : [ { @@ -551,7 +556,7 @@ class TestDNSSECApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.DnsSecTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.DnsSecTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) diff --git a/thousandeyes-sdk-tests/test/test_ftp_server_api.py b/thousandeyes-sdk-tests/test/test_ftp_server_tests_api.py similarity index 96% rename from thousandeyes-sdk-tests/test/test_ftp_server_api.py rename to thousandeyes-sdk-tests/test/test_ftp_server_tests_api.py index 19b6411b..22c166d8 100644 --- a/thousandeyes-sdk-tests/test/test_ftp_server_api.py +++ b/thousandeyes-sdk-tests/test/test_ftp_server_tests_api.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.tests.api.ftp_server_api import FTPServerApi +from thousandeyes_sdk.tests.api.ftp_server_tests_api import FTPServerTestsApi -class TestFTPServerApi(unittest.TestCase): - """FTPServerApi unit test stubs""" +class TestFTPServerTestsApi(unittest.TestCase): + """FTPServerTestsApi unit test stubs""" def setUp(self) -> None: - self.api = FTPServerApi() + self.api = FTPServerTestsApi() def tearDown(self) -> None: pass @@ -88,7 +87,7 @@ class TestFTPServerApi(unittest.TestCase): "createdBy" : "user@user.com", "ftpTimeLimit" : 10, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ "1234", "12345" ], "useActiveFtp" : false, @@ -97,7 +96,7 @@ class TestFTPServerApi(unittest.TestCase): }""" request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.tests.models.UpdateFtpServerTest.from_json(request_body_json) + request_from_json = thousandeyes_sdk.tests.models.FtpServerTestRequest.from_json(request_body_json) assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) response_body_json = """ @@ -124,28 +123,30 @@ class TestFTPServerApi(unittest.TestCase): "downloadLimit" : 1048576, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -209,7 +210,7 @@ class TestFTPServerApi(unittest.TestCase): "createdBy" : "user@user.com", "ftpTimeLimit" : 10, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ { "name" : "Account name", @@ -238,7 +239,7 @@ class TestFTPServerApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.FtpServerTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.FtpServerTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_delete_ftp_server_test_models_validation(self) -> None: @@ -272,28 +273,30 @@ class TestFTPServerApi(unittest.TestCase): "downloadLimit" : 1048576, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -357,7 +360,7 @@ class TestFTPServerApi(unittest.TestCase): "createdBy" : "user@user.com", "ftpTimeLimit" : 10, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ { "name" : "Account name", @@ -386,7 +389,7 @@ class TestFTPServerApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.FtpServerTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.FtpServerTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_get_ftp_server_tests_models_validation(self) -> None: @@ -441,7 +444,7 @@ class TestFTPServerApi(unittest.TestCase): "createdBy" : "user@user.com", "ftpTimeLimit" : 10, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "useActiveFtp" : false, "username" : "username" @@ -492,7 +495,7 @@ class TestFTPServerApi(unittest.TestCase): "createdBy" : "user@user.com", "ftpTimeLimit" : 10, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "useActiveFtp" : false, "username" : "username" @@ -574,7 +577,7 @@ class TestFTPServerApi(unittest.TestCase): "createdBy" : "user@user.com", "ftpTimeLimit" : 10, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ "1234", "12345" ], "useActiveFtp" : false, @@ -583,7 +586,7 @@ class TestFTPServerApi(unittest.TestCase): }""" request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.tests.models.UpdateFtpServerTest.from_json(request_body_json) + request_from_json = thousandeyes_sdk.tests.models.FtpServerTestRequest.from_json(request_body_json) assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) response_body_json = """ @@ -610,28 +613,30 @@ class TestFTPServerApi(unittest.TestCase): "downloadLimit" : 1048576, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -695,7 +700,7 @@ class TestFTPServerApi(unittest.TestCase): "createdBy" : "user@user.com", "ftpTimeLimit" : 10, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ { "name" : "Account name", @@ -724,7 +729,7 @@ class TestFTPServerApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.FtpServerTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.FtpServerTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) diff --git a/thousandeyes-sdk-tests/test/test_http_server_api.py b/thousandeyes-sdk-tests/test/test_http_server_tests_api.py similarity index 87% rename from thousandeyes-sdk-tests/test/test_http_server_api.py rename to thousandeyes-sdk-tests/test/test_http_server_tests_api.py index 06c8a28e..251f4e04 100644 --- a/thousandeyes-sdk-tests/test/test_http_server_api.py +++ b/thousandeyes-sdk-tests/test/test_http_server_tests_api.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.tests.api.http_server_api import HTTPServerApi +from thousandeyes_sdk.tests.api.http_server_tests_api import HTTPServerTestsApi -class TestHTTPServerApi(unittest.TestCase): - """HTTPServerApi unit test stubs""" +class TestHTTPServerTestsApi(unittest.TestCase): + """HTTPServerTestsApi unit test stubs""" def setUp(self) -> None: - self.api = HTTPServerApi() + self.api = HTTPServerTestsApi() def tearDown(self) -> None: pass @@ -57,6 +56,16 @@ class TestHTTPServerApi(unittest.TestCase): "probeMode" : "auto", "includeHeaders" : true, "type" : "http-server", + "oAuth" : { + "configId" : "123321123", + "testUrl" : "https://api.thousandeyes.com/v7/status", + "requestMethod" : "get", + "postBody" : "client_id: ************", + "headers" : "Authorization: Basic ************", + "authType" : "none", + "username" : "user123", + "password" : "*******" + }, "password" : "password", "protocol" : "tcp", "followRedirects" : true, @@ -65,9 +74,13 @@ class TestHTTPServerApi(unittest.TestCase): "verifyCertificate" : false, "overrideAgentProxy" : false, "liveShare" : false, + "agentInterfaces" : { + "agentId" : "2954", + "ipAddress" : "192.1.1.0" + }, "labels" : [ "9842", "1283" ], "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "sharedWithAccounts" : [ "1234", "12345" ], "overrideProxyId" : "281474976710706", "monitors" : [ "17410", "5" ], @@ -83,6 +96,7 @@ class TestHTTPServerApi(unittest.TestCase): "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, + "collectProxyNetworkData" : false, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", "authType" : "none", @@ -125,7 +139,7 @@ class TestHTTPServerApi(unittest.TestCase): }""" request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.tests.models.UpdateHttpServerTest.from_json(request_body_json) + request_from_json = thousandeyes_sdk.tests.models.HttpServerTestRequest.from_json(request_body_json) assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) response_body_json = """ @@ -154,6 +168,16 @@ class TestHTTPServerApi(unittest.TestCase): "probeMode" : "auto", "includeHeaders" : true, "type" : "http-server", + "oAuth" : { + "configId" : "123321123", + "testUrl" : "https://api.thousandeyes.com/v7/status", + "requestMethod" : "get", + "postBody" : "client_id: ************", + "headers" : "Authorization: Basic ************", + "authType" : "none", + "username" : "user123", + "password" : "*******" + }, "password" : "password", "protocol" : "tcp", "followRedirects" : true, @@ -162,6 +186,10 @@ class TestHTTPServerApi(unittest.TestCase): "verifyCertificate" : false, "overrideAgentProxy" : false, "liveShare" : false, + "agentInterfaces" : { + "agentId" : "2954", + "ipAddress" : "192.1.1.0" + }, "labels" : [ { "labelId" : "961", "name" : "Artem label", @@ -172,7 +200,7 @@ class TestHTTPServerApi(unittest.TestCase): "isBuiltin" : false } ], "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "sharedWithAccounts" : [ { "name" : "Account name", "aid" : "1234" @@ -202,28 +230,30 @@ class TestHTTPServerApi(unittest.TestCase): "downloadLimit" : 2048, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -234,6 +264,7 @@ class TestHTTPServerApi(unittest.TestCase): "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, + "collectProxyNetworkData" : false, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", "authType" : "none", @@ -294,7 +325,7 @@ class TestHTTPServerApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.HttpServerTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.HttpServerTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_delete_http_server_test_models_validation(self) -> None: @@ -330,6 +361,16 @@ class TestHTTPServerApi(unittest.TestCase): "probeMode" : "auto", "includeHeaders" : true, "type" : "http-server", + "oAuth" : { + "configId" : "123321123", + "testUrl" : "https://api.thousandeyes.com/v7/status", + "requestMethod" : "get", + "postBody" : "client_id: ************", + "headers" : "Authorization: Basic ************", + "authType" : "none", + "username" : "user123", + "password" : "*******" + }, "password" : "password", "protocol" : "tcp", "followRedirects" : true, @@ -338,6 +379,10 @@ class TestHTTPServerApi(unittest.TestCase): "verifyCertificate" : false, "overrideAgentProxy" : false, "liveShare" : false, + "agentInterfaces" : { + "agentId" : "2954", + "ipAddress" : "192.1.1.0" + }, "labels" : [ { "labelId" : "961", "name" : "Artem label", @@ -348,7 +393,7 @@ class TestHTTPServerApi(unittest.TestCase): "isBuiltin" : false } ], "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "sharedWithAccounts" : [ { "name" : "Account name", "aid" : "1234" @@ -378,28 +423,30 @@ class TestHTTPServerApi(unittest.TestCase): "downloadLimit" : 2048, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -410,6 +457,7 @@ class TestHTTPServerApi(unittest.TestCase): "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, + "collectProxyNetworkData" : false, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", "authType" : "none", @@ -470,7 +518,7 @@ class TestHTTPServerApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.HttpServerTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.HttpServerTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_get_http_server_tests_models_validation(self) -> None: @@ -503,6 +551,16 @@ class TestHTTPServerApi(unittest.TestCase): "probeMode" : "auto", "includeHeaders" : true, "type" : "http-server", + "oAuth" : { + "configId" : "123321123", + "testUrl" : "https://api.thousandeyes.com/v7/status", + "requestMethod" : "get", + "postBody" : "client_id: ************", + "headers" : "Authorization: Basic ************", + "authType" : "none", + "username" : "user123", + "password" : "*******" + }, "password" : "password", "protocol" : "tcp", "followRedirects" : true, @@ -511,8 +569,12 @@ class TestHTTPServerApi(unittest.TestCase): "verifyCertificate" : false, "overrideAgentProxy" : false, "liveShare" : false, + "agentInterfaces" : { + "agentId" : "2954", + "ipAddress" : "192.1.1.0" + }, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "overrideProxyId" : "281474976710706", "sslVersion" : "Auto", "useNtlm" : false, @@ -525,6 +587,7 @@ class TestHTTPServerApi(unittest.TestCase): "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, + "collectProxyNetworkData" : false, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", "authType" : "none", @@ -582,6 +645,16 @@ class TestHTTPServerApi(unittest.TestCase): "probeMode" : "auto", "includeHeaders" : true, "type" : "http-server", + "oAuth" : { + "configId" : "123321123", + "testUrl" : "https://api.thousandeyes.com/v7/status", + "requestMethod" : "get", + "postBody" : "client_id: ************", + "headers" : "Authorization: Basic ************", + "authType" : "none", + "username" : "user123", + "password" : "*******" + }, "password" : "password", "protocol" : "tcp", "followRedirects" : true, @@ -590,8 +663,12 @@ class TestHTTPServerApi(unittest.TestCase): "verifyCertificate" : false, "overrideAgentProxy" : false, "liveShare" : false, + "agentInterfaces" : { + "agentId" : "2954", + "ipAddress" : "192.1.1.0" + }, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "overrideProxyId" : "281474976710706", "sslVersion" : "Auto", "useNtlm" : false, @@ -604,6 +681,7 @@ class TestHTTPServerApi(unittest.TestCase): "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, + "collectProxyNetworkData" : false, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", "authType" : "none", @@ -683,6 +761,16 @@ class TestHTTPServerApi(unittest.TestCase): "probeMode" : "auto", "includeHeaders" : true, "type" : "http-server", + "oAuth" : { + "configId" : "123321123", + "testUrl" : "https://api.thousandeyes.com/v7/status", + "requestMethod" : "get", + "postBody" : "client_id: ************", + "headers" : "Authorization: Basic ************", + "authType" : "none", + "username" : "user123", + "password" : "*******" + }, "password" : "password", "protocol" : "tcp", "followRedirects" : true, @@ -691,9 +779,13 @@ class TestHTTPServerApi(unittest.TestCase): "verifyCertificate" : false, "overrideAgentProxy" : false, "liveShare" : false, + "agentInterfaces" : { + "agentId" : "2954", + "ipAddress" : "192.1.1.0" + }, "labels" : [ "9842", "1283" ], "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "sharedWithAccounts" : [ "1234", "12345" ], "overrideProxyId" : "281474976710706", "monitors" : [ "17410", "5" ], @@ -709,6 +801,7 @@ class TestHTTPServerApi(unittest.TestCase): "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, + "collectProxyNetworkData" : false, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", "authType" : "none", @@ -751,7 +844,7 @@ class TestHTTPServerApi(unittest.TestCase): }""" request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.tests.models.UpdateHttpServerTest.from_json(request_body_json) + request_from_json = thousandeyes_sdk.tests.models.HttpServerTestRequest.from_json(request_body_json) assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) response_body_json = """ @@ -780,6 +873,16 @@ class TestHTTPServerApi(unittest.TestCase): "probeMode" : "auto", "includeHeaders" : true, "type" : "http-server", + "oAuth" : { + "configId" : "123321123", + "testUrl" : "https://api.thousandeyes.com/v7/status", + "requestMethod" : "get", + "postBody" : "client_id: ************", + "headers" : "Authorization: Basic ************", + "authType" : "none", + "username" : "user123", + "password" : "*******" + }, "password" : "password", "protocol" : "tcp", "followRedirects" : true, @@ -788,6 +891,10 @@ class TestHTTPServerApi(unittest.TestCase): "verifyCertificate" : false, "overrideAgentProxy" : false, "liveShare" : false, + "agentInterfaces" : { + "agentId" : "2954", + "ipAddress" : "192.1.1.0" + }, "labels" : [ { "labelId" : "961", "name" : "Artem label", @@ -798,7 +905,7 @@ class TestHTTPServerApi(unittest.TestCase): "isBuiltin" : false } ], "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "sharedWithAccounts" : [ { "name" : "Account name", "aid" : "1234" @@ -828,28 +935,30 @@ class TestHTTPServerApi(unittest.TestCase): "downloadLimit" : 2048, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -860,6 +969,7 @@ class TestHTTPServerApi(unittest.TestCase): "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, + "collectProxyNetworkData" : false, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", "authType" : "none", @@ -920,7 +1030,7 @@ class TestHTTPServerApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.HttpServerTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.HttpServerTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) diff --git a/thousandeyes-sdk-tests/test/test_page_load_api.py b/thousandeyes-sdk-tests/test/test_page_load_tests_api.py similarity index 87% rename from thousandeyes-sdk-tests/test/test_page_load_api.py rename to thousandeyes-sdk-tests/test/test_page_load_tests_api.py index f60a557a..b18dec74 100644 --- a/thousandeyes-sdk-tests/test/test_page_load_api.py +++ b/thousandeyes-sdk-tests/test/test_page_load_tests_api.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.tests.api.page_load_api import PageLoadApi +from thousandeyes_sdk.tests.api.page_load_tests_api import PageLoadTestsApi -class TestPageLoadApi(unittest.TestCase): - """PageLoadApi unit test stubs""" +class TestPageLoadTestsApi(unittest.TestCase): + """PageLoadTestsApi unit test stubs""" def setUp(self) -> None: - self.api = PageLoadApi() + self.api = PageLoadTestsApi() def tearDown(self) -> None: pass @@ -52,10 +51,21 @@ class TestPageLoadApi(unittest.TestCase): "title" : "title" } }, + "dnsOverride" : "8.8.8.8", "bandwidthMeasurements" : true, "probeMode" : "auto", "includeHeaders" : true, "type" : "page-load", + "oAuth" : { + "configId" : "123321123", + "testUrl" : "https://api.thousandeyes.com/v7/status", + "requestMethod" : "get", + "postBody" : "client_id: ************", + "headers" : "Authorization: Basic ************", + "authType" : "none", + "username" : "user123", + "password" : "*******" + }, "password" : "password", "protocol" : "tcp", "followRedirects" : true, @@ -67,16 +77,21 @@ class TestPageLoadApi(unittest.TestCase): "verifyCertificate" : false, "overrideAgentProxy" : false, "liveShare" : false, + "agentInterfaces" : { + "agentId" : "2954", + "ipAddress" : "192.1.1.0" + }, "labels" : [ "9842", "1283" ], "httpInterval" : 120, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "emulatedDeviceId" : "2", "sharedWithAccounts" : [ "1234", "12345" ], "overrideProxyId" : "281474976710706", "monitors" : [ "17410", "5" ], "sslVersion" : "Auto", "useNtlm" : false, + "downloadLimit" : 2048, "alertRules" : [ "344753", "212697" ], "description" : "ThousandEyes Test", "httpTimeLimit" : 5, @@ -87,6 +102,7 @@ class TestPageLoadApi(unittest.TestCase): "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, + "collectProxyNetworkData" : false, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", "authType" : "none", @@ -108,8 +124,8 @@ class TestPageLoadApi(unittest.TestCase): "numPathTraces" : 3, "bgpMeasurements" : true, "savedEvent" : true, - "pageLoadTimeLimit" : 10, "userAgent" : "curl", + "pageLoadTimeLimit" : 10, "networkMeasurements" : true, "url" : "www.thousandeyes.com", "agents" : [ { @@ -131,7 +147,7 @@ class TestPageLoadApi(unittest.TestCase): }""" request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.tests.models.UpdatePageLoadTest.from_json(request_body_json) + request_from_json = thousandeyes_sdk.tests.models.PageLoadTestRequest.from_json(request_body_json) assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) response_body_json = """ @@ -155,10 +171,21 @@ class TestPageLoadApi(unittest.TestCase): "title" : "title" } }, + "dnsOverride" : "8.8.8.8", "bandwidthMeasurements" : true, "probeMode" : "auto", "includeHeaders" : true, "type" : "page-load", + "oAuth" : { + "configId" : "123321123", + "testUrl" : "https://api.thousandeyes.com/v7/status", + "requestMethod" : "get", + "postBody" : "client_id: ************", + "headers" : "Authorization: Basic ************", + "authType" : "none", + "username" : "user123", + "password" : "*******" + }, "password" : "password", "protocol" : "tcp", "followRedirects" : true, @@ -170,6 +197,10 @@ class TestPageLoadApi(unittest.TestCase): "verifyCertificate" : false, "overrideAgentProxy" : false, "liveShare" : false, + "agentInterfaces" : { + "agentId" : "2954", + "ipAddress" : "192.1.1.0" + }, "labels" : [ { "labelId" : "961", "name" : "Artem label", @@ -181,7 +212,7 @@ class TestPageLoadApi(unittest.TestCase): } ], "httpInterval" : 120, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "emulatedDeviceId" : "2", "sharedWithAccounts" : [ { "name" : "Account name", @@ -208,30 +239,33 @@ class TestPageLoadApi(unittest.TestCase): } ], "sslVersion" : "Auto", "useNtlm" : false, + "downloadLimit" : 2048, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -244,6 +278,7 @@ class TestPageLoadApi(unittest.TestCase): "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, + "collectProxyNetworkData" : false, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", "authType" : "none", @@ -265,8 +300,8 @@ class TestPageLoadApi(unittest.TestCase): "numPathTraces" : 3, "bgpMeasurements" : true, "savedEvent" : true, - "pageLoadTimeLimit" : 10, "userAgent" : "curl", + "pageLoadTimeLimit" : 10, "networkMeasurements" : true, "url" : "www.thousandeyes.com", "agents" : [ { @@ -306,7 +341,7 @@ class TestPageLoadApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.PageLoadTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.PageLoadTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_delete_page_load_test_models_validation(self) -> None: @@ -337,10 +372,21 @@ class TestPageLoadApi(unittest.TestCase): "title" : "title" } }, + "dnsOverride" : "8.8.8.8", "bandwidthMeasurements" : true, "probeMode" : "auto", "includeHeaders" : true, "type" : "page-load", + "oAuth" : { + "configId" : "123321123", + "testUrl" : "https://api.thousandeyes.com/v7/status", + "requestMethod" : "get", + "postBody" : "client_id: ************", + "headers" : "Authorization: Basic ************", + "authType" : "none", + "username" : "user123", + "password" : "*******" + }, "password" : "password", "protocol" : "tcp", "followRedirects" : true, @@ -352,6 +398,10 @@ class TestPageLoadApi(unittest.TestCase): "verifyCertificate" : false, "overrideAgentProxy" : false, "liveShare" : false, + "agentInterfaces" : { + "agentId" : "2954", + "ipAddress" : "192.1.1.0" + }, "labels" : [ { "labelId" : "961", "name" : "Artem label", @@ -363,7 +413,7 @@ class TestPageLoadApi(unittest.TestCase): } ], "httpInterval" : 120, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "emulatedDeviceId" : "2", "sharedWithAccounts" : [ { "name" : "Account name", @@ -390,30 +440,33 @@ class TestPageLoadApi(unittest.TestCase): } ], "sslVersion" : "Auto", "useNtlm" : false, + "downloadLimit" : 2048, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -426,6 +479,7 @@ class TestPageLoadApi(unittest.TestCase): "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, + "collectProxyNetworkData" : false, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", "authType" : "none", @@ -447,8 +501,8 @@ class TestPageLoadApi(unittest.TestCase): "numPathTraces" : 3, "bgpMeasurements" : true, "savedEvent" : true, - "pageLoadTimeLimit" : 10, "userAgent" : "curl", + "pageLoadTimeLimit" : 10, "networkMeasurements" : true, "url" : "www.thousandeyes.com", "agents" : [ { @@ -488,7 +542,7 @@ class TestPageLoadApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.PageLoadTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.PageLoadTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_get_page_load_tests_models_validation(self) -> None: @@ -516,10 +570,21 @@ class TestPageLoadApi(unittest.TestCase): "title" : "title" } }, + "dnsOverride" : "8.8.8.8", "bandwidthMeasurements" : true, "probeMode" : "auto", "includeHeaders" : true, "type" : "page-load", + "oAuth" : { + "configId" : "123321123", + "testUrl" : "https://api.thousandeyes.com/v7/status", + "requestMethod" : "get", + "postBody" : "client_id: ************", + "headers" : "Authorization: Basic ************", + "authType" : "none", + "username" : "user123", + "password" : "*******" + }, "password" : "password", "protocol" : "tcp", "followRedirects" : true, @@ -531,13 +596,18 @@ class TestPageLoadApi(unittest.TestCase): "verifyCertificate" : false, "overrideAgentProxy" : false, "liveShare" : false, + "agentInterfaces" : { + "agentId" : "2954", + "ipAddress" : "192.1.1.0" + }, "httpInterval" : 120, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "emulatedDeviceId" : "2", "overrideProxyId" : "281474976710706", "sslVersion" : "Auto", "useNtlm" : false, + "downloadLimit" : 2048, "description" : "ThousandEyes Test", "httpTimeLimit" : 5, "blockDomains" : "domain.com/", @@ -547,6 +617,7 @@ class TestPageLoadApi(unittest.TestCase): "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, + "collectProxyNetworkData" : false, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", "authType" : "none", @@ -568,8 +639,8 @@ class TestPageLoadApi(unittest.TestCase): "numPathTraces" : 3, "bgpMeasurements" : true, "savedEvent" : true, - "pageLoadTimeLimit" : 10, "userAgent" : "curl", + "pageLoadTimeLimit" : 10, "networkMeasurements" : true, "url" : "www.thousandeyes.com", "createdDate" : "2022-07-17T22:00:54Z", @@ -601,10 +672,21 @@ class TestPageLoadApi(unittest.TestCase): "title" : "title" } }, + "dnsOverride" : "8.8.8.8", "bandwidthMeasurements" : true, "probeMode" : "auto", "includeHeaders" : true, "type" : "page-load", + "oAuth" : { + "configId" : "123321123", + "testUrl" : "https://api.thousandeyes.com/v7/status", + "requestMethod" : "get", + "postBody" : "client_id: ************", + "headers" : "Authorization: Basic ************", + "authType" : "none", + "username" : "user123", + "password" : "*******" + }, "password" : "password", "protocol" : "tcp", "followRedirects" : true, @@ -616,13 +698,18 @@ class TestPageLoadApi(unittest.TestCase): "verifyCertificate" : false, "overrideAgentProxy" : false, "liveShare" : false, + "agentInterfaces" : { + "agentId" : "2954", + "ipAddress" : "192.1.1.0" + }, "httpInterval" : 120, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "emulatedDeviceId" : "2", "overrideProxyId" : "281474976710706", "sslVersion" : "Auto", "useNtlm" : false, + "downloadLimit" : 2048, "description" : "ThousandEyes Test", "httpTimeLimit" : 5, "blockDomains" : "domain.com/", @@ -632,6 +719,7 @@ class TestPageLoadApi(unittest.TestCase): "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, + "collectProxyNetworkData" : false, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", "authType" : "none", @@ -653,8 +741,8 @@ class TestPageLoadApi(unittest.TestCase): "numPathTraces" : 3, "bgpMeasurements" : true, "savedEvent" : true, - "pageLoadTimeLimit" : 10, "userAgent" : "curl", + "pageLoadTimeLimit" : 10, "networkMeasurements" : true, "url" : "www.thousandeyes.com", "createdDate" : "2022-07-17T22:00:54Z", @@ -708,10 +796,21 @@ class TestPageLoadApi(unittest.TestCase): "title" : "title" } }, + "dnsOverride" : "8.8.8.8", "bandwidthMeasurements" : true, "probeMode" : "auto", "includeHeaders" : true, "type" : "page-load", + "oAuth" : { + "configId" : "123321123", + "testUrl" : "https://api.thousandeyes.com/v7/status", + "requestMethod" : "get", + "postBody" : "client_id: ************", + "headers" : "Authorization: Basic ************", + "authType" : "none", + "username" : "user123", + "password" : "*******" + }, "password" : "password", "protocol" : "tcp", "followRedirects" : true, @@ -723,16 +822,21 @@ class TestPageLoadApi(unittest.TestCase): "verifyCertificate" : false, "overrideAgentProxy" : false, "liveShare" : false, + "agentInterfaces" : { + "agentId" : "2954", + "ipAddress" : "192.1.1.0" + }, "labels" : [ "9842", "1283" ], "httpInterval" : 120, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "emulatedDeviceId" : "2", "sharedWithAccounts" : [ "1234", "12345" ], "overrideProxyId" : "281474976710706", "monitors" : [ "17410", "5" ], "sslVersion" : "Auto", "useNtlm" : false, + "downloadLimit" : 2048, "alertRules" : [ "344753", "212697" ], "description" : "ThousandEyes Test", "httpTimeLimit" : 5, @@ -743,6 +847,7 @@ class TestPageLoadApi(unittest.TestCase): "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, + "collectProxyNetworkData" : false, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", "authType" : "none", @@ -764,8 +869,8 @@ class TestPageLoadApi(unittest.TestCase): "numPathTraces" : 3, "bgpMeasurements" : true, "savedEvent" : true, - "pageLoadTimeLimit" : 10, "userAgent" : "curl", + "pageLoadTimeLimit" : 10, "networkMeasurements" : true, "url" : "www.thousandeyes.com", "agents" : [ { @@ -787,7 +892,7 @@ class TestPageLoadApi(unittest.TestCase): }""" request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.tests.models.UpdatePageLoadTest.from_json(request_body_json) + request_from_json = thousandeyes_sdk.tests.models.PageLoadTestRequest.from_json(request_body_json) assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) response_body_json = """ @@ -811,10 +916,21 @@ class TestPageLoadApi(unittest.TestCase): "title" : "title" } }, + "dnsOverride" : "8.8.8.8", "bandwidthMeasurements" : true, "probeMode" : "auto", "includeHeaders" : true, "type" : "page-load", + "oAuth" : { + "configId" : "123321123", + "testUrl" : "https://api.thousandeyes.com/v7/status", + "requestMethod" : "get", + "postBody" : "client_id: ************", + "headers" : "Authorization: Basic ************", + "authType" : "none", + "username" : "user123", + "password" : "*******" + }, "password" : "password", "protocol" : "tcp", "followRedirects" : true, @@ -826,6 +942,10 @@ class TestPageLoadApi(unittest.TestCase): "verifyCertificate" : false, "overrideAgentProxy" : false, "liveShare" : false, + "agentInterfaces" : { + "agentId" : "2954", + "ipAddress" : "192.1.1.0" + }, "labels" : [ { "labelId" : "961", "name" : "Artem label", @@ -837,7 +957,7 @@ class TestPageLoadApi(unittest.TestCase): } ], "httpInterval" : 120, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "emulatedDeviceId" : "2", "sharedWithAccounts" : [ { "name" : "Account name", @@ -864,30 +984,33 @@ class TestPageLoadApi(unittest.TestCase): } ], "sslVersion" : "Auto", "useNtlm" : false, + "downloadLimit" : 2048, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -900,6 +1023,7 @@ class TestPageLoadApi(unittest.TestCase): "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, + "collectProxyNetworkData" : false, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", "authType" : "none", @@ -921,8 +1045,8 @@ class TestPageLoadApi(unittest.TestCase): "numPathTraces" : 3, "bgpMeasurements" : true, "savedEvent" : true, - "pageLoadTimeLimit" : 10, "userAgent" : "curl", + "pageLoadTimeLimit" : 10, "networkMeasurements" : true, "url" : "www.thousandeyes.com", "agents" : [ { @@ -962,7 +1086,7 @@ class TestPageLoadApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.PageLoadTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.PageLoadTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) diff --git a/thousandeyes-sdk-tests/test/test_path_visualization_interface_groups_api.py b/thousandeyes-sdk-tests/test/test_path_visualization_interface_groups_api.py index a2cade3e..ab7704b5 100644 --- a/thousandeyes-sdk-tests/test/test_path_visualization_interface_groups_api.py +++ b/thousandeyes-sdk-tests/test/test_path_visualization_interface_groups_api.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-tests/test/test_sip_server_api.py b/thousandeyes-sdk-tests/test/test_sip_server_tests_api.py similarity index 96% rename from thousandeyes-sdk-tests/test/test_sip_server_api.py rename to thousandeyes-sdk-tests/test/test_sip_server_tests_api.py index d2c02f6b..d76606a6 100644 --- a/thousandeyes-sdk-tests/test/test_sip_server_api.py +++ b/thousandeyes-sdk-tests/test/test_sip_server_tests_api.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.tests.api.sip_server_api import SIPServerApi +from thousandeyes_sdk.tests.api.sip_server_tests_api import SIPServerTestsApi -class TestSIPServerApi(unittest.TestCase): - """SIPServerApi unit test stubs""" +class TestSIPServerTestsApi(unittest.TestCase): + """SIPServerTestsApi unit test stubs""" def setUp(self) -> None: - self.api = SIPServerApi() + self.api = SIPServerTestsApi() def tearDown(self) -> None: pass @@ -91,7 +90,7 @@ class TestSIPServerApi(unittest.TestCase): "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", "sipTimeLimit" : 5, - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ "1234", "12345" ], "monitors" : [ { @@ -112,7 +111,7 @@ class TestSIPServerApi(unittest.TestCase): }""" request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.tests.models.UpdateSipServerTest.from_json(request_body_json) + request_from_json = thousandeyes_sdk.tests.models.SipServerTestRequest.from_json(request_body_json) assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) response_body_json = """ @@ -139,28 +138,30 @@ class TestSIPServerApi(unittest.TestCase): "registerEnabled" : false, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -178,8 +179,8 @@ class TestSIPServerApi(unittest.TestCase): "alertsEnabled" : true, "testName" : "ThousandEyes Test", "sipTargetTime" : 1000, - "numPathTraces" : 3, "bgpMeasurements" : true, + "numPathTraces" : 3, "optionsRegex" : "[\\"a-z\\"]", "liveShare" : false, "savedEvent" : true, @@ -224,7 +225,7 @@ class TestSIPServerApi(unittest.TestCase): "port" : 49153, "modifiedDate" : "2022-07-17T22:00:54Z", "sipTimeLimit" : 5, - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ { "name" : "Account name", @@ -252,7 +253,7 @@ class TestSIPServerApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.SipServerTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.SipServerTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_delete_sip_server_test_models_validation(self) -> None: @@ -286,28 +287,30 @@ class TestSIPServerApi(unittest.TestCase): "registerEnabled" : false, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -325,8 +328,8 @@ class TestSIPServerApi(unittest.TestCase): "alertsEnabled" : true, "testName" : "ThousandEyes Test", "sipTargetTime" : 1000, - "numPathTraces" : 3, "bgpMeasurements" : true, + "numPathTraces" : 3, "optionsRegex" : "[\\"a-z\\"]", "liveShare" : false, "savedEvent" : true, @@ -371,7 +374,7 @@ class TestSIPServerApi(unittest.TestCase): "port" : 49153, "modifiedDate" : "2022-07-17T22:00:54Z", "sipTimeLimit" : 5, - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ { "name" : "Account name", @@ -399,7 +402,7 @@ class TestSIPServerApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.SipServerTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.SipServerTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_get_sip_server_tests_models_validation(self) -> None: @@ -454,7 +457,7 @@ class TestSIPServerApi(unittest.TestCase): "port" : 49153, "modifiedDate" : "2022-07-17T22:00:54Z", "sipTimeLimit" : 5, - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "user" : "username" }, { @@ -504,7 +507,7 @@ class TestSIPServerApi(unittest.TestCase): "port" : 49153, "modifiedDate" : "2022-07-17T22:00:54Z", "sipTimeLimit" : 5, - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "user" : "username" } ], @@ -588,7 +591,7 @@ class TestSIPServerApi(unittest.TestCase): "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", "sipTimeLimit" : 5, - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ "1234", "12345" ], "monitors" : [ { @@ -609,7 +612,7 @@ class TestSIPServerApi(unittest.TestCase): }""" request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.tests.models.UpdateSipServerTest.from_json(request_body_json) + request_from_json = thousandeyes_sdk.tests.models.SipServerTestRequest.from_json(request_body_json) assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) response_body_json = """ @@ -636,28 +639,30 @@ class TestSIPServerApi(unittest.TestCase): "registerEnabled" : false, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -675,8 +680,8 @@ class TestSIPServerApi(unittest.TestCase): "alertsEnabled" : true, "testName" : "ThousandEyes Test", "sipTargetTime" : 1000, - "numPathTraces" : 3, "bgpMeasurements" : true, + "numPathTraces" : 3, "optionsRegex" : "[\\"a-z\\"]", "liveShare" : false, "savedEvent" : true, @@ -721,7 +726,7 @@ class TestSIPServerApi(unittest.TestCase): "port" : 49153, "modifiedDate" : "2022-07-17T22:00:54Z", "sipTimeLimit" : 5, - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ { "name" : "Account name", @@ -749,7 +754,7 @@ class TestSIPServerApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.SipServerTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.SipServerTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) diff --git a/thousandeyes-sdk-tests/test/test_all_test_types_api.py b/thousandeyes-sdk-tests/test/test_tests_api.py similarity index 93% rename from thousandeyes-sdk-tests/test/test_all_test_types_api.py rename to thousandeyes-sdk-tests/test/test_tests_api.py index 2da20fae..f3288c66 100644 --- a/thousandeyes-sdk-tests/test/test_all_test_types_api.py +++ b/thousandeyes-sdk-tests/test/test_tests_api.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.tests.api.all_test_types_api import AllTestTypesApi +from thousandeyes_sdk.tests.api.tests_api import TestsApi -class TestAllTestTypesApi(unittest.TestCase): - """AllTestTypesApi unit test stubs""" +class TestTestsApi(unittest.TestCase): + """TestsApi unit test stubs""" def setUp(self) -> None: - self.api = AllTestTypesApi() + self.api = TestsApi() def tearDown(self) -> None: pass @@ -60,7 +59,7 @@ class TestAllTestTypesApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, @@ -91,7 +90,7 @@ class TestAllTestTypesApi(unittest.TestCase): "createdDate" : "2022-07-17T22:00:54Z", "createdBy" : "user@user.com", "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "modifiedBy" : "user@user.com", "testId" : "281474976710706", "alertsEnabled" : true, diff --git a/thousandeyes-sdk-tests/test/test_voice_api.py b/thousandeyes-sdk-tests/test/test_voice_tests_api.py similarity index 96% rename from thousandeyes-sdk-tests/test/test_voice_api.py rename to thousandeyes-sdk-tests/test/test_voice_tests_api.py index 3dc5a9d3..c35e1b3e 100644 --- a/thousandeyes-sdk-tests/test/test_voice_api.py +++ b/thousandeyes-sdk-tests/test/test_voice_tests_api.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.tests.api.voice_api import VoiceApi +from thousandeyes_sdk.tests.api.voice_tests_api import VoiceTestsApi -class TestVoiceApi(unittest.TestCase): - """VoiceApi unit test stubs""" +class TestVoiceTestsApi(unittest.TestCase): + """VoiceTestsApi unit test stubs""" def setUp(self) -> None: - self.api = VoiceApi() + self.api = VoiceTestsApi() def tearDown(self) -> None: pass @@ -81,7 +80,7 @@ class TestVoiceApi(unittest.TestCase): "port" : 1024, "modifiedDate" : "2022-07-17T22:00:54Z", "targetAgentId" : "281474976710706", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ "1234", "12345" ], "monitors" : [ { @@ -102,7 +101,7 @@ class TestVoiceApi(unittest.TestCase): }""" request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.tests.models.UpdateVoiceTest.from_json(request_body_json) + request_from_json = thousandeyes_sdk.tests.models.VoiceTestRequest.from_json(request_body_json) assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) response_body_json = """ @@ -126,28 +125,30 @@ class TestVoiceApi(unittest.TestCase): }, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -207,7 +208,7 @@ class TestVoiceApi(unittest.TestCase): "port" : 1024, "modifiedDate" : "2022-07-17T22:00:54Z", "targetAgentId" : "281474976710706", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ { "name" : "Account name", @@ -234,7 +235,7 @@ class TestVoiceApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.VoiceTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.VoiceTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_delete_voice_test_models_validation(self) -> None: @@ -265,28 +266,30 @@ class TestVoiceApi(unittest.TestCase): }, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -346,7 +349,7 @@ class TestVoiceApi(unittest.TestCase): "port" : 1024, "modifiedDate" : "2022-07-17T22:00:54Z", "targetAgentId" : "281474976710706", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ { "name" : "Account name", @@ -373,7 +376,7 @@ class TestVoiceApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.VoiceTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.VoiceTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_get_voice_tests_models_validation(self) -> None: @@ -421,7 +424,7 @@ class TestVoiceApi(unittest.TestCase): "port" : 1024, "modifiedDate" : "2022-07-17T22:00:54Z", "targetAgentId" : "281474976710706", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706" }, { "_links" : { @@ -463,7 +466,7 @@ class TestVoiceApi(unittest.TestCase): "port" : 1024, "modifiedDate" : "2022-07-17T22:00:54Z", "targetAgentId" : "281474976710706", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706" } ], "_links" : { @@ -536,7 +539,7 @@ class TestVoiceApi(unittest.TestCase): "port" : 1024, "modifiedDate" : "2022-07-17T22:00:54Z", "targetAgentId" : "281474976710706", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ "1234", "12345" ], "monitors" : [ { @@ -557,7 +560,7 @@ class TestVoiceApi(unittest.TestCase): }""" request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.tests.models.UpdateVoiceTest.from_json(request_body_json) + request_from_json = thousandeyes_sdk.tests.models.VoiceTestRequest.from_json(request_body_json) assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) response_body_json = """ @@ -581,28 +584,30 @@ class TestVoiceApi(unittest.TestCase): }, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -662,7 +667,7 @@ class TestVoiceApi(unittest.TestCase): "port" : 1024, "modifiedDate" : "2022-07-17T22:00:54Z", "targetAgentId" : "281474976710706", - "interval" : 120, + "interval" : 60, "testId" : "281474976710706", "sharedWithAccounts" : [ { "name" : "Account name", @@ -689,7 +694,7 @@ class TestVoiceApi(unittest.TestCase): }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.VoiceTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.VoiceTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) diff --git a/thousandeyes-sdk-tests/test/test_web_transaction_api.py b/thousandeyes-sdk-tests/test/test_web_transaction_tests_api.py similarity index 85% rename from thousandeyes-sdk-tests/test/test_web_transaction_api.py rename to thousandeyes-sdk-tests/test/test_web_transaction_tests_api.py index 8c56c33a..2e66c72b 100644 --- a/thousandeyes-sdk-tests/test/test_web_transaction_api.py +++ b/thousandeyes-sdk-tests/test/test_web_transaction_tests_api.py @@ -5,7 +5,6 @@ This API supports listing, creating, editing, and deleting Cloud and Enterprise Agent (CEA) based tests. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -17,14 +16,14 @@ import unittest import thousandeyes_sdk.tests.models from .test_utils import assert_constructed_model_matches_example_json -from thousandeyes_sdk.tests.api.web_transaction_api import WebTransactionApi +from thousandeyes_sdk.tests.api.web_transaction_tests_api import WebTransactionTestsApi -class TestWebTransactionApi(unittest.TestCase): - """WebTransactionApi unit test stubs""" +class TestWebTransactionTestsApi(unittest.TestCase): + """WebTransactionTestsApi unit test stubs""" def setUp(self) -> None: - self.api = WebTransactionApi() + self.api = WebTransactionTestsApi() def tearDown(self) -> None: pass @@ -52,10 +51,21 @@ class TestWebTransactionApi(unittest.TestCase): "title" : "title" } }, + "dnsOverride" : "8.8.8.8", "bandwidthMeasurements" : true, "probeMode" : "auto", "includeHeaders" : true, "type" : "web-transactions", + "oAuth" : { + "configId" : "123321123", + "testUrl" : "https://api.thousandeyes.com/v7/status", + "requestMethod" : "get", + "postBody" : "client_id: ************", + "headers" : "Authorization: Basic ************", + "authType" : "none", + "username" : "user123", + "password" : "*******" + }, "password" : "password", "protocol" : "tcp", "followRedirects" : true, @@ -67,9 +77,13 @@ class TestWebTransactionApi(unittest.TestCase): "verifyCertificate" : false, "overrideAgentProxy" : false, "liveShare" : false, + "agentInterfaces" : { + "agentId" : "2954", + "ipAddress" : "192.1.1.0" + }, "labels" : [ "9842", "1283" ], "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "emulatedDeviceId" : "2", "sharedWithAccounts" : [ "1234", "12345" ], "overrideProxyId" : "281474976710706", @@ -77,6 +91,7 @@ class TestWebTransactionApi(unittest.TestCase): "sslVersion" : "Auto", "useNtlm" : false, "credentials" : [ "3247", "1051" ], + "downloadLimit" : 2048, "alertRules" : [ "344753", "212697" ], "description" : "ThousandEyes Test", "httpTimeLimit" : 5, @@ -87,6 +102,7 @@ class TestWebTransactionApi(unittest.TestCase): "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, + "collectProxyNetworkData" : false, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", "authType" : "none", @@ -127,12 +143,12 @@ class TestWebTransactionApi(unittest.TestCase): "desiredStatusCode" : "200", "httpTargetTime" : 100, "sslVersionId" : "0", - "targetTime" : 1, - "username" : "username" + "username" : "username", + "targetTime" : 1 }""" request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.tests.models.UpdateWebTransactionTest.from_json(request_body_json) + request_from_json = thousandeyes_sdk.tests.models.WebTransactionTestRequest.from_json(request_body_json) assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) response_body_json = """ @@ -156,10 +172,21 @@ class TestWebTransactionApi(unittest.TestCase): "title" : "title" } }, + "dnsOverride" : "8.8.8.8", "bandwidthMeasurements" : true, "probeMode" : "auto", "includeHeaders" : true, "type" : "web-transactions", + "oAuth" : { + "configId" : "123321123", + "testUrl" : "https://api.thousandeyes.com/v7/status", + "requestMethod" : "get", + "postBody" : "client_id: ************", + "headers" : "Authorization: Basic ************", + "authType" : "none", + "username" : "user123", + "password" : "*******" + }, "password" : "password", "protocol" : "tcp", "followRedirects" : true, @@ -171,6 +198,10 @@ class TestWebTransactionApi(unittest.TestCase): "verifyCertificate" : false, "overrideAgentProxy" : false, "liveShare" : false, + "agentInterfaces" : { + "agentId" : "2954", + "ipAddress" : "192.1.1.0" + }, "labels" : [ { "labelId" : "961", "name" : "Artem label", @@ -181,7 +212,7 @@ class TestWebTransactionApi(unittest.TestCase): "isBuiltin" : false } ], "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "emulatedDeviceId" : "2", "sharedWithAccounts" : [ { "name" : "Account name", @@ -209,30 +240,33 @@ class TestWebTransactionApi(unittest.TestCase): "sslVersion" : "Auto", "useNtlm" : false, "credentials" : [ "3247", "1051" ], + "downloadLimit" : 2048, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -245,6 +279,7 @@ class TestWebTransactionApi(unittest.TestCase): "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, + "collectProxyNetworkData" : false, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", "authType" : "none", @@ -303,12 +338,12 @@ class TestWebTransactionApi(unittest.TestCase): "desiredStatusCode" : "200", "httpTargetTime" : 100, "sslVersionId" : "0", - "targetTime" : 1, - "username" : "username" + "username" : "username", + "targetTime" : 1 }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.WebTransactionTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.WebTransactionTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_delete_web_transactions_test_models_validation(self) -> None: @@ -339,10 +374,21 @@ class TestWebTransactionApi(unittest.TestCase): "title" : "title" } }, + "dnsOverride" : "8.8.8.8", "bandwidthMeasurements" : true, "probeMode" : "auto", "includeHeaders" : true, "type" : "web-transactions", + "oAuth" : { + "configId" : "123321123", + "testUrl" : "https://api.thousandeyes.com/v7/status", + "requestMethod" : "get", + "postBody" : "client_id: ************", + "headers" : "Authorization: Basic ************", + "authType" : "none", + "username" : "user123", + "password" : "*******" + }, "password" : "password", "protocol" : "tcp", "followRedirects" : true, @@ -354,6 +400,10 @@ class TestWebTransactionApi(unittest.TestCase): "verifyCertificate" : false, "overrideAgentProxy" : false, "liveShare" : false, + "agentInterfaces" : { + "agentId" : "2954", + "ipAddress" : "192.1.1.0" + }, "labels" : [ { "labelId" : "961", "name" : "Artem label", @@ -364,7 +414,7 @@ class TestWebTransactionApi(unittest.TestCase): "isBuiltin" : false } ], "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "emulatedDeviceId" : "2", "sharedWithAccounts" : [ { "name" : "Account name", @@ -392,30 +442,33 @@ class TestWebTransactionApi(unittest.TestCase): "sslVersion" : "Auto", "useNtlm" : false, "credentials" : [ "3247", "1051" ], + "downloadLimit" : 2048, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -428,6 +481,7 @@ class TestWebTransactionApi(unittest.TestCase): "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, + "collectProxyNetworkData" : false, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", "authType" : "none", @@ -486,12 +540,12 @@ class TestWebTransactionApi(unittest.TestCase): "desiredStatusCode" : "200", "httpTargetTime" : 100, "sslVersionId" : "0", - "targetTime" : 1, - "username" : "username" + "username" : "username", + "targetTime" : 1 }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.WebTransactionTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.WebTransactionTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) def test_get_web_transactions_tests_models_validation(self) -> None: @@ -519,10 +573,21 @@ class TestWebTransactionApi(unittest.TestCase): "title" : "title" } }, + "dnsOverride" : "8.8.8.8", "bandwidthMeasurements" : true, "probeMode" : "auto", "includeHeaders" : true, "type" : "web-transactions", + "oAuth" : { + "configId" : "123321123", + "testUrl" : "https://api.thousandeyes.com/v7/status", + "requestMethod" : "get", + "postBody" : "client_id: ************", + "headers" : "Authorization: Basic ************", + "authType" : "none", + "username" : "user123", + "password" : "*******" + }, "password" : "password", "protocol" : "tcp", "followRedirects" : true, @@ -534,12 +599,17 @@ class TestWebTransactionApi(unittest.TestCase): "verifyCertificate" : false, "overrideAgentProxy" : false, "liveShare" : false, + "agentInterfaces" : { + "agentId" : "2954", + "ipAddress" : "192.1.1.0" + }, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "emulatedDeviceId" : "2", "overrideProxyId" : "281474976710706", "sslVersion" : "Auto", "useNtlm" : false, + "downloadLimit" : 2048, "description" : "ThousandEyes Test", "httpTimeLimit" : 5, "blockDomains" : "domain.com/", @@ -549,6 +619,7 @@ class TestWebTransactionApi(unittest.TestCase): "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, + "collectProxyNetworkData" : false, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", "authType" : "none", @@ -582,8 +653,8 @@ class TestWebTransactionApi(unittest.TestCase): "desiredStatusCode" : "200", "httpTargetTime" : 100, "sslVersionId" : "0", - "targetTime" : 1, - "username" : "username" + "username" : "username", + "targetTime" : 1 }, { "clientCertificate" : "-----BEGIN PRIVATE KEY-----\\nMIICUTCCAfugAwIBAgIBADANBgkqhkiG9w0BAQQFADBXMQswCQYDVQQGEwJDTjEL\\n-----END PRIVATE KEY-----\\n-----BEGIN CERTIFICATE-----\\nMIICUTCCAfugAwIBAgIBADANBgkqhkiG9w0BAQQFADBXMQswCQYDVQQGEwJDTjEL\\n-----END CERTIFICATE-----\\n", "mtuMeasurements" : false, @@ -604,10 +675,21 @@ class TestWebTransactionApi(unittest.TestCase): "title" : "title" } }, + "dnsOverride" : "8.8.8.8", "bandwidthMeasurements" : true, "probeMode" : "auto", "includeHeaders" : true, "type" : "web-transactions", + "oAuth" : { + "configId" : "123321123", + "testUrl" : "https://api.thousandeyes.com/v7/status", + "requestMethod" : "get", + "postBody" : "client_id: ************", + "headers" : "Authorization: Basic ************", + "authType" : "none", + "username" : "user123", + "password" : "*******" + }, "password" : "password", "protocol" : "tcp", "followRedirects" : true, @@ -619,12 +701,17 @@ class TestWebTransactionApi(unittest.TestCase): "verifyCertificate" : false, "overrideAgentProxy" : false, "liveShare" : false, + "agentInterfaces" : { + "agentId" : "2954", + "ipAddress" : "192.1.1.0" + }, "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "emulatedDeviceId" : "2", "overrideProxyId" : "281474976710706", "sslVersion" : "Auto", "useNtlm" : false, + "downloadLimit" : 2048, "description" : "ThousandEyes Test", "httpTimeLimit" : 5, "blockDomains" : "domain.com/", @@ -634,6 +721,7 @@ class TestWebTransactionApi(unittest.TestCase): "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, + "collectProxyNetworkData" : false, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", "authType" : "none", @@ -667,8 +755,8 @@ class TestWebTransactionApi(unittest.TestCase): "desiredStatusCode" : "200", "httpTargetTime" : 100, "sslVersionId" : "0", - "targetTime" : 1, - "username" : "username" + "username" : "username", + "targetTime" : 1 } ], "_links" : { "self" : { @@ -711,10 +799,21 @@ class TestWebTransactionApi(unittest.TestCase): "title" : "title" } }, + "dnsOverride" : "8.8.8.8", "bandwidthMeasurements" : true, "probeMode" : "auto", "includeHeaders" : true, "type" : "web-transactions", + "oAuth" : { + "configId" : "123321123", + "testUrl" : "https://api.thousandeyes.com/v7/status", + "requestMethod" : "get", + "postBody" : "client_id: ************", + "headers" : "Authorization: Basic ************", + "authType" : "none", + "username" : "user123", + "password" : "*******" + }, "password" : "password", "protocol" : "tcp", "followRedirects" : true, @@ -726,9 +825,13 @@ class TestWebTransactionApi(unittest.TestCase): "verifyCertificate" : false, "overrideAgentProxy" : false, "liveShare" : false, + "agentInterfaces" : { + "agentId" : "2954", + "ipAddress" : "192.1.1.0" + }, "labels" : [ "9842", "1283" ], "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "emulatedDeviceId" : "2", "sharedWithAccounts" : [ "1234", "12345" ], "overrideProxyId" : "281474976710706", @@ -736,6 +839,7 @@ class TestWebTransactionApi(unittest.TestCase): "sslVersion" : "Auto", "useNtlm" : false, "credentials" : [ "3247", "1051" ], + "downloadLimit" : 2048, "alertRules" : [ "344753", "212697" ], "description" : "ThousandEyes Test", "httpTimeLimit" : 5, @@ -746,6 +850,7 @@ class TestWebTransactionApi(unittest.TestCase): "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, + "collectProxyNetworkData" : false, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", "authType" : "none", @@ -786,12 +891,12 @@ class TestWebTransactionApi(unittest.TestCase): "desiredStatusCode" : "200", "httpTargetTime" : 100, "sslVersionId" : "0", - "targetTime" : 1, - "username" : "username" + "username" : "username", + "targetTime" : 1 }""" request_loaded_json = json.loads(request_body_json) - request_from_json = thousandeyes_sdk.tests.models.UpdateWebTransactionTest.from_json(request_body_json) + request_from_json = thousandeyes_sdk.tests.models.WebTransactionTestRequest.from_json(request_body_json) assert_constructed_model_matches_example_json(request_from_json, request_loaded_json) response_body_json = """ @@ -815,10 +920,21 @@ class TestWebTransactionApi(unittest.TestCase): "title" : "title" } }, + "dnsOverride" : "8.8.8.8", "bandwidthMeasurements" : true, "probeMode" : "auto", "includeHeaders" : true, "type" : "web-transactions", + "oAuth" : { + "configId" : "123321123", + "testUrl" : "https://api.thousandeyes.com/v7/status", + "requestMethod" : "get", + "postBody" : "client_id: ************", + "headers" : "Authorization: Basic ************", + "authType" : "none", + "username" : "user123", + "password" : "*******" + }, "password" : "password", "protocol" : "tcp", "followRedirects" : true, @@ -830,6 +946,10 @@ class TestWebTransactionApi(unittest.TestCase): "verifyCertificate" : false, "overrideAgentProxy" : false, "liveShare" : false, + "agentInterfaces" : { + "agentId" : "2954", + "ipAddress" : "192.1.1.0" + }, "labels" : [ { "labelId" : "961", "name" : "Artem label", @@ -840,7 +960,7 @@ class TestWebTransactionApi(unittest.TestCase): "isBuiltin" : false } ], "modifiedDate" : "2022-07-17T22:00:54Z", - "interval" : 120, + "interval" : 60, "emulatedDeviceId" : "2", "sharedWithAccounts" : [ { "name" : "Account name", @@ -868,30 +988,33 @@ class TestWebTransactionApi(unittest.TestCase): "sslVersion" : "Auto", "useNtlm" : false, "credentials" : [ "3247", "1051" ], + "downloadLimit" : 2048, "alertRules" : [ { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" }, { "severity" : "major", + "expression" : "((hops((hopDelay >= 100 ms))))", + "alertType" : "http-server", + "roundsViolatingMode" : "exact", + "sensitivityLevel" : "medium", "roundsViolatingOutOf" : 5, "roundsViolatingRequired" : 2, "isDefault" : true, - "expression" : "((hops((hopDelay >= 100 ms))))", - "alertType" : "http-server", "minimumSourcesPct" : 99, "ruleName" : "The End of the Internet", "minimumSources" : 10, - "roundsViolatingMode" : "exact", "ruleId" : "127094", "direction" : "to-target" } ], @@ -904,6 +1027,7 @@ class TestWebTransactionApi(unittest.TestCase): "allowUnsafeLegacyRenegotiation" : true, "fixedPacketRate" : 50, "httpVersion" : 2, + "collectProxyNetworkData" : false, "pathTraceMode" : "classic", "modifiedBy" : "user@user.com", "authType" : "none", @@ -962,12 +1086,12 @@ class TestWebTransactionApi(unittest.TestCase): "desiredStatusCode" : "200", "httpTargetTime" : 100, "sslVersionId" : "0", - "targetTime" : 1, - "username" : "username" + "username" : "username", + "targetTime" : 1 }""" response_loaded_json = json.loads(response_body_json) - response_from_json = thousandeyes_sdk.tests.models.WebTransactionTest.from_json(response_body_json) + response_from_json = thousandeyes_sdk.tests.models.WebTransactionTestResponse.from_json(response_body_json) assert_constructed_model_matches_example_json(response_from_json, response_loaded_json) diff --git a/thousandeyes-sdk-usage/.openapi-generator/FILES b/thousandeyes-sdk-usage/.openapi-generator/FILES index bc1dea14..6d43a604 100644 --- a/thousandeyes-sdk-usage/.openapi-generator/FILES +++ b/thousandeyes-sdk-usage/.openapi-generator/FILES @@ -2,15 +2,15 @@ MANIFEST.in README.md docs/AccountGroupQuota.md -docs/EndpointAgents.md docs/EndpointAgentsEmbedded.md docs/EndpointAgentsEssentials.md +docs/EndpointAgentsUsage.md docs/EnterpriseAgentUnits.md docs/EnterpriseAgentUnitsByTestOwnerAccountGroup.md docs/EnterpriseAgents.md docs/EnterpriseAgentsUsage.md docs/Error.md -docs/Expand.md +docs/ExpandUsageOptions.md docs/Link.md docs/OrganizationQuota.md docs/OrganizationQuotaAssignment.md @@ -25,7 +25,7 @@ docs/QuotasAssignRequest.md docs/QuotasAssignResponse.md docs/QuotasUnassign.md docs/SelfLinks.md -docs/Tests.md +docs/TestUsage.md docs/TestsUsage.md docs/UnauthorizedError.md docs/UnitsByTests.md @@ -43,15 +43,15 @@ src/thousandeyes_sdk/usage/api/quotas_api.py src/thousandeyes_sdk/usage/api/usage_api.py src/thousandeyes_sdk/usage/models/__init__.py src/thousandeyes_sdk/usage/models/account_group_quota.py -src/thousandeyes_sdk/usage/models/endpoint_agents.py src/thousandeyes_sdk/usage/models/endpoint_agents_embedded.py src/thousandeyes_sdk/usage/models/endpoint_agents_essentials.py +src/thousandeyes_sdk/usage/models/endpoint_agents_usage.py src/thousandeyes_sdk/usage/models/enterprise_agent_units.py src/thousandeyes_sdk/usage/models/enterprise_agent_units_by_test_owner_account_group.py src/thousandeyes_sdk/usage/models/enterprise_agents.py src/thousandeyes_sdk/usage/models/enterprise_agents_usage.py src/thousandeyes_sdk/usage/models/error.py -src/thousandeyes_sdk/usage/models/expand.py +src/thousandeyes_sdk/usage/models/expand_usage_options.py src/thousandeyes_sdk/usage/models/link.py src/thousandeyes_sdk/usage/models/organization_quota.py src/thousandeyes_sdk/usage/models/organization_quota_assignment.py @@ -65,7 +65,7 @@ src/thousandeyes_sdk/usage/models/quotas_assign_request.py src/thousandeyes_sdk/usage/models/quotas_assign_response.py src/thousandeyes_sdk/usage/models/quotas_unassign.py src/thousandeyes_sdk/usage/models/self_links.py -src/thousandeyes_sdk/usage/models/tests.py +src/thousandeyes_sdk/usage/models/test_usage.py src/thousandeyes_sdk/usage/models/tests_usage.py src/thousandeyes_sdk/usage/models/unauthorized_error.py src/thousandeyes_sdk/usage/models/units_by_tests.py diff --git a/thousandeyes-sdk-usage/README.md b/thousandeyes-sdk-usage/README.md index 45ab010f..a4061e39 100644 --- a/thousandeyes-sdk-usage/README.md +++ b/thousandeyes-sdk-usage/README.md @@ -4,20 +4,20 @@ These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). - * Users must have the `View Billing` permission to access this endpoint. - * This endpoint offers visibility across all account groups within the organization. - * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. + * Users must have the `View organization usage` permission to access this endpoint. + * This operation offers visibility across all account groups within the organization. + * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. -Refer to the Usage API endpoints for detailed usage instructions and optional parameters. +Refer to the Usage API operations for detailed usage instructions and optional parameters. This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 7.0.8 +- API version: 7.0.20 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator @@ -69,10 +69,10 @@ import thousandeyes_sdk.usage from thousandeyes_sdk.core.exceptions import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -104,32 +104,32 @@ with thousandeyes_sdk.core.ApiClient(configuration) as api_client: ## Documentation for API Endpoints -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- -*QuotasApi* | [**assign_organizations_account_groups_quotas**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/QuotasApi.md#assign_organizations_account_groups_quotas) | **POST** /v7/quotas/account-groups/assign | Create or update accout group quotas -*QuotasApi* | [**assign_organizations_quotas**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/QuotasApi.md#assign_organizations_quotas) | **POST** /v7/quotas/assign | Create or update organizations quotas -*QuotasApi* | [**get_quotas**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/QuotasApi.md#get_quotas) | **GET** /v7/quotas | Get organization and account group usage quota -*QuotasApi* | [**unassign_organizations_account_groups_quotas**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/QuotasApi.md#unassign_organizations_account_groups_quotas) | **POST** /v7/quotas/account-groups/unassign | Remove account group quotas from organizations -*QuotasApi* | [**unassign_organizations_quotas**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/QuotasApi.md#unassign_organizations_quotas) | **POST** /v7/quotas/unassign | Remove organization quotas -*UsageApi* | [**get_enterprise_agents_units_usage**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/UsageApi.md#get_enterprise_agents_units_usage) | **GET** /v7/usage/units/enterprise-agents | Get enterprise agent usage -*UsageApi* | [**get_tests_units_usage**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/UsageApi.md#get_tests_units_usage) | **GET** /v7/usage/units/tests | Get cloud and enterprise agents units usage -*UsageApi* | [**get_usage**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/UsageApi.md#get_usage) | **GET** /v7/usage | Get usage information for the last month +*QuotasApi* | [**assign_organizations_account_groups_quotas**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/QuotasApi.md#assign_organizations_account_groups_quotas) | **POST** /quotas/account-groups/assign | Create or update accout group quotas +*QuotasApi* | [**assign_organizations_quotas**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/QuotasApi.md#assign_organizations_quotas) | **POST** /quotas/assign | Create or update organizations quotas +*QuotasApi* | [**get_quotas**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/QuotasApi.md#get_quotas) | **GET** /quotas | Get organization and account group usage quota +*QuotasApi* | [**unassign_organizations_account_groups_quotas**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/QuotasApi.md#unassign_organizations_account_groups_quotas) | **POST** /quotas/account-groups/unassign | Remove account group quotas from organizations +*QuotasApi* | [**unassign_organizations_quotas**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/QuotasApi.md#unassign_organizations_quotas) | **POST** /quotas/unassign | Remove organization quotas +*UsageApi* | [**get_enterprise_agents_units_usage**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/UsageApi.md#get_enterprise_agents_units_usage) | **GET** /usage/units/enterprise-agents | Get enterprise agent usage +*UsageApi* | [**get_tests_units_usage**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/UsageApi.md#get_tests_units_usage) | **GET** /usage/units/tests | Get cloud and enterprise agents units usage +*UsageApi* | [**get_usage**](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/UsageApi.md#get_usage) | **GET** /usage | Get usage information for the last month ## Documentation For Models - [AccountGroupQuota](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/AccountGroupQuota.md) - - [EndpointAgents](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/EndpointAgents.md) - [EndpointAgentsEmbedded](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/EndpointAgentsEmbedded.md) - [EndpointAgentsEssentials](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/EndpointAgentsEssentials.md) + - [EndpointAgentsUsage](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/EndpointAgentsUsage.md) - [EnterpriseAgentUnits](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/EnterpriseAgentUnits.md) - [EnterpriseAgentUnitsByTestOwnerAccountGroup](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/EnterpriseAgentUnitsByTestOwnerAccountGroup.md) - [EnterpriseAgents](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/EnterpriseAgents.md) - [EnterpriseAgentsUsage](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/EnterpriseAgentsUsage.md) - [Error](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/Error.md) - - [Expand](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/Expand.md) + - [ExpandUsageOptions](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/ExpandUsageOptions.md) - [Link](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/Link.md) - [OrganizationQuota](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/OrganizationQuota.md) - [OrganizationQuotaAssignment](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/OrganizationQuotaAssignment.md) @@ -143,7 +143,7 @@ Class | Method | HTTP request | Description - [QuotasAssignResponse](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/QuotasAssignResponse.md) - [QuotasUnassign](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/QuotasUnassign.md) - [SelfLinks](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/SelfLinks.md) - - [Tests](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/Tests.md) + - [TestUsage](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/TestUsage.md) - [TestsUsage](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/TestsUsage.md) - [UnauthorizedError](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/UnauthorizedError.md) - [UnitsByTests](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-usage/docs/UnitsByTests.md) diff --git a/thousandeyes-sdk-usage/docs/EndpointAgents.md b/thousandeyes-sdk-usage/docs/EndpointAgentsUsage.md similarity index 61% rename from thousandeyes-sdk-usage/docs/EndpointAgents.md rename to thousandeyes-sdk-usage/docs/EndpointAgentsUsage.md index 5c63890e..cfdf8773 100644 --- a/thousandeyes-sdk-usage/docs/EndpointAgents.md +++ b/thousandeyes-sdk-usage/docs/EndpointAgentsUsage.md @@ -1,4 +1,4 @@ -# EndpointAgents +# EndpointAgentsUsage ## Properties @@ -12,19 +12,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.usage.models.endpoint_agents import EndpointAgents +from thousandeyes_sdk.usage.models.endpoint_agents_usage import EndpointAgentsUsage # TODO update the JSON string below json = "{}" -# create an instance of EndpointAgents from a JSON string -endpoint_agents_instance = EndpointAgents.from_json(json) +# create an instance of EndpointAgentsUsage from a JSON string +endpoint_agents_usage_instance = EndpointAgentsUsage.from_json(json) # print the JSON string representation of the object -print(EndpointAgents.to_json()) +print(EndpointAgentsUsage.to_json()) # convert the object into a dict -endpoint_agents_dict = endpoint_agents_instance.to_dict() -# create an instance of EndpointAgents from a dict -endpoint_agents_from_dict = EndpointAgents.from_dict(endpoint_agents_dict) +endpoint_agents_usage_dict = endpoint_agents_usage_instance.to_dict() +# create an instance of EndpointAgentsUsage from a dict +endpoint_agents_usage_from_dict = EndpointAgentsUsage.from_dict(endpoint_agents_usage_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) diff --git a/thousandeyes-sdk-usage/docs/Expand.md b/thousandeyes-sdk-usage/docs/Expand.md deleted file mode 100644 index f6553b30..00000000 --- a/thousandeyes-sdk-usage/docs/Expand.md +++ /dev/null @@ -1,11 +0,0 @@ -# Expand - - -## 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) - - diff --git a/thousandeyes-sdk-endpoint-agents/docs/Expand.md b/thousandeyes-sdk-usage/docs/ExpandUsageOptions.md similarity index 92% rename from thousandeyes-sdk-endpoint-agents/docs/Expand.md rename to thousandeyes-sdk-usage/docs/ExpandUsageOptions.md index f6553b30..2efd9d54 100644 --- a/thousandeyes-sdk-endpoint-agents/docs/Expand.md +++ b/thousandeyes-sdk-usage/docs/ExpandUsageOptions.md @@ -1,4 +1,4 @@ -# Expand +# ExpandUsageOptions ## Properties diff --git a/thousandeyes-sdk-usage/docs/QuotasApi.md b/thousandeyes-sdk-usage/docs/QuotasApi.md index 36f3b7f3..ba77864a 100644 --- a/thousandeyes-sdk-usage/docs/QuotasApi.md +++ b/thousandeyes-sdk-usage/docs/QuotasApi.md @@ -1,14 +1,14 @@ # thousandeyes_sdk.usage.QuotasApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**assign_organizations_account_groups_quotas**](QuotasApi.md#assign_organizations_account_groups_quotas) | **POST** /v7/quotas/account-groups/assign | Create or update accout group quotas -[**assign_organizations_quotas**](QuotasApi.md#assign_organizations_quotas) | **POST** /v7/quotas/assign | Create or update organizations quotas -[**get_quotas**](QuotasApi.md#get_quotas) | **GET** /v7/quotas | Get organization and account group usage quota -[**unassign_organizations_account_groups_quotas**](QuotasApi.md#unassign_organizations_account_groups_quotas) | **POST** /v7/quotas/account-groups/unassign | Remove account group quotas from organizations -[**unassign_organizations_quotas**](QuotasApi.md#unassign_organizations_quotas) | **POST** /v7/quotas/unassign | Remove organization quotas +[**assign_organizations_account_groups_quotas**](QuotasApi.md#assign_organizations_account_groups_quotas) | **POST** /quotas/account-groups/assign | Create or update accout group quotas +[**assign_organizations_quotas**](QuotasApi.md#assign_organizations_quotas) | **POST** /quotas/assign | Create or update organizations quotas +[**get_quotas**](QuotasApi.md#get_quotas) | **GET** /quotas | Get organization and account group usage quota +[**unassign_organizations_account_groups_quotas**](QuotasApi.md#unassign_organizations_account_groups_quotas) | **POST** /quotas/account-groups/unassign | Remove account group quotas from organizations +[**unassign_organizations_quotas**](QuotasApi.md#unassign_organizations_quotas) | **POST** /quotas/unassign | Remove organization quotas # **assign_organizations_account_groups_quotas** @@ -16,7 +16,7 @@ Method | HTTP request | Description Create or update accout group quotas -This endpoint assigns quota values to multiple account groups across multiple organizations. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. This endpoint follows a cumulative behavior––This means that the quotas are assigned to the designated account groups, and any previous assignments remain in place without any unassignment occurring. +This operation assigns quota values to multiple account groups across multiple organizations. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. This operation follows a cumulative behavior––This means that the quotas are assigned to the designated account groups, and any previous assignments remain in place without any unassignment occurring. ### Example @@ -28,10 +28,10 @@ from thousandeyes_sdk.usage.models.organizations_quotas_assign import Organizati from thousandeyes_sdk.usage.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -100,7 +100,7 @@ Name | Type | Description | Notes Create or update organizations quotas -This endpoint recieves a list of organization quotas to create or update. If there's no specific `orgId` defined for a quota, it defaults to using the authenticated organization. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. This endpoint follows cumulative behavior––This means that the quotas are assigned to the specified organizations, and any previous assignments remain unchanged; no unassignments occur. +This operation recieves a list of organization quotas to create or update. If there's no specific `orgId` defined for a quota, it defaults to using the authenticated organization. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. This operation follows cumulative behavior––This means that the quotas are assigned to the specified organizations, and any previous assignments remain unchanged; no unassignments occur. ### Example @@ -113,10 +113,10 @@ from thousandeyes_sdk.usage.models.quotas_assign_response import QuotasAssignRes from thousandeyes_sdk.usage.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -185,7 +185,7 @@ Name | Type | Description | Notes Get organization and account group usage quota -This endpoint retrieves usage quotas for both organization and account groups. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. If a user has quota update permission in multiple organizations, the API returns data from all such organizations. +This operation retrieves usage quotas for both organization and account groups. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. If a user has quota update permission in multiple organizations, the API returns data from all such organizations. ### Example @@ -197,10 +197,10 @@ from thousandeyes_sdk.usage.models.quotas import Quotas from thousandeyes_sdk.usage.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -265,7 +265,7 @@ This endpoint does not need any parameter. Remove account group quotas from organizations -This endpoint removes quotas from multiple account groups across multiple organizations. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. +This operation removes quotas from multiple account groups across multiple organizations. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. ### Example @@ -277,10 +277,10 @@ from thousandeyes_sdk.usage.models.organizations_quotas_unassign import Organiza from thousandeyes_sdk.usage.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -347,7 +347,7 @@ void (empty response body) Remove organization quotas -This endpoint recieves a list of organization IDs to remove their current quota. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. +This operation recieves a list of organization IDs to remove their current quota. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. ### Example @@ -359,10 +359,10 @@ from thousandeyes_sdk.usage.models.quotas_unassign import QuotasUnassign from thousandeyes_sdk.usage.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters diff --git a/thousandeyes-sdk-usage/docs/Tests.md b/thousandeyes-sdk-usage/docs/TestUsage.md similarity index 81% rename from thousandeyes-sdk-usage/docs/Tests.md rename to thousandeyes-sdk-usage/docs/TestUsage.md index bb660009..3e6129ce 100644 --- a/thousandeyes-sdk-usage/docs/Tests.md +++ b/thousandeyes-sdk-usage/docs/TestUsage.md @@ -1,4 +1,4 @@ -# Tests +# TestUsage ## Properties @@ -16,19 +16,19 @@ Name | Type | Description | Notes ## Example ```python -from thousandeyes_sdk.usage.models.tests import Tests +from thousandeyes_sdk.usage.models.test_usage import TestUsage # TODO update the JSON string below json = "{}" -# create an instance of Tests from a JSON string -tests_instance = Tests.from_json(json) +# create an instance of TestUsage from a JSON string +test_usage_instance = TestUsage.from_json(json) # print the JSON string representation of the object -print(Tests.to_json()) +print(TestUsage.to_json()) # convert the object into a dict -tests_dict = tests_instance.to_dict() -# create an instance of Tests from a dict -tests_from_dict = Tests.from_dict(tests_dict) +test_usage_dict = test_usage_instance.to_dict() +# create an instance of TestUsage from a dict +test_usage_from_dict = TestUsage.from_dict(test_usage_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) diff --git a/thousandeyes-sdk-usage/docs/UnitsByTests.md b/thousandeyes-sdk-usage/docs/UnitsByTests.md index 6b9f7a1b..51f156f9 100644 --- a/thousandeyes-sdk-usage/docs/UnitsByTests.md +++ b/thousandeyes-sdk-usage/docs/UnitsByTests.md @@ -13,7 +13,7 @@ Name | Type | Description | Notes **cloud_units_projected** | **int** | Cloud Units projected in the current usage period, based on units consumed to date and configuration of the test | [optional] **test_id** | **str** | Unique ID of the test generating usage | [optional] **test_name** | **str** | Name of the test generating usage | [optional] -**test_type** | **str** | Type of test generating usage. Note that this is a friendly testType entry (so it shouldn’t be parsed to discover the correct endpoint to query for configuration details). | [optional] +**test_type** | **str** | Type of test generating usage. Note that this is a friendly testType entry (so it shouldn’t be parsed to discover the correct operation to query for configuration details). | [optional] **is_instant_test** | **bool** | Indicates whether the test is scheduled or instant | [optional] ## Example diff --git a/thousandeyes-sdk-usage/docs/UsageApi.md b/thousandeyes-sdk-usage/docs/UsageApi.md index f9746b37..292fcaab 100644 --- a/thousandeyes-sdk-usage/docs/UsageApi.md +++ b/thousandeyes-sdk-usage/docs/UsageApi.md @@ -1,12 +1,12 @@ # thousandeyes_sdk.usage.UsageApi -All URIs are relative to *https://api.thousandeyes.com* +All URIs are relative to *https://api.thousandeyes.com/v7* Method | HTTP request | Description ------------- | ------------- | ------------- -[**get_enterprise_agents_units_usage**](UsageApi.md#get_enterprise_agents_units_usage) | **GET** /v7/usage/units/enterprise-agents | Get enterprise agent usage -[**get_tests_units_usage**](UsageApi.md#get_tests_units_usage) | **GET** /v7/usage/units/tests | Get cloud and enterprise agents units usage -[**get_usage**](UsageApi.md#get_usage) | **GET** /v7/usage | Get usage information for the last month +[**get_enterprise_agents_units_usage**](UsageApi.md#get_enterprise_agents_units_usage) | **GET** /usage/units/enterprise-agents | Get enterprise agent usage +[**get_tests_units_usage**](UsageApi.md#get_tests_units_usage) | **GET** /usage/units/tests | Get cloud and enterprise agents units usage +[**get_usage**](UsageApi.md#get_usage) | **GET** /usage | Get usage information for the last month # **get_enterprise_agents_units_usage** @@ -14,7 +14,7 @@ Method | HTTP request | Description Get enterprise agent usage -This endpoint returns the organization's enterprise agents usage for a specific time period, or the curent billing cycle if no time period is specified. In the `/v7/usage` API, a shared enterprise agent's usage is reported in the account group where the agent was created (i.e Primary Account Group). However in this API, the shared agent's usage is distributed among all the account groups where the tests are running on the particular agent. This API is also only available to customers on usage based pricing model. +This operation returns the organization's enterprise agents usage for a specific time period, or the curent billing cycle if no time period is specified. In the `/v7/usage` API, a shared enterprise agent's usage is reported in the account group where the agent was created (i.e Primary Account Group). However in this API, the shared agent's usage is distributed among all the account groups where the tests are running on the particular agent. This API is also only available to customers on usage based pricing model. ### Example @@ -26,10 +26,10 @@ from thousandeyes_sdk.usage.models.enterprise_agents_usage import EnterpriseAgen from thousandeyes_sdk.usage.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -102,7 +102,7 @@ Name | Type | Description | Notes Get cloud and enterprise agents units usage -This endpoint returns the cloud and enterprise agents usage for all the tests for a specific time period, or the curent billing cycle if no time period is specified. In the `/v7/usage` API, an enterprise agent's usage is reported in the account group where the agent was created (i.e Primary Account Group). However in this API, the agent's usage is distributed among all the account groups where the tests are running on the particular agent. This API is also only available to customers on usage based pricing model. +This operation returns the cloud and enterprise agents usage for all the tests for a specific time period, or the curent billing cycle if no time period is specified. In the `/v7/usage` API, an enterprise agent's usage is reported in the account group where the agent was created (i.e Primary Account Group). However in this API, the agent's usage is distributed among all the account groups where the tests are running on the particular agent. This API is also only available to customers on usage based pricing model. ### Example @@ -114,10 +114,10 @@ from thousandeyes_sdk.usage.models.tests_usage import TestsUsage from thousandeyes_sdk.usage.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -192,7 +192,7 @@ Name | Type | Description | Notes Get usage information for the last month -This endpoint returns usage for the current period. It provides visibility across all account groups within an organization. To access this endpoint, you need the `View Billing` permission (a management permission). If you have access to view billing in multiple organizations, query the endpoint using an `aid` querystring parameter (see optional parameters, below) from each organization. **Note:** Access to billing information older than one month is not supported by this endpoint. +This operation returns usage for the current period. It provides visibility across all account groups within an organization. To access this endpoint, you need the `View Billing` permission (a management permission). If you have access to view billing in multiple organizations, query the endpoint using an `aid` querystring parameter (see optional parameters, below) from each organization. **Note:** Access to billing information older than one month is not supported by this endpoint. ### Example @@ -200,15 +200,15 @@ This endpoint returns usage for the current period. It provides visibility acros ```python import thousandeyes_sdk.usage -from thousandeyes_sdk.usage.models.expand import Expand +from thousandeyes_sdk.usage.models.expand_usage_options import ExpandUsageOptions from thousandeyes_sdk.usage.models.usage import Usage from thousandeyes_sdk.usage.rest import ApiException from pprint import pprint -# Defining the host is optional and defaults to https://api.thousandeyes.com +# 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" + host = "https://api.thousandeyes.com/v7" ) # The client must configure the authentication and authorization parameters @@ -226,7 +226,7 @@ with thousandeyes_sdk.usage.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = thousandeyes_sdk.usage.UsageApi(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) - expand = [thousandeyes_sdk.usage.Expand()] # List[Expand] | Expands the available resources. By default, no expansion takes place if the `expand` query parameter is not passed. For example, to expand the \"tests\" resource, pass the query '?expand=test'. (optional) + expand = [thousandeyes_sdk.usage.ExpandUsageOptions()] # List[ExpandUsageOptions] | Expands the available resources. By default, no expansion takes place if the `expand` query parameter is not passed. For example, to expand the \"tests\" resource, pass the query '?expand=test'. (optional) try: # Get usage information for the last month @@ -245,7 +245,7 @@ with thousandeyes_sdk.usage.ApiClient(configuration) as api_client: 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] - **expand** | [**List[Expand]**](Expand.md)| Expands the available resources. By default, no expansion takes place if the `expand` query parameter is not passed. For example, to expand the \"tests\" resource, pass the query '?expand=test'. | [optional] + **expand** | [**List[ExpandUsageOptions]**](ExpandUsageOptions.md)| Expands the available resources. By default, no expansion takes place if the `expand` query parameter is not passed. For example, to expand the \"tests\" resource, pass the query '?expand=test'. | [optional] ### Return type diff --git a/thousandeyes-sdk-usage/docs/UsageDetails.md b/thousandeyes-sdk-usage/docs/UsageDetails.md index 7af7a689..232265ce 100644 --- a/thousandeyes-sdk-usage/docs/UsageDetails.md +++ b/thousandeyes-sdk-usage/docs/UsageDetails.md @@ -11,14 +11,17 @@ Name | Type | Description | Notes **cloud_units_next_billing_period** | **int** | Number of cloud units projected in the upcoming usage period, based on configuration of enabled tests. This value is updated hourly. | [optional] **enterprise_units_used** | **int** | Number of enterprise units consumed in the usage period. Returns non-zero value only for organizations with metered billing. | [optional] **enterprise_units_projected** | **int** | Number of enterprise units projected in the current usage period, based on units consumed to date and configuration of enabled tests. This value is updated hourly. Returns non-zero value only for organizations with metered billing. | [optional] -**enterprise_units_next_billing_period** | **int** | Number of enterprise units projected in the upcoming usage period, based on configuration of enabled tests. This value is updated hourly. Returns non-zero value only for organizations with metered billing. | [optional] +**enterprise_units_next_billing_period** | **int** | Projected number of enterprise units for the upcoming usage period, based on the configuration of enabled tests. This value is updated hourly and returns a non-zero value only for organizations with metered billing. | [optional] +**connected_devices_units_used** | **int** | Number of connected device units consumed in the usage period. | [optional] +**connected_devices_units_projected** | **int** | Projected number of connected device units for the current usage period. This projection is based on the units consumed to date and the configuration of enabled tests. The value is updated hourly. | [optional] +**connected_devices_units_next_billing_period** | **int** | Projected number of connected device units for the upcoming usage period. This projection is based on the configuration of enabled tests and is updated hourly. | [optional] **endpoint_agents_used** | **int** | Number of endpoint agents used in the current usage period. This number is calculated by taking the maximum number of agents enabled for any one-hour period in the usage period. Disabled agents are excluded from this calculation. | [optional] **endpoint_agents_essentials_used** | **int** | Number of endpoint agents essentials used in the current usage period. This number is calculated by taking the maximum number of agents enabled for any one-hour period in the usage period. Disabled agents are excluded from this calculation. | [optional] **endpoint_agents_embedded_used** | **int** | Number of embedded endpoint agents used in the current usage period. This number is calculated by taking the maximum number of agents enabled for any one-hour period in the usage period. Disabled agents are excluded from this calculation. | [optional] **enterprise_agents_used** | **int** | Number of enterprise agents used in the current usage period. This number is calculated by taking the maximum number of agents enabled for any one-hour period in the usage period. Disabled agents are excluded from this calculation. | [optional] **enterprise_agent_units** | [**List[EnterpriseAgentUnits]**](EnterpriseAgentUnits.md) | A breakdown of enterprise unit consumption for each agent during the current monthly period. Each entry provides data for both the current actual usage and the projected usage. Returns non-zero values for organizations with metered billing. | [optional] -**tests** | [**List[Tests]**](Tests.md) | A breakdown of unit consumption for each test during the current monthly period. Each entry provides information about both the current actual usage and the projected usage. | [optional] -**endpoint_agents** | [**List[EndpointAgents]**](EndpointAgents.md) | Endpoint agents used by account group. | [optional] +**tests** | [**List[TestUsage]**](TestUsage.md) | A breakdown of unit consumption for each test during the current monthly period. Each entry provides information about both the current actual usage and the projected usage. | [optional] +**endpoint_agents** | [**List[EndpointAgentsUsage]**](EndpointAgentsUsage.md) | Endpoint agents used by account group. | [optional] **endpoint_agents_essentials** | [**List[EndpointAgentsEssentials]**](EndpointAgentsEssentials.md) | Endpoint agents essentials used by account group. | [optional] **endpoint_agents_embedded** | [**List[EndpointAgentsEmbedded]**](EndpointAgentsEmbedded.md) | Endpoint agents embedded used by account group. | [optional] **enterprise_agents** | [**List[EnterpriseAgents]**](EnterpriseAgents.md) | Enterprise agents used by account group. | [optional] diff --git a/thousandeyes-sdk-usage/docs/UsageQuota.md b/thousandeyes-sdk-usage/docs/UsageQuota.md index 3680a83f..083d7bf1 100644 --- a/thousandeyes-sdk-usage/docs/UsageQuota.md +++ b/thousandeyes-sdk-usage/docs/UsageQuota.md @@ -8,6 +8,7 @@ Name | Type | Description | Notes **month_start** | **datetime** | Beginning of usage period in UTC (ISO date-time format). | [optional] **month_end** | **datetime** | End of usage period in UTC (ISO date-time format).. | [optional] **cloud_units_included** | **int** | Monthly number of cloud units allocated, as part of the contract. | [optional] +**device_agents_included** | **int** | Number of device agents (connected devices product) allocated monthly, as specified in the contract. | [optional] **endpoint_agents_included** | **int** | Monthly number of endpoint agents allocated, as part of the contract. | [optional] **endpoint_agents_essentials_included** | **int** | Monthly number of endpoint agents essentials allocated, as part of the contract. | [optional] **endpoint_agents_embedded_included** | **int** | Number of embedded endpoint agents allocated monthly, as specified in the contract. | [optional] diff --git a/thousandeyes-sdk-usage/pyproject.toml b/thousandeyes-sdk-usage/pyproject.toml index 4c3e6bea..e3fe5004 100644 --- a/thousandeyes-sdk-usage/pyproject.toml +++ b/thousandeyes-sdk-usage/pyproject.toml @@ -9,9 +9,9 @@ description = "ThousandEyes SDK Usage API" license = { file = "LICENSE" } requires-python = ">= 3.8" dependencies = [ - "urllib3 >= 1.25.3", + "urllib3 >= 2.0.0", "python-dateutil >=2.8.2", - "pydantic >=2", + "pydantic >=2.1.0", "typing-extensions >=4.7.1", "thousandeyes-sdk-core", ] diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/__init__.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/__init__.py index 1e893b17..8cb5c095 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/__init__.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/__init__.py @@ -5,9 +5,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -21,15 +20,15 @@ from thousandeyes_sdk.usage.api.usage_api import UsageApi # import models into sdk package from thousandeyes_sdk.usage.models.account_group_quota import AccountGroupQuota -from thousandeyes_sdk.usage.models.endpoint_agents import EndpointAgents from thousandeyes_sdk.usage.models.endpoint_agents_embedded import EndpointAgentsEmbedded from thousandeyes_sdk.usage.models.endpoint_agents_essentials import EndpointAgentsEssentials +from thousandeyes_sdk.usage.models.endpoint_agents_usage import EndpointAgentsUsage from thousandeyes_sdk.usage.models.enterprise_agent_units import EnterpriseAgentUnits from thousandeyes_sdk.usage.models.enterprise_agent_units_by_test_owner_account_group import EnterpriseAgentUnitsByTestOwnerAccountGroup from thousandeyes_sdk.usage.models.enterprise_agents import EnterpriseAgents from thousandeyes_sdk.usage.models.enterprise_agents_usage import EnterpriseAgentsUsage from thousandeyes_sdk.usage.models.error import Error -from thousandeyes_sdk.usage.models.expand import Expand +from thousandeyes_sdk.usage.models.expand_usage_options import ExpandUsageOptions from thousandeyes_sdk.usage.models.link import Link from thousandeyes_sdk.usage.models.organization_quota import OrganizationQuota from thousandeyes_sdk.usage.models.organization_quota_assignment import OrganizationQuotaAssignment @@ -43,7 +42,7 @@ from thousandeyes_sdk.usage.models.quotas_assign_request import QuotasAssignRequ from thousandeyes_sdk.usage.models.quotas_assign_response import QuotasAssignResponse from thousandeyes_sdk.usage.models.quotas_unassign import QuotasUnassign from thousandeyes_sdk.usage.models.self_links import SelfLinks -from thousandeyes_sdk.usage.models.tests import Tests +from thousandeyes_sdk.usage.models.test_usage import TestUsage from thousandeyes_sdk.usage.models.tests_usage import TestsUsage from thousandeyes_sdk.usage.models.unauthorized_error import UnauthorizedError from thousandeyes_sdk.usage.models.units_by_tests import UnitsByTests diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/api/quotas_api.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/api/quotas_api.py index 424081a1..5407d0e8 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/api/quotas_api.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/api/quotas_api.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -65,7 +64,7 @@ class QuotasApi: ) -> OrganizationsQuotasAssign: """Create or update accout group quotas - This endpoint assigns quota values to multiple account groups across multiple organizations. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. This endpoint follows a cumulative behavior––This means that the quotas are assigned to the designated account groups, and any previous assignments remain in place without any unassignment occurring. + This operation assigns quota values to multiple account groups across multiple organizations. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. This operation follows a cumulative behavior––This means that the quotas are assigned to the designated account groups, and any previous assignments remain in place without any unassignment occurring. :param organizations_quotas_assign: :type organizations_quotas_assign: OrganizationsQuotasAssign @@ -139,7 +138,7 @@ class QuotasApi: ) -> ApiResponse[OrganizationsQuotasAssign]: """Create or update accout group quotas - This endpoint assigns quota values to multiple account groups across multiple organizations. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. This endpoint follows a cumulative behavior––This means that the quotas are assigned to the designated account groups, and any previous assignments remain in place without any unassignment occurring. + This operation assigns quota values to multiple account groups across multiple organizations. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. This operation follows a cumulative behavior––This means that the quotas are assigned to the designated account groups, and any previous assignments remain in place without any unassignment occurring. :param organizations_quotas_assign: :type organizations_quotas_assign: OrganizationsQuotasAssign @@ -213,7 +212,7 @@ class QuotasApi: ) -> RESTResponseType: """Create or update accout group quotas - This endpoint assigns quota values to multiple account groups across multiple organizations. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. This endpoint follows a cumulative behavior––This means that the quotas are assigned to the designated account groups, and any previous assignments remain in place without any unassignment occurring. + This operation assigns quota values to multiple account groups across multiple organizations. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. This operation follows a cumulative behavior––This means that the quotas are assigned to the designated account groups, and any previous assignments remain in place without any unassignment occurring. :param organizations_quotas_assign: :type organizations_quotas_assign: OrganizationsQuotasAssign @@ -323,7 +322,7 @@ class QuotasApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/quotas/account-groups/assign', + resource_path='/quotas/account-groups/assign', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -358,7 +357,7 @@ class QuotasApi: ) -> QuotasAssignResponse: """Create or update organizations quotas - This endpoint recieves a list of organization quotas to create or update. If there's no specific `orgId` defined for a quota, it defaults to using the authenticated organization. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. This endpoint follows cumulative behavior––This means that the quotas are assigned to the specified organizations, and any previous assignments remain unchanged; no unassignments occur. + This operation recieves a list of organization quotas to create or update. If there's no specific `orgId` defined for a quota, it defaults to using the authenticated organization. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. This operation follows cumulative behavior––This means that the quotas are assigned to the specified organizations, and any previous assignments remain unchanged; no unassignments occur. :param quotas_assign_request: :type quotas_assign_request: QuotasAssignRequest @@ -432,7 +431,7 @@ class QuotasApi: ) -> ApiResponse[QuotasAssignResponse]: """Create or update organizations quotas - This endpoint recieves a list of organization quotas to create or update. If there's no specific `orgId` defined for a quota, it defaults to using the authenticated organization. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. This endpoint follows cumulative behavior––This means that the quotas are assigned to the specified organizations, and any previous assignments remain unchanged; no unassignments occur. + This operation recieves a list of organization quotas to create or update. If there's no specific `orgId` defined for a quota, it defaults to using the authenticated organization. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. This operation follows cumulative behavior––This means that the quotas are assigned to the specified organizations, and any previous assignments remain unchanged; no unassignments occur. :param quotas_assign_request: :type quotas_assign_request: QuotasAssignRequest @@ -506,7 +505,7 @@ class QuotasApi: ) -> RESTResponseType: """Create or update organizations quotas - This endpoint recieves a list of organization quotas to create or update. If there's no specific `orgId` defined for a quota, it defaults to using the authenticated organization. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. This endpoint follows cumulative behavior––This means that the quotas are assigned to the specified organizations, and any previous assignments remain unchanged; no unassignments occur. + This operation recieves a list of organization quotas to create or update. If there's no specific `orgId` defined for a quota, it defaults to using the authenticated organization. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. This operation follows cumulative behavior––This means that the quotas are assigned to the specified organizations, and any previous assignments remain unchanged; no unassignments occur. :param quotas_assign_request: :type quotas_assign_request: QuotasAssignRequest @@ -616,7 +615,7 @@ class QuotasApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/quotas/assign', + resource_path='/quotas/assign', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -650,7 +649,7 @@ class QuotasApi: ) -> Quotas: """Get organization and account group usage quota - This endpoint retrieves usage quotas for both organization and account groups. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. If a user has quota update permission in multiple organizations, the API returns data from all such organizations. + This operation retrieves usage quotas for both organization and account groups. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. If a user has quota update permission in multiple organizations, the API returns data from all such organizations. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -720,7 +719,7 @@ class QuotasApi: ) -> ApiResponse[Quotas]: """Get organization and account group usage quota - This endpoint retrieves usage quotas for both organization and account groups. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. If a user has quota update permission in multiple organizations, the API returns data from all such organizations. + This operation retrieves usage quotas for both organization and account groups. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. If a user has quota update permission in multiple organizations, the API returns data from all such organizations. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -790,7 +789,7 @@ class QuotasApi: ) -> RESTResponseType: """Get organization and account group usage quota - This endpoint retrieves usage quotas for both organization and account groups. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. If a user has quota update permission in multiple organizations, the API returns data from all such organizations. + This operation retrieves usage quotas for both organization and account groups. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. If a user has quota update permission in multiple organizations, the API returns data from all such organizations. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -881,7 +880,7 @@ class QuotasApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/quotas', + resource_path='/quotas', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -916,7 +915,7 @@ class QuotasApi: ) -> None: """Remove account group quotas from organizations - This endpoint removes quotas from multiple account groups across multiple organizations. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. + This operation removes quotas from multiple account groups across multiple organizations. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. :param organizations_quotas_unassign: :type organizations_quotas_unassign: OrganizationsQuotasUnassign @@ -990,7 +989,7 @@ class QuotasApi: ) -> ApiResponse[None]: """Remove account group quotas from organizations - This endpoint removes quotas from multiple account groups across multiple organizations. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. + This operation removes quotas from multiple account groups across multiple organizations. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. :param organizations_quotas_unassign: :type organizations_quotas_unassign: OrganizationsQuotasUnassign @@ -1064,7 +1063,7 @@ class QuotasApi: ) -> RESTResponseType: """Remove account group quotas from organizations - This endpoint removes quotas from multiple account groups across multiple organizations. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. + This operation removes quotas from multiple account groups across multiple organizations. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. :param organizations_quotas_unassign: :type organizations_quotas_unassign: OrganizationsQuotasUnassign @@ -1173,7 +1172,7 @@ class QuotasApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/quotas/account-groups/unassign', + resource_path='/quotas/account-groups/unassign', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1208,7 +1207,7 @@ class QuotasApi: ) -> None: """Remove organization quotas - This endpoint recieves a list of organization IDs to remove their current quota. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. + This operation recieves a list of organization IDs to remove their current quota. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. :param quotas_unassign: :type quotas_unassign: QuotasUnassign @@ -1282,7 +1281,7 @@ class QuotasApi: ) -> ApiResponse[None]: """Remove organization quotas - This endpoint recieves a list of organization IDs to remove their current quota. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. + This operation recieves a list of organization IDs to remove their current quota. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. :param quotas_unassign: :type quotas_unassign: QuotasUnassign @@ -1356,7 +1355,7 @@ class QuotasApi: ) -> RESTResponseType: """Remove organization quotas - This endpoint recieves a list of organization IDs to remove their current quota. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. + This operation recieves a list of organization IDs to remove their current quota. To use this endpoint, you need the `Edit organization and account group quotas` permission, which is a management-level permission. :param quotas_unassign: :type quotas_unassign: QuotasUnassign @@ -1465,7 +1464,7 @@ class QuotasApi: return self.api_client.param_serialize( method='POST', - resource_path='/v7/quotas/unassign', + resource_path='/quotas/unassign', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/api/usage_api.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/api/usage_api.py index 00af3756..346893ef 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/api/usage_api.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/api/usage_api.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -24,7 +23,7 @@ from pydantic import Field, StrictStr from typing import List, Optional from typing_extensions import Annotated from thousandeyes_sdk.usage.models.enterprise_agents_usage import EnterpriseAgentsUsage -from thousandeyes_sdk.usage.models.expand import Expand +from thousandeyes_sdk.usage.models.expand_usage_options import ExpandUsageOptions from thousandeyes_sdk.usage.models.tests_usage import TestsUsage from thousandeyes_sdk.usage.models.usage import Usage @@ -68,7 +67,7 @@ class UsageApi: ) -> EnterpriseAgentsUsage: """Get enterprise agent usage - This endpoint returns the organization's enterprise agents usage for a specific time period, or the curent billing cycle if no time period is specified. In the `/v7/usage` API, a shared enterprise agent's usage is reported in the account group where the agent was created (i.e Primary Account Group). However in this API, the shared agent's usage is distributed among all the account groups where the tests are running on the particular agent. This API is also only available to customers on usage based pricing model. + This operation returns the organization's enterprise agents usage for a specific time period, or the curent billing cycle if no time period is specified. In the `/v7/usage` API, a shared enterprise agent's usage is reported in the account group where the agent was created (i.e Primary Account Group). However in this API, the shared agent's usage is distributed among all the account groups where the tests are running on the particular agent. This API is also only available to customers on usage based pricing model. :param start_date: Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. :type start_date: datetime @@ -150,7 +149,7 @@ class UsageApi: ) -> ApiResponse[EnterpriseAgentsUsage]: """Get enterprise agent usage - This endpoint returns the organization's enterprise agents usage for a specific time period, or the curent billing cycle if no time period is specified. In the `/v7/usage` API, a shared enterprise agent's usage is reported in the account group where the agent was created (i.e Primary Account Group). However in this API, the shared agent's usage is distributed among all the account groups where the tests are running on the particular agent. This API is also only available to customers on usage based pricing model. + This operation returns the organization's enterprise agents usage for a specific time period, or the curent billing cycle if no time period is specified. In the `/v7/usage` API, a shared enterprise agent's usage is reported in the account group where the agent was created (i.e Primary Account Group). However in this API, the shared agent's usage is distributed among all the account groups where the tests are running on the particular agent. This API is also only available to customers on usage based pricing model. :param start_date: Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. :type start_date: datetime @@ -232,7 +231,7 @@ class UsageApi: ) -> RESTResponseType: """Get enterprise agent usage - This endpoint returns the organization's enterprise agents usage for a specific time period, or the curent billing cycle if no time period is specified. In the `/v7/usage` API, a shared enterprise agent's usage is reported in the account group where the agent was created (i.e Primary Account Group). However in this API, the shared agent's usage is distributed among all the account groups where the tests are running on the particular agent. This API is also only available to customers on usage based pricing model. + This operation returns the organization's enterprise agents usage for a specific time period, or the curent billing cycle if no time period is specified. In the `/v7/usage` API, a shared enterprise agent's usage is reported in the account group where the agent was created (i.e Primary Account Group). However in this API, the shared agent's usage is distributed among all the account groups where the tests are running on the particular agent. This API is also only available to customers on usage based pricing model. :param start_date: Use with the `endDate` parameter. Include the complete time (hours, minutes, and seconds) in UTC time zone, following the ISO 8601 date-time format. See the example for reference. Please note that this parameter can't be used with `window`. :type start_date: datetime @@ -365,7 +364,7 @@ class UsageApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/usage/units/enterprise-agents', + resource_path='/usage/units/enterprise-agents', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -403,7 +402,7 @@ class UsageApi: ) -> TestsUsage: """Get cloud and enterprise agents units usage - This endpoint returns the cloud and enterprise agents usage for all the tests for a specific time period, or the curent billing cycle if no time period is specified. In the `/v7/usage` API, an enterprise agent's usage is reported in the account group where the agent was created (i.e Primary Account Group). However in this API, the agent's usage is distributed among all the account groups where the tests are running on the particular agent. This API is also only available to customers on usage based pricing model. + This operation returns the cloud and enterprise agents usage for all the tests for a specific time period, or the curent billing cycle if no time period is specified. In the `/v7/usage` API, an enterprise agent's usage is reported in the account group where the agent was created (i.e Primary Account Group). However in this API, the agent's usage is distributed among all the account groups where the tests are running on the particular agent. This API is also only available to customers on usage based pricing model. :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 @@ -489,7 +488,7 @@ class UsageApi: ) -> ApiResponse[TestsUsage]: """Get cloud and enterprise agents units usage - This endpoint returns the cloud and enterprise agents usage for all the tests for a specific time period, or the curent billing cycle if no time period is specified. In the `/v7/usage` API, an enterprise agent's usage is reported in the account group where the agent was created (i.e Primary Account Group). However in this API, the agent's usage is distributed among all the account groups where the tests are running on the particular agent. This API is also only available to customers on usage based pricing model. + This operation returns the cloud and enterprise agents usage for all the tests for a specific time period, or the curent billing cycle if no time period is specified. In the `/v7/usage` API, an enterprise agent's usage is reported in the account group where the agent was created (i.e Primary Account Group). However in this API, the agent's usage is distributed among all the account groups where the tests are running on the particular agent. This API is also only available to customers on usage based pricing model. :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 @@ -575,7 +574,7 @@ class UsageApi: ) -> RESTResponseType: """Get cloud and enterprise agents units usage - This endpoint returns the cloud and enterprise agents usage for all the tests for a specific time period, or the curent billing cycle if no time period is specified. In the `/v7/usage` API, an enterprise agent's usage is reported in the account group where the agent was created (i.e Primary Account Group). However in this API, the agent's usage is distributed among all the account groups where the tests are running on the particular agent. This API is also only available to customers on usage based pricing model. + This operation returns the cloud and enterprise agents usage for all the tests for a specific time period, or the curent billing cycle if no time period is specified. In the `/v7/usage` API, an enterprise agent's usage is reported in the account group where the agent was created (i.e Primary Account Group). However in this API, the agent's usage is distributed among all the account groups where the tests are running on the particular agent. This API is also only available to customers on usage based pricing model. :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 @@ -716,7 +715,7 @@ class UsageApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/usage/units/tests', + resource_path='/usage/units/tests', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -736,7 +735,7 @@ class UsageApi: def get_usage( 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, - expand: Annotated[Optional[List[Expand]], Field(description="Expands the available resources. By default, no expansion takes place if the `expand` query parameter is not passed. For example, to expand the \"tests\" resource, pass the query '?expand=test'.")] = None, + expand: Annotated[Optional[List[ExpandUsageOptions]], Field(description="Expands the available resources. By default, no expansion takes place if the `expand` query parameter is not passed. For example, to expand the \"tests\" resource, pass the query '?expand=test'.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -752,12 +751,12 @@ class UsageApi: ) -> Usage: """Get usage information for the last month - This endpoint returns usage for the current period. It provides visibility across all account groups within an organization. To access this endpoint, you need the `View Billing` permission (a management permission). If you have access to view billing in multiple organizations, query the endpoint using an `aid` querystring parameter (see optional parameters, below) from each organization. **Note:** Access to billing information older than one month is not supported by this endpoint. + This operation returns usage for the current period. It provides visibility across all account groups within an organization. To access this endpoint, you need the `View Billing` permission (a management permission). If you have access to view billing in multiple organizations, query the endpoint using an `aid` querystring parameter (see optional parameters, below) from each organization. **Note:** Access to billing information older than one month is not supported by this endpoint. :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 expand: Expands the available resources. By default, no expansion takes place if the `expand` query parameter is not passed. For example, to expand the \"tests\" resource, pass the query '?expand=test'. - :type expand: List[Expand] + :type expand: List[ExpandUsageOptions] :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 @@ -814,7 +813,7 @@ class UsageApi: def get_usage_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, - expand: Annotated[Optional[List[Expand]], Field(description="Expands the available resources. By default, no expansion takes place if the `expand` query parameter is not passed. For example, to expand the \"tests\" resource, pass the query '?expand=test'.")] = None, + expand: Annotated[Optional[List[ExpandUsageOptions]], Field(description="Expands the available resources. By default, no expansion takes place if the `expand` query parameter is not passed. For example, to expand the \"tests\" resource, pass the query '?expand=test'.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -830,12 +829,12 @@ class UsageApi: ) -> ApiResponse[Usage]: """Get usage information for the last month - This endpoint returns usage for the current period. It provides visibility across all account groups within an organization. To access this endpoint, you need the `View Billing` permission (a management permission). If you have access to view billing in multiple organizations, query the endpoint using an `aid` querystring parameter (see optional parameters, below) from each organization. **Note:** Access to billing information older than one month is not supported by this endpoint. + This operation returns usage for the current period. It provides visibility across all account groups within an organization. To access this endpoint, you need the `View Billing` permission (a management permission). If you have access to view billing in multiple organizations, query the endpoint using an `aid` querystring parameter (see optional parameters, below) from each organization. **Note:** Access to billing information older than one month is not supported by this endpoint. :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 expand: Expands the available resources. By default, no expansion takes place if the `expand` query parameter is not passed. For example, to expand the \"tests\" resource, pass the query '?expand=test'. - :type expand: List[Expand] + :type expand: List[ExpandUsageOptions] :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 @@ -892,7 +891,7 @@ class UsageApi: def get_usage_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, - expand: Annotated[Optional[List[Expand]], Field(description="Expands the available resources. By default, no expansion takes place if the `expand` query parameter is not passed. For example, to expand the \"tests\" resource, pass the query '?expand=test'.")] = None, + expand: Annotated[Optional[List[ExpandUsageOptions]], Field(description="Expands the available resources. By default, no expansion takes place if the `expand` query parameter is not passed. For example, to expand the \"tests\" resource, pass the query '?expand=test'.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -908,12 +907,12 @@ class UsageApi: ) -> RESTResponseType: """Get usage information for the last month - This endpoint returns usage for the current period. It provides visibility across all account groups within an organization. To access this endpoint, you need the `View Billing` permission (a management permission). If you have access to view billing in multiple organizations, query the endpoint using an `aid` querystring parameter (see optional parameters, below) from each organization. **Note:** Access to billing information older than one month is not supported by this endpoint. + This operation returns usage for the current period. It provides visibility across all account groups within an organization. To access this endpoint, you need the `View Billing` permission (a management permission). If you have access to view billing in multiple organizations, query the endpoint using an `aid` querystring parameter (see optional parameters, below) from each organization. **Note:** Access to billing information older than one month is not supported by this endpoint. :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 expand: Expands the available resources. By default, no expansion takes place if the `expand` query parameter is not passed. For example, to expand the \"tests\" resource, pass the query '?expand=test'. - :type expand: List[Expand] + :type expand: List[ExpandUsageOptions] :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 @@ -1016,7 +1015,7 @@ class UsageApi: return self.api_client.param_serialize( method='GET', - resource_path='/v7/usage', + resource_path='/usage', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/__init__.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/__init__.py index 4a31250e..8568b5f3 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/__init__.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/__init__.py @@ -4,9 +4,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -15,15 +14,15 @@ # import models into model package from thousandeyes_sdk.usage.models.account_group_quota import AccountGroupQuota -from thousandeyes_sdk.usage.models.endpoint_agents import EndpointAgents from thousandeyes_sdk.usage.models.endpoint_agents_embedded import EndpointAgentsEmbedded from thousandeyes_sdk.usage.models.endpoint_agents_essentials import EndpointAgentsEssentials +from thousandeyes_sdk.usage.models.endpoint_agents_usage import EndpointAgentsUsage from thousandeyes_sdk.usage.models.enterprise_agent_units import EnterpriseAgentUnits from thousandeyes_sdk.usage.models.enterprise_agent_units_by_test_owner_account_group import EnterpriseAgentUnitsByTestOwnerAccountGroup from thousandeyes_sdk.usage.models.enterprise_agents import EnterpriseAgents from thousandeyes_sdk.usage.models.enterprise_agents_usage import EnterpriseAgentsUsage from thousandeyes_sdk.usage.models.error import Error -from thousandeyes_sdk.usage.models.expand import Expand +from thousandeyes_sdk.usage.models.expand_usage_options import ExpandUsageOptions from thousandeyes_sdk.usage.models.link import Link from thousandeyes_sdk.usage.models.organization_quota import OrganizationQuota from thousandeyes_sdk.usage.models.organization_quota_assignment import OrganizationQuotaAssignment @@ -37,7 +36,7 @@ from thousandeyes_sdk.usage.models.quotas_assign_request import QuotasAssignRequ from thousandeyes_sdk.usage.models.quotas_assign_response import QuotasAssignResponse from thousandeyes_sdk.usage.models.quotas_unassign import QuotasUnassign from thousandeyes_sdk.usage.models.self_links import SelfLinks -from thousandeyes_sdk.usage.models.tests import Tests +from thousandeyes_sdk.usage.models.test_usage import TestUsage from thousandeyes_sdk.usage.models.tests_usage import TestsUsage from thousandeyes_sdk.usage.models.unauthorized_error import UnauthorizedError from thousandeyes_sdk.usage.models.units_by_tests import UnitsByTests diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/account_group_quota.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/account_group_quota.py index 9720217c..90cd7a73 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/account_group_quota.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/account_group_quota.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/endpoint_agents_embedded.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/endpoint_agents_embedded.py index 1e0eb07a..5b386656 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/endpoint_agents_embedded.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/endpoint_agents_embedded.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/endpoint_agents_essentials.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/endpoint_agents_essentials.py index d85b7a34..d5c588b0 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/endpoint_agents_essentials.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/endpoint_agents_essentials.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/endpoint_agents.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/endpoint_agents_usage.py similarity index 76% rename from thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/endpoint_agents.py rename to thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/endpoint_agents_usage.py index be8e5a41..3fa8b16d 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/endpoint_agents.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/endpoint_agents_usage.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,9 +21,9 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self -class EndpointAgents(BaseModel): +class EndpointAgentsUsage(BaseModel): """ - EndpointAgents + EndpointAgentsUsage """ # noqa: E501 aid: Optional[StrictStr] = Field(default=None, description="Unique identifier of the account group owning the endpoint agents.") account_group_name: Optional[StrictStr] = Field(default=None, description="Name of the account group which owns the endpoint agents.", alias="accountGroupName") @@ -50,7 +49,7 @@ class EndpointAgents(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of EndpointAgents from a JSON string""" + """Create an instance of EndpointAgentsUsage from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -75,7 +74,7 @@ class EndpointAgents(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of EndpointAgents from a dict""" + """Create an instance of EndpointAgentsUsage from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/enterprise_agent_units.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/enterprise_agent_units.py index dbddee82..0eeb0904 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/enterprise_agent_units.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/enterprise_agent_units.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/enterprise_agent_units_by_test_owner_account_group.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/enterprise_agent_units_by_test_owner_account_group.py index 0fd9b4b0..eff20966 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/enterprise_agent_units_by_test_owner_account_group.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/enterprise_agent_units_by_test_owner_account_group.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/enterprise_agents.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/enterprise_agents.py index 41f47a76..a8bbf848 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/enterprise_agents.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/enterprise_agents.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/enterprise_agents_usage.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/enterprise_agents_usage.py index 6a89954a..bb8dea43 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/enterprise_agents_usage.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/enterprise_agents_usage.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/error.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/error.py index fa6a9834..bceb544c 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/error.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/error.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/expand.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/expand.py deleted file mode 100644 index 845e663c..00000000 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/expand.py +++ /dev/null @@ -1,41 +0,0 @@ -# coding: utf-8 - -""" - Usage API - - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. - - The version of the OpenAPI document: 7.0.8 - 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 Expand(str, Enum): - """ - Expand - """ - - """ - allowed enum values - """ - TEST = 'test' - ENTERPRISE_MINUS_AGENT = 'enterprise-agent' - ENTERPRISE_MINUS_AGENT_MINUS_UNIT = 'enterprise-agent-unit' - ENDPOINT_MINUS_AGENT = 'endpoint-agent' - ENDPOINT_MINUS_AGENT_MINUS_ESSENTIAL = 'endpoint-agent-essential' - ENDPOINT_MINUS_AGENT_MINUS_EMBEDDED = 'endpoint-agent-embedded' - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Create an instance of Expand from a JSON string""" - return cls(json.loads(json_str)) - - diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/expand_usage_options.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/expand_usage_options.py new file mode 100644 index 00000000..d5ac8d0a --- /dev/null +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/expand_usage_options.py @@ -0,0 +1,45 @@ +# coding: utf-8 + +""" + Usage API + + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. + + 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 ExpandUsageOptions(str, Enum): + """ + ExpandUsageOptions + """ + + """ + allowed enum values + """ + TEST = 'test' + ENTERPRISE_MINUS_AGENT = 'enterprise-agent' + ENTERPRISE_MINUS_AGENT_MINUS_UNIT = 'enterprise-agent-unit' + ENDPOINT_MINUS_AGENT = 'endpoint-agent' + ENDPOINT_MINUS_AGENT_MINUS_ESSENTIAL = 'endpoint-agent-essential' + ENDPOINT_MINUS_AGENT_MINUS_EMBEDDED = 'endpoint-agent-embedded' + UNKNOWN = 'unknown' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ExpandUsageOptions from a JSON string""" + return cls(json.loads(json_str)) + + @classmethod + def _missing_(cls, value): + """Handle unknown values""" + return cls.UNKNOWN + diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/link.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/link.py index f6b87931..37d2b0dd 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/link.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/link.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organization_quota.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organization_quota.py index cdc820fa..8201a64e 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organization_quota.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organization_quota.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organization_quota_assignment.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organization_quota_assignment.py index c9aeb74b..bd7699f7 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organization_quota_assignment.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organization_quota_assignment.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organization_quota_unassignment.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organization_quota_unassignment.py index 41bb07f6..9ca081ef 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organization_quota_unassignment.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organization_quota_unassignment.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organizations_quotas_assign.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organizations_quotas_assign.py index b0c84843..4400c114 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organizations_quotas_assign.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organizations_quotas_assign.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organizations_quotas_unassign.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organizations_quotas_unassign.py index c82fb71f..64a60e76 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organizations_quotas_unassign.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/organizations_quotas_unassign.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/pagination_links.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/pagination_links.py index 983074c7..e9ff6ed6 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/pagination_links.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/pagination_links.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quota.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quota.py index 8de85b25..a467e5b2 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quota.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quota.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quotas.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quotas.py index abd61f2d..52b3084e 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quotas.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quotas.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quotas_assign_request.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quotas_assign_request.py index 8b03c1f0..7a4fdaec 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quotas_assign_request.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quotas_assign_request.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quotas_assign_response.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quotas_assign_response.py index 7d573db7..1fb20d0c 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quotas_assign_response.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quotas_assign_response.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quotas_unassign.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quotas_unassign.py index da3fdf37..1a134dc0 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quotas_unassign.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/quotas_unassign.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/self_links.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/self_links.py index c6788d7e..efafa9e9 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/self_links.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/self_links.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/tests.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/test_usage.py similarity index 82% rename from thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/tests.py rename to thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/test_usage.py index 53e5e151..83a040d5 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/tests.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/test_usage.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -22,9 +21,9 @@ from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self -class Tests(BaseModel): +class TestUsage(BaseModel): """ - Tests + TestUsage """ # noqa: E501 aid: Optional[StrictStr] = Field(default=None, description="Unique identifier of the account group which owns the test.") account_group_name: Optional[StrictStr] = Field(default=None, description="Name of the account group which owns the test.", alias="accountGroupName") @@ -54,7 +53,7 @@ class Tests(BaseModel): @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of Tests from a JSON string""" + """Create an instance of TestUsage from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -79,7 +78,7 @@ class Tests(BaseModel): @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of Tests from a dict""" + """Create an instance of TestUsage from a dict""" if obj is None: return None diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/tests_usage.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/tests_usage.py index c64d1f76..9358eecc 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/tests_usage.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/tests_usage.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/unauthorized_error.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/unauthorized_error.py index 62839a99..d99115a0 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/unauthorized_error.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/unauthorized_error.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/units_by_tests.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/units_by_tests.py index 8597270b..f81a77a2 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/units_by_tests.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/units_by_tests.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -34,7 +33,7 @@ class UnitsByTests(BaseModel): cloud_units_projected: Optional[StrictInt] = Field(default=None, description="Cloud Units projected in the current usage period, based on units consumed to date and configuration of the test", alias="cloudUnitsProjected") test_id: Optional[StrictStr] = Field(default=None, description="Unique ID of the test generating usage", alias="testId") test_name: Optional[StrictStr] = Field(default=None, description="Name of the test generating usage", alias="testName") - test_type: Optional[StrictStr] = Field(default=None, description="Type of test generating usage. Note that this is a friendly testType entry (so it shouldn’t be parsed to discover the correct endpoint to query for configuration details).", alias="testType") + test_type: Optional[StrictStr] = Field(default=None, description="Type of test generating usage. Note that this is a friendly testType entry (so it shouldn’t be parsed to discover the correct operation to query for configuration details).", alias="testType") is_instant_test: Optional[StrictBool] = Field(default=None, description="Indicates whether the test is scheduled or instant", alias="isInstantTest") __properties: ClassVar[List[str]] = ["aid", "accountGroupName", "enterpriseUnitsUsed", "enterpriseUnitsProjected", "cloudUnitsUsed", "cloudUnitsProjected", "testId", "testName", "testType", "isInstantTest"] diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/usage.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/usage.py index 6a338474..96cd212c 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/usage.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/usage.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/usage_details.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/usage_details.py index bfcf7a94..570f230c 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/usage_details.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/usage_details.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -19,12 +18,12 @@ import json from pydantic import BaseModel, ConfigDict, Field, StrictInt from typing import Any, ClassVar, Dict, List, Optional -from thousandeyes_sdk.usage.models.endpoint_agents import EndpointAgents from thousandeyes_sdk.usage.models.endpoint_agents_embedded import EndpointAgentsEmbedded from thousandeyes_sdk.usage.models.endpoint_agents_essentials import EndpointAgentsEssentials +from thousandeyes_sdk.usage.models.endpoint_agents_usage import EndpointAgentsUsage from thousandeyes_sdk.usage.models.enterprise_agent_units import EnterpriseAgentUnits from thousandeyes_sdk.usage.models.enterprise_agents import EnterpriseAgents -from thousandeyes_sdk.usage.models.tests import Tests +from thousandeyes_sdk.usage.models.test_usage import TestUsage from thousandeyes_sdk.usage.models.usage_quota import UsageQuota from typing import Optional, Set from typing_extensions import Self @@ -39,18 +38,21 @@ class UsageDetails(BaseModel): cloud_units_next_billing_period: Optional[StrictInt] = Field(default=None, description="Number of cloud units projected in the upcoming usage period, based on configuration of enabled tests. This value is updated hourly.", alias="cloudUnitsNextBillingPeriod") enterprise_units_used: Optional[StrictInt] = Field(default=None, description="Number of enterprise units consumed in the usage period. Returns non-zero value only for organizations with metered billing.", alias="enterpriseUnitsUsed") enterprise_units_projected: Optional[StrictInt] = Field(default=None, description="Number of enterprise units projected in the current usage period, based on units consumed to date and configuration of enabled tests. This value is updated hourly. Returns non-zero value only for organizations with metered billing.", alias="enterpriseUnitsProjected") - enterprise_units_next_billing_period: Optional[StrictInt] = Field(default=None, description="Number of enterprise units projected in the upcoming usage period, based on configuration of enabled tests. This value is updated hourly. Returns non-zero value only for organizations with metered billing.", alias="enterpriseUnitsNextBillingPeriod") + enterprise_units_next_billing_period: Optional[StrictInt] = Field(default=None, description="Projected number of enterprise units for the upcoming usage period, based on the configuration of enabled tests. This value is updated hourly and returns a non-zero value only for organizations with metered billing.", alias="enterpriseUnitsNextBillingPeriod") + connected_devices_units_used: Optional[StrictInt] = Field(default=None, description="Number of connected device units consumed in the usage period.", alias="connectedDevicesUnitsUsed") + connected_devices_units_projected: Optional[StrictInt] = Field(default=None, description="Projected number of connected device units for the current usage period. This projection is based on the units consumed to date and the configuration of enabled tests. The value is updated hourly.", alias="connectedDevicesUnitsProjected") + connected_devices_units_next_billing_period: Optional[StrictInt] = Field(default=None, description="Projected number of connected device units for the upcoming usage period. This projection is based on the configuration of enabled tests and is updated hourly.", alias="connectedDevicesUnitsNextBillingPeriod") endpoint_agents_used: Optional[StrictInt] = Field(default=None, description="Number of endpoint agents used in the current usage period. This number is calculated by taking the maximum number of agents enabled for any one-hour period in the usage period. Disabled agents are excluded from this calculation.", alias="endpointAgentsUsed") endpoint_agents_essentials_used: Optional[StrictInt] = Field(default=None, description="Number of endpoint agents essentials used in the current usage period. This number is calculated by taking the maximum number of agents enabled for any one-hour period in the usage period. Disabled agents are excluded from this calculation.", alias="endpointAgentsEssentialsUsed") endpoint_agents_embedded_used: Optional[StrictInt] = Field(default=None, description="Number of embedded endpoint agents used in the current usage period. This number is calculated by taking the maximum number of agents enabled for any one-hour period in the usage period. Disabled agents are excluded from this calculation.", alias="endpointAgentsEmbeddedUsed") enterprise_agents_used: Optional[StrictInt] = Field(default=None, description="Number of enterprise agents used in the current usage period. This number is calculated by taking the maximum number of agents enabled for any one-hour period in the usage period. Disabled agents are excluded from this calculation.", alias="enterpriseAgentsUsed") enterprise_agent_units: Optional[List[EnterpriseAgentUnits]] = Field(default=None, description="A breakdown of enterprise unit consumption for each agent during the current monthly period. Each entry provides data for both the current actual usage and the projected usage. Returns non-zero values for organizations with metered billing.", alias="enterpriseAgentUnits") - tests: Optional[List[Tests]] = Field(default=None, description="A breakdown of unit consumption for each test during the current monthly period. Each entry provides information about both the current actual usage and the projected usage.") - endpoint_agents: Optional[List[EndpointAgents]] = Field(default=None, description="Endpoint agents used by account group.", alias="endpointAgents") + tests: Optional[List[TestUsage]] = Field(default=None, description="A breakdown of unit consumption for each test during the current monthly period. Each entry provides information about both the current actual usage and the projected usage.") + endpoint_agents: Optional[List[EndpointAgentsUsage]] = Field(default=None, description="Endpoint agents used by account group.", alias="endpointAgents") endpoint_agents_essentials: Optional[List[EndpointAgentsEssentials]] = Field(default=None, description="Endpoint agents essentials used by account group.", alias="endpointAgentsEssentials") endpoint_agents_embedded: Optional[List[EndpointAgentsEmbedded]] = Field(default=None, description="Endpoint agents embedded used by account group.", alias="endpointAgentsEmbedded") enterprise_agents: Optional[List[EnterpriseAgents]] = Field(default=None, description="Enterprise agents used by account group.", alias="enterpriseAgents") - __properties: ClassVar[List[str]] = ["quota", "cloudUnitsUsed", "cloudUnitsProjected", "cloudUnitsNextBillingPeriod", "enterpriseUnitsUsed", "enterpriseUnitsProjected", "enterpriseUnitsNextBillingPeriod", "endpointAgentsUsed", "endpointAgentsEssentialsUsed", "endpointAgentsEmbeddedUsed", "enterpriseAgentsUsed", "enterpriseAgentUnits", "tests", "endpointAgents", "endpointAgentsEssentials", "endpointAgentsEmbedded", "enterpriseAgents"] + __properties: ClassVar[List[str]] = ["quota", "cloudUnitsUsed", "cloudUnitsProjected", "cloudUnitsNextBillingPeriod", "enterpriseUnitsUsed", "enterpriseUnitsProjected", "enterpriseUnitsNextBillingPeriod", "connectedDevicesUnitsUsed", "connectedDevicesUnitsProjected", "connectedDevicesUnitsNextBillingPeriod", "endpointAgentsUsed", "endpointAgentsEssentialsUsed", "endpointAgentsEmbeddedUsed", "enterpriseAgentsUsed", "enterpriseAgentUnits", "tests", "endpointAgents", "endpointAgentsEssentials", "endpointAgentsEmbedded", "enterpriseAgents"] model_config = ConfigDict( populate_by_name=True, @@ -156,13 +158,16 @@ class UsageDetails(BaseModel): "enterpriseUnitsUsed": obj.get("enterpriseUnitsUsed"), "enterpriseUnitsProjected": obj.get("enterpriseUnitsProjected"), "enterpriseUnitsNextBillingPeriod": obj.get("enterpriseUnitsNextBillingPeriod"), + "connectedDevicesUnitsUsed": obj.get("connectedDevicesUnitsUsed"), + "connectedDevicesUnitsProjected": obj.get("connectedDevicesUnitsProjected"), + "connectedDevicesUnitsNextBillingPeriod": obj.get("connectedDevicesUnitsNextBillingPeriod"), "endpointAgentsUsed": obj.get("endpointAgentsUsed"), "endpointAgentsEssentialsUsed": obj.get("endpointAgentsEssentialsUsed"), "endpointAgentsEmbeddedUsed": obj.get("endpointAgentsEmbeddedUsed"), "enterpriseAgentsUsed": obj.get("enterpriseAgentsUsed"), "enterpriseAgentUnits": [EnterpriseAgentUnits.from_dict(_item) for _item in obj["enterpriseAgentUnits"]] if obj.get("enterpriseAgentUnits") is not None else None, - "tests": [Tests.from_dict(_item) for _item in obj["tests"]] if obj.get("tests") is not None else None, - "endpointAgents": [EndpointAgents.from_dict(_item) for _item in obj["endpointAgents"]] if obj.get("endpointAgents") is not None else None, + "tests": [TestUsage.from_dict(_item) for _item in obj["tests"]] if obj.get("tests") is not None else None, + "endpointAgents": [EndpointAgentsUsage.from_dict(_item) for _item in obj["endpointAgents"]] if obj.get("endpointAgents") is not None else None, "endpointAgentsEssentials": [EndpointAgentsEssentials.from_dict(_item) for _item in obj["endpointAgentsEssentials"]] if obj.get("endpointAgentsEssentials") is not None else None, "endpointAgentsEmbedded": [EndpointAgentsEmbedded.from_dict(_item) for _item in obj["endpointAgentsEmbedded"]] if obj.get("endpointAgentsEmbedded") is not None else None, "enterpriseAgents": [EnterpriseAgents.from_dict(_item) for _item in obj["enterpriseAgents"]] if obj.get("enterpriseAgents") is not None else None diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/usage_quota.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/usage_quota.py index 3dfe11f4..5de95572 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/usage_quota.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/usage_quota.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -30,11 +29,12 @@ class UsageQuota(BaseModel): month_start: Optional[datetime] = Field(default=None, description="Beginning of usage period in UTC (ISO date-time format).", alias="monthStart") month_end: Optional[datetime] = Field(default=None, description="End of usage period in UTC (ISO date-time format)..", alias="monthEnd") cloud_units_included: Optional[StrictInt] = Field(default=None, description="Monthly number of cloud units allocated, as part of the contract.", alias="cloudUnitsIncluded") + device_agents_included: Optional[StrictInt] = Field(default=None, description="Number of device agents (connected devices product) allocated monthly, as specified in the contract.", alias="deviceAgentsIncluded") endpoint_agents_included: Optional[StrictInt] = Field(default=None, description="Monthly number of endpoint agents allocated, as part of the contract.", alias="endpointAgentsIncluded") endpoint_agents_essentials_included: Optional[StrictInt] = Field(default=None, description="Monthly number of endpoint agents essentials allocated, as part of the contract.", alias="endpointAgentsEssentialsIncluded") endpoint_agents_embedded_included: Optional[StrictInt] = Field(default=None, description="Number of embedded endpoint agents allocated monthly, as specified in the contract.", alias="endpointAgentsEmbeddedIncluded") enterprise_agents_included: Optional[StrictInt] = Field(default=None, description="Monthly number of enterprise agents allocated, as part of the contract. Returns non-zero value only for organizations with legacy billing.", alias="enterpriseAgentsIncluded") - __properties: ClassVar[List[str]] = ["monthStart", "monthEnd", "cloudUnitsIncluded", "endpointAgentsIncluded", "endpointAgentsEssentialsIncluded", "endpointAgentsEmbeddedIncluded", "enterpriseAgentsIncluded"] + __properties: ClassVar[List[str]] = ["monthStart", "monthEnd", "cloudUnitsIncluded", "deviceAgentsIncluded", "endpointAgentsIncluded", "endpointAgentsEssentialsIncluded", "endpointAgentsEmbeddedIncluded", "enterpriseAgentsIncluded"] model_config = ConfigDict( populate_by_name=True, @@ -91,6 +91,7 @@ class UsageQuota(BaseModel): "monthStart": obj.get("monthStart"), "monthEnd": obj.get("monthEnd"), "cloudUnitsIncluded": obj.get("cloudUnitsIncluded"), + "deviceAgentsIncluded": obj.get("deviceAgentsIncluded"), "endpointAgentsIncluded": obj.get("endpointAgentsIncluded"), "endpointAgentsEssentialsIncluded": obj.get("endpointAgentsEssentialsIncluded"), "endpointAgentsEmbeddedIncluded": obj.get("endpointAgentsEmbeddedIncluded"), diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/validation_error.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/validation_error.py index df81f7ed..ac17846f 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/validation_error.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/validation_error.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/validation_error_item.py b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/validation_error_item.py index 414127c7..621e8e7b 100644 --- a/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/validation_error_item.py +++ b/thousandeyes-sdk-usage/src/thousandeyes_sdk/usage/models/validation_error_item.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-usage/test/test_quotas_api.py b/thousandeyes-sdk-usage/test/test_quotas_api.py index 77f5a0fa..3df0be5e 100644 --- a/thousandeyes-sdk-usage/test/test_quotas_api.py +++ b/thousandeyes-sdk-usage/test/test_quotas_api.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/thousandeyes-sdk-usage/test/test_usage_api.py b/thousandeyes-sdk-usage/test/test_usage_api.py index 5977f8d0..a48b3b10 100644 --- a/thousandeyes-sdk-usage/test/test_usage_api.py +++ b/thousandeyes-sdk-usage/test/test_usage_api.py @@ -3,9 +3,8 @@ """ Usage API - These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View Billing` permission to access this endpoint. * This endpoint offers visibility across all account groups within the organization. * Users with `View Billing` permission in multiple organizations should query the endpoint with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API endpoints for detailed usage instructions and optional parameters. + These usage endpoints define the following operations: * **Usage**: Retrieve usage data for the specified time period (default is one month). * Users must have the `View organization usage` permission to access this endpoint. * This operation offers visibility across all account groups within the organization. * Users with `View organization usage` permission in multiple organizations should query the operation with the `aid` query string parameter (see optional parameters) for each organization. * **Quotas**: Obtain organization and account usage quotas. Additionally, users with the appropriate permissions can create, update, or delete these quotas. * Users must have the necessary permissions to perform quota-related actions. Refer to the Usage API operations for detailed usage instructions and optional parameters. - The version of the OpenAPI document: 7.0.8 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -172,6 +171,7 @@ class TestUsageApi(unittest.TestCase): }, "usage" : { "cloudUnitsProjected" : 20993812, + "connectedDevicesUnitsUsed" : 79640902, "enterpriseAgentsUsed" : 58, "endpointAgents" : [ { "aid" : "1234", @@ -187,6 +187,8 @@ class TestUsageApi(unittest.TestCase): "endpointAgentsUsed" : 42, "enterpriseUnitsUsed" : 79640902, "cloudUnitsUsed" : 8500489, + "connectedDevicesUnitsNextBillingPeriod" : 0, + "connectedDevicesUnitsProjected" : 108016317, "tests" : [ { "aid" : "1234", "testId" : "1158", @@ -220,6 +222,7 @@ class TestUsageApi(unittest.TestCase): "enterpriseAgentsIncluded" : 25, "monthStart" : "2020-01-05T08:00:00Z", "cloudUnitsIncluded" : 4320000000, + "deviceAgentsIncluded" : 100, "endpointAgentsIncluded" : 200, "endpointAgentsEssentialsIncluded" : 10 },