diff --git a/thousandeyes-sdk-administrative/README.md b/thousandeyes-sdk-administrative/README.md index 6cb78243..e6c30cf9 100644 --- a/thousandeyes-sdk-administrative/README.md +++ b/thousandeyes-sdk-administrative/README.md @@ -12,7 +12,7 @@ This API provides the following operations to manage your organization: This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 7.0.29 +- API version: 7.0.32 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-agents/README.md b/thousandeyes-sdk-agents/README.md index 53af93ba..0173a373 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.29 +- API version: 7.0.32 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-alerts/README.md b/thousandeyes-sdk-alerts/README.md index 4ca0950b..49d2685e 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.29 +- API version: 7.0.32 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator 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 5b0dec38..042dccfc 100644 --- a/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/state.py +++ b/thousandeyes-sdk-alerts/src/thousandeyes_sdk/alerts/models/state.py @@ -25,7 +25,6 @@ class State(str, Enum): """ allowed enum values """ - ACTIVE = 'active' CLEAR = 'clear' TRIGGER = 'trigger' UNKNOWN = 'unknown' diff --git a/thousandeyes-sdk-alerts/test/test_alerts_api.py b/thousandeyes-sdk-alerts/test/test_alerts_api.py index 47f83451..26c80ce1 100644 --- a/thousandeyes-sdk-alerts/test/test_alerts_api.py +++ b/thousandeyes-sdk-alerts/test/test_alerts_api.py @@ -92,7 +92,7 @@ class TestAlertsApi(unittest.TestCase): "metrics" : "metrics" }, "id" : "3379", - "state" : "active", + "state" : "trigger", "type" : "cea_agent" }, { "name" : "Bucharest, Romania", @@ -103,12 +103,12 @@ class TestAlertsApi(unittest.TestCase): "metrics" : "metrics" }, "id" : "3379", - "state" : "active", + "state" : "trigger", "type" : "cea_agent" } ], "id" : "e9c3bf02-a48c-4aa8-9e5f-898800d6f569", "suppressed" : false, - "state" : "active", + "state" : "trigger", "startDate" : "2022-07-17T22:00:54Z" }""" @@ -186,7 +186,7 @@ class TestAlertsApi(unittest.TestCase): "state" : "ACTIVE", "ruleId" : 127094, "permalink" : "https://app.thousandeyes.com/alerts/list?__a=75&alertId=2783&agentId=12", - "alertState" : "active", + "alertState" : "trigger", "startDate" : "2022-07-17T22:00:54Z", "alertRuleId" : "127094" }, { @@ -254,7 +254,7 @@ class TestAlertsApi(unittest.TestCase): "state" : "ACTIVE", "ruleId" : 127094, "permalink" : "https://app.thousandeyes.com/alerts/list?__a=75&alertId=2783&agentId=12", - "alertState" : "active", + "alertState" : "trigger", "startDate" : "2022-07-17T22:00:54Z", "alertRuleId" : "127094" } ], diff --git a/thousandeyes-sdk-bgp-monitors/README.md b/thousandeyes-sdk-bgp-monitors/README.md index 38696f14..0dd16719 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.29 +- API version: 7.0.32 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-credentials/README.md b/thousandeyes-sdk-credentials/README.md index e68379e7..94ab44a3 100644 --- a/thousandeyes-sdk-credentials/README.md +++ b/thousandeyes-sdk-credentials/README.md @@ -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.29 +- API version: 7.0.32 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-dashboards/README.md b/thousandeyes-sdk-dashboards/README.md index bc0f43a0..e6c0ac33 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.29 +- API version: 7.0.32 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-emulation/README.md b/thousandeyes-sdk-emulation/README.md index b830bf2d..50673005 100644 --- a/thousandeyes-sdk-emulation/README.md +++ b/thousandeyes-sdk-emulation/README.md @@ -9,7 +9,7 @@ To access Emulation API operations, the following permissions are required: This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 7.0.29 +- API version: 7.0.32 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-endpoint-agents/README.md b/thousandeyes-sdk-endpoint-agents/README.md index 5a6d6ba7..c3a0d6f8 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.29 +- API version: 7.0.32 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-endpoint-instant-tests/README.md b/thousandeyes-sdk-endpoint-instant-tests/README.md index 3aadf35b..ea0739eb 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.29 +- API version: 7.0.32 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-endpoint-labels/README.md b/thousandeyes-sdk-endpoint-labels/README.md index a24e427a..f753e3d4 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.29 +- API version: 7.0.32 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-endpoint-test-results/.openapi-generator/FILES b/thousandeyes-sdk-endpoint-test-results/.openapi-generator/FILES index b49795c2..caaef1b1 100644 --- a/thousandeyes-sdk-endpoint-test-results/.openapi-generator/FILES +++ b/thousandeyes-sdk-endpoint-test-results/.openapi-generator/FILES @@ -1,6 +1,7 @@ .openapi-generator-ignore MANIFEST.in README.md +docs/ApplicationMetrics.md docs/ApplicationScoreQuality.md docs/AsnDetails.md docs/ConditionalOperator.md @@ -47,6 +48,7 @@ docs/EndpointTestsDataThresholdFilter.md docs/EndpointTestsDataThresholdFilters.md docs/Error.md docs/ExpandEndpointHttpServerOptions.md +docs/ExpandLocalNetworkTopologyOptions.md docs/GatewayNetworkPing.md docs/HTTPServerEndpointScheduledTestResultsApi.md docs/Hop.md @@ -101,6 +103,7 @@ docs/PathVisEndpointTestResult.md docs/PathVisEndpointTestResults.md docs/PhysicalMemoryUsedBytes.md docs/Platform.md +docs/ProcessMetrics.md docs/RealUserEndpointTest.md docs/RealUserEndpointTestBase.md docs/RealUserEndpointTestCoordinates.md @@ -120,6 +123,7 @@ docs/RealUserEndpointTestResultsApi.md docs/RealUserEndpointTestResultsRequest.md docs/SelfLinks.md docs/SortOrder.md +docs/SystemMetricDetails.md docs/SystemMetrics.md docs/TargetNetworkPing.md docs/TargetProfile.md @@ -155,6 +159,7 @@ src/thousandeyes_sdk/endpoint_test_results/api/network_dynamic_endpoint_test_res 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/application_metrics.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 @@ -201,6 +206,7 @@ src/thousandeyes_sdk/endpoint_test_results/models/endpoint_tests_data_threshold_ 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/expand_endpoint_http_server_options.py +src/thousandeyes_sdk/endpoint_test_results/models/expand_local_network_topology_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 @@ -251,6 +257,7 @@ src/thousandeyes_sdk/endpoint_test_results/models/path_vis_endpoint_test_result. 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/process_metrics.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 @@ -269,6 +276,7 @@ src/thousandeyes_sdk/endpoint_test_results/models/real_user_endpoint_test_result 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/sort_order.py +src/thousandeyes_sdk/endpoint_test_results/models/system_metric_details.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 diff --git a/thousandeyes-sdk-endpoint-test-results/README.md b/thousandeyes-sdk-endpoint-test-results/README.md index 31718ecd..7e28cd7b 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.29 +- API version: 7.0.32 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator @@ -121,6 +121,7 @@ Class | Method | HTTP request | Description ## Documentation For Models + - [ApplicationMetrics](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/ApplicationMetrics.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) @@ -167,6 +168,7 @@ Class | Method | HTTP request | Description - [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) - [ExpandEndpointHttpServerOptions](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/ExpandEndpointHttpServerOptions.md) + - [ExpandLocalNetworkTopologyOptions](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/ExpandLocalNetworkTopologyOptions.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) @@ -217,6 +219,7 @@ Class | Method | HTTP request | Description - [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) + - [ProcessMetrics](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/ProcessMetrics.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) @@ -235,6 +238,7 @@ Class | Method | HTTP request | Description - [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) - [SortOrder](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/SortOrder.md) + - [SystemMetricDetails](https://github.com/thousandeyes/thousandeyes-sdk-python//tree/main/thousandeyes-sdk-endpoint-test-results/docs/SystemMetricDetails.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) diff --git a/thousandeyes-sdk-endpoint-test-results/docs/ApplicationMetrics.md b/thousandeyes-sdk-endpoint-test-results/docs/ApplicationMetrics.md new file mode 100644 index 00000000..b5c716e8 --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/ApplicationMetrics.md @@ -0,0 +1,33 @@ +# ApplicationMetrics + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | The name of the application. | [optional] +**total_cpu** | **float** | The total CPU usage by all application processes. | [optional] +**total_memory_percentage** | **float** | The total percentage of memory used by all application processes. | [optional] +**total_memory_bytes** | **int** | The total memory in bytes used by all application processes. | [optional] +**processes** | [**List[ProcessMetrics]**](ProcessMetrics.md) | A list of application processes. | [optional] + +## Example + +```python +from thousandeyes_sdk.endpoint_test_results.models.application_metrics import ApplicationMetrics + +# TODO update the JSON string below +json = "{}" +# create an instance of ApplicationMetrics from a JSON string +application_metrics_instance = ApplicationMetrics.from_json(json) +# print the JSON string representation of the object +print(ApplicationMetrics.to_json()) + +# convert the object into a dict +application_metrics_dict = application_metrics_instance.to_dict() +# create an instance of ApplicationMetrics from a dict +application_metrics_from_dict = ApplicationMetrics.from_dict(application_metrics_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/ExpandLocalNetworkTopologyOptions.md b/thousandeyes-sdk-endpoint-test-results/docs/ExpandLocalNetworkTopologyOptions.md new file mode 100644 index 00000000..23240644 --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/ExpandLocalNetworkTopologyOptions.md @@ -0,0 +1,11 @@ +# ExpandLocalNetworkTopologyOptions + + +## 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/HttpMultiEndpointTestResults.md b/thousandeyes-sdk-endpoint-test-results/docs/HttpMultiEndpointTestResults.md index 5a059d97..a5bbb8fe 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/HttpMultiEndpointTestResults.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/HttpMultiEndpointTestResults.md @@ -6,7 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **results** | [**List[HttpEndpointTestResult]**](HttpEndpointTestResult.md) | | [optional] -**total_hits** | **int** | Total number of measurements that match the search criteria | [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] diff --git a/thousandeyes-sdk-endpoint-test-results/docs/LocalNetworkEndpointTestResultsApi.md b/thousandeyes-sdk-endpoint-test-results/docs/LocalNetworkEndpointTestResultsApi.md index 28175387..8d70a30d 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/LocalNetworkEndpointTestResultsApi.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/LocalNetworkEndpointTestResultsApi.md @@ -10,7 +10,7 @@ Method | HTTP request | Description # **filter_local_networks_test_results_topologies** -> LocalNetworkTopologyResults 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) +> LocalNetworkTopologyResults filter_local_networks_test_results_topologies(aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, expand=expand, endpoint_network_topology_result_request=endpoint_network_topology_result_request) List endpoint network topologies probes @@ -23,6 +23,7 @@ Returns a list of all endpoint local network topologies probes. Results from th ```python import thousandeyes_sdk.endpoint_test_results from thousandeyes_sdk.endpoint_test_results.models.endpoint_network_topology_result_request import EndpointNetworkTopologyResultRequest +from thousandeyes_sdk.endpoint_test_results.models.expand_local_network_topology_options import ExpandLocalNetworkTopologyOptions from thousandeyes_sdk.endpoint_test_results.models.local_network_topology_results import LocalNetworkTopologyResults from thousandeyes_sdk.endpoint_test_results.rest import ApiException from pprint import pprint @@ -52,11 +53,12 @@ with thousandeyes_sdk.core.ApiClient(configuration) as api_client: 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.ExpandLocalNetworkTopologyOptions()] # List[ExpandLocalNetworkTopologyOptions] | This parameter is optional and determines whether to expand resources related to local network topologies. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as `systemMetricDetails`, append `?expand=system-metric-detail` to the query. (optional) endpoint_network_topology_result_request = thousandeyes_sdk.endpoint_test_results.EndpointNetworkTopologyResultRequest() # EndpointNetworkTopologyResultRequest | (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) + api_response = api_instance.filter_local_networks_test_results_topologies(aid=aid, window=window, start_date=start_date, end_date=end_date, cursor=cursor, expand=expand, endpoint_network_topology_result_request=endpoint_network_topology_result_request) print("The response of LocalNetworkEndpointTestResultsApi->filter_local_networks_test_results_topologies:\n") pprint(api_response) except Exception as e: @@ -75,6 +77,7 @@ 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] + **expand** | [**List[ExpandLocalNetworkTopologyOptions]**](ExpandLocalNetworkTopologyOptions.md)| This parameter is optional and determines whether to expand resources related to local network topologies. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as `systemMetricDetails`, append `?expand=system-metric-detail` to the query. | [optional] **endpoint_network_topology_result_request** | [**EndpointNetworkTopologyResultRequest**](EndpointNetworkTopologyResultRequest.md)| | [optional] ### Return type @@ -190,7 +193,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_local_networks_test_results_topology** -> LocalNetworkTopologyDetailResults get_local_networks_test_results_topology(network_topology_id, aid=aid) +> LocalNetworkTopologyDetailResults get_local_networks_test_results_topology(network_topology_id, aid=aid, expand=expand) Retrieve endpoint local network topology @@ -202,6 +205,7 @@ Returns detailed data of a local network topology. ```python import thousandeyes_sdk.endpoint_test_results +from thousandeyes_sdk.endpoint_test_results.models.expand_local_network_topology_options import ExpandLocalNetworkTopologyOptions from thousandeyes_sdk.endpoint_test_results.models.local_network_topology_detail_results import LocalNetworkTopologyDetailResults from thousandeyes_sdk.endpoint_test_results.rest import ApiException from pprint import pprint @@ -228,10 +232,11 @@ with thousandeyes_sdk.core.ApiClient(configuration) as 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) + expand = [thousandeyes_sdk.endpoint_test_results.ExpandLocalNetworkTopologyOptions()] # List[ExpandLocalNetworkTopologyOptions] | This parameter is optional and determines whether to expand resources related to local network topologies. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as `systemMetricDetails`, append `?expand=system-metric-detail` to the query. (optional) try: # Retrieve endpoint local network topology - api_response = api_instance.get_local_networks_test_results_topology(network_topology_id, aid=aid) + api_response = api_instance.get_local_networks_test_results_topology(network_topology_id, aid=aid, expand=expand) print("The response of LocalNetworkEndpointTestResultsApi->get_local_networks_test_results_topology:\n") pprint(api_response) except Exception as e: @@ -247,6 +252,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **network_topology_id** | **str**| The network topology 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[ExpandLocalNetworkTopologyOptions]**](ExpandLocalNetworkTopologyOptions.md)| This parameter is optional and determines whether to expand resources related to local network topologies. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as `systemMetricDetails`, append `?expand=system-metric-detail` to the query. | [optional] ### Return type diff --git a/thousandeyes-sdk-endpoint-test-results/docs/LocalNetworkTopologyResult.md b/thousandeyes-sdk-endpoint-test-results/docs/LocalNetworkTopologyResult.md index 344aaaf7..742a36f1 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/LocalNetworkTopologyResult.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/LocalNetworkTopologyResult.md @@ -16,6 +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] +**system_metric_details** | [**SystemMetricDetails**](SystemMetricDetails.md) | | [optional] **coordinates** | [**RealUserEndpointTestCoordinates**](RealUserEndpointTestCoordinates.md) | | [optional] **network_profile** | [**NetworkProfile**](NetworkProfile.md) | | [optional] **icmp_traceroute** | [**Traceroute**](Traceroute.md) | | [optional] diff --git a/thousandeyes-sdk-endpoint-test-results/docs/LocalNetworkTopologyResultBase.md b/thousandeyes-sdk-endpoint-test-results/docs/LocalNetworkTopologyResultBase.md index 73bde6cf..edc2838e 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/LocalNetworkTopologyResultBase.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/LocalNetworkTopologyResultBase.md @@ -16,6 +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] +**system_metric_details** | [**SystemMetricDetails**](SystemMetricDetails.md) | | [optional] ## Example diff --git a/thousandeyes-sdk-endpoint-test-results/docs/MultiTestIdNetworkEndpointTestResults.md b/thousandeyes-sdk-endpoint-test-results/docs/MultiTestIdNetworkEndpointTestResults.md index 81e4a649..21c3c2ea 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/MultiTestIdNetworkEndpointTestResults.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/MultiTestIdNetworkEndpointTestResults.md @@ -6,7 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **results** | [**List[NetworkEndpointTestResult]**](NetworkEndpointTestResult.md) | | [optional] -**total_hits** | **int** | Total number of measurements that match the search criteria | [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** | [**PaginationNextLink**](PaginationNextLink.md) | | [optional] diff --git a/thousandeyes-sdk-endpoint-test-results/docs/NetworkDynamicEndpointTestResults.md b/thousandeyes-sdk-endpoint-test-results/docs/NetworkDynamicEndpointTestResults.md index 7e29729e..99002118 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/NetworkDynamicEndpointTestResults.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/NetworkDynamicEndpointTestResults.md @@ -7,7 +7,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **results** | [**List[NetworkDynamicEndpointTestResult]**](NetworkDynamicEndpointTestResult.md) | | [optional] **test** | [**DynamicTest**](DynamicTest.md) | | [optional] -**total_hits** | **int** | Total number of measurements that match the search criteria | [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** | [**PaginationNextLink**](PaginationNextLink.md) | | [optional] diff --git a/thousandeyes-sdk-endpoint-test-results/docs/NetworkEndpointTestResults.md b/thousandeyes-sdk-endpoint-test-results/docs/NetworkEndpointTestResults.md index 4200a09e..8e2052c4 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/NetworkEndpointTestResults.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/NetworkEndpointTestResults.md @@ -6,7 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **results** | [**List[NetworkEndpointTestResult]**](NetworkEndpointTestResult.md) | | [optional] -**total_hits** | **int** | Total number of measurements that match the search criteria | [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] **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] diff --git a/thousandeyes-sdk-endpoint-test-results/docs/PathVisDynamicEndpointTestResults.md b/thousandeyes-sdk-endpoint-test-results/docs/PathVisDynamicEndpointTestResults.md index 76be7d5a..f9681e1e 100644 --- a/thousandeyes-sdk-endpoint-test-results/docs/PathVisDynamicEndpointTestResults.md +++ b/thousandeyes-sdk-endpoint-test-results/docs/PathVisDynamicEndpointTestResults.md @@ -9,7 +9,7 @@ Name | Type | Description | Notes **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] +**total_hits** | **int** | Total number of measurements that match the search criteria. | [optional] **links** | [**PaginationNextAndSelfLink**](PaginationNextAndSelfLink.md) | | [optional] ## Example diff --git a/thousandeyes-sdk-endpoint-test-results/docs/ProcessMetrics.md b/thousandeyes-sdk-endpoint-test-results/docs/ProcessMetrics.md new file mode 100644 index 00000000..6bdb3ee4 --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/ProcessMetrics.md @@ -0,0 +1,33 @@ +# ProcessMetrics + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | The name of the process. | [optional] +**pid** | **int** | The process ID. | [optional] +**cpu** | **float** | The CPU usage by the process as a percentage (e.g., 0.5 for 50% CPU usage). | [optional] +**memory_percentage** | **float** | The memory usage by the process as a percentage (e.g., 0.22 for 22%). | [optional] +**memory_bytes** | **int** | The memory usage by the process in bytes. | [optional] + +## Example + +```python +from thousandeyes_sdk.endpoint_test_results.models.process_metrics import ProcessMetrics + +# TODO update the JSON string below +json = "{}" +# create an instance of ProcessMetrics from a JSON string +process_metrics_instance = ProcessMetrics.from_json(json) +# print the JSON string representation of the object +print(ProcessMetrics.to_json()) + +# convert the object into a dict +process_metrics_dict = process_metrics_instance.to_dict() +# create an instance of ProcessMetrics from a dict +process_metrics_from_dict = ProcessMetrics.from_dict(process_metrics_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/SystemMetricDetails.md b/thousandeyes-sdk-endpoint-test-results/docs/SystemMetricDetails.md new file mode 100644 index 00000000..4f30b8cf --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/docs/SystemMetricDetails.md @@ -0,0 +1,31 @@ +# SystemMetricDetails + +Details of system metrics that contain top applications by CPU/memory usage. Not populated by default. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**top_cpu_applications** | [**List[ApplicationMetrics]**](ApplicationMetrics.md) | A list of applications that consume more than 2% of the CPU. | [optional] [readonly] +**top_memory_applications** | [**List[ApplicationMetrics]**](ApplicationMetrics.md) | A list of applications that consume more than 2% of the RAM. | [optional] [readonly] + +## Example + +```python +from thousandeyes_sdk.endpoint_test_results.models.system_metric_details import SystemMetricDetails + +# TODO update the JSON string below +json = "{}" +# create an instance of SystemMetricDetails from a JSON string +system_metric_details_instance = SystemMetricDetails.from_json(json) +# print the JSON string representation of the object +print(SystemMetricDetails.to_json()) + +# convert the object into a dict +system_metric_details_dict = system_metric_details_instance.to_dict() +# create an instance of SystemMetricDetails from a dict +system_metric_details_from_dict = SystemMetricDetails.from_dict(system_metric_details_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/src/thousandeyes_sdk/endpoint_test_results/__init__.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/__init__.py index f21a84ae..c0cbd364 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 @@ -22,6 +22,7 @@ from thousandeyes_sdk.endpoint_test_results.api.real_user_endpoint_test_results_ # import models into sdk package +from thousandeyes_sdk.endpoint_test_results.models.application_metrics import ApplicationMetrics 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 @@ -68,6 +69,7 @@ from thousandeyes_sdk.endpoint_test_results.models.endpoint_tests_data_threshold 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.expand_endpoint_http_server_options import ExpandEndpointHttpServerOptions +from thousandeyes_sdk.endpoint_test_results.models.expand_local_network_topology_options import ExpandLocalNetworkTopologyOptions 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 @@ -118,6 +120,7 @@ from thousandeyes_sdk.endpoint_test_results.models.path_vis_endpoint_test_result 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.process_metrics import ProcessMetrics 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 @@ -136,6 +139,7 @@ from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_resul 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.sort_order import SortOrder +from thousandeyes_sdk.endpoint_test_results.models.system_metric_details import SystemMetricDetails 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 diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/local_network_endpoint_test_results_api.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/local_network_endpoint_test_results_api.py index ba070e7a..edba0421 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/local_network_endpoint_test_results_api.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/api/local_network_endpoint_test_results_api.py @@ -20,9 +20,10 @@ import thousandeyes_sdk.endpoint_test_results.models from datetime import datetime from pydantic import Field, StrictStr, field_validator -from typing import Optional +from typing import List, Optional from typing_extensions import Annotated from thousandeyes_sdk.endpoint_test_results.models.endpoint_network_topology_result_request import EndpointNetworkTopologyResultRequest +from thousandeyes_sdk.endpoint_test_results.models.expand_local_network_topology_options import ExpandLocalNetworkTopologyOptions from thousandeyes_sdk.endpoint_test_results.models.local_network_results import LocalNetworkResults from thousandeyes_sdk.endpoint_test_results.models.local_network_topology_detail_results import LocalNetworkTopologyDetailResults from thousandeyes_sdk.endpoint_test_results.models.local_network_topology_results import LocalNetworkTopologyResults @@ -54,6 +55,7 @@ class LocalNetworkEndpointTestResultsApi: 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[ExpandLocalNetworkTopologyOptions]], Field(description="This parameter is optional and determines whether to expand resources related to local network topologies. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as `systemMetricDetails`, append `?expand=system-metric-detail` to the query.")] = None, endpoint_network_topology_result_request: Optional[EndpointNetworkTopologyResultRequest] = None, _request_timeout: Union[ None, @@ -82,6 +84,8 @@ class LocalNetworkEndpointTestResultsApi: :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 local network topologies. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as `systemMetricDetails`, append `?expand=system-metric-detail` to the query. + :type expand: List[ExpandLocalNetworkTopologyOptions] :param endpoint_network_topology_result_request: :type endpoint_network_topology_result_request: EndpointNetworkTopologyResultRequest :param _request_timeout: timeout setting for this request. If one @@ -112,6 +116,7 @@ class LocalNetworkEndpointTestResultsApi: start_date=start_date, end_date=end_date, cursor=cursor, + expand=expand, endpoint_network_topology_result_request=endpoint_network_topology_result_request, _request_auth=_request_auth, _content_type=_content_type, @@ -149,6 +154,7 @@ class LocalNetworkEndpointTestResultsApi: 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[ExpandLocalNetworkTopologyOptions]], Field(description="This parameter is optional and determines whether to expand resources related to local network topologies. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as `systemMetricDetails`, append `?expand=system-metric-detail` to the query.")] = None, endpoint_network_topology_result_request: Optional[EndpointNetworkTopologyResultRequest] = None, _request_timeout: Union[ None, @@ -177,6 +183,8 @@ class LocalNetworkEndpointTestResultsApi: :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 local network topologies. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as `systemMetricDetails`, append `?expand=system-metric-detail` to the query. + :type expand: List[ExpandLocalNetworkTopologyOptions] :param endpoint_network_topology_result_request: :type endpoint_network_topology_result_request: EndpointNetworkTopologyResultRequest :param _request_timeout: timeout setting for this request. If one @@ -207,6 +215,7 @@ class LocalNetworkEndpointTestResultsApi: start_date=start_date, end_date=end_date, cursor=cursor, + expand=expand, endpoint_network_topology_result_request=endpoint_network_topology_result_request, _request_auth=_request_auth, _content_type=_content_type, @@ -244,6 +253,7 @@ class LocalNetworkEndpointTestResultsApi: 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[ExpandLocalNetworkTopologyOptions]], Field(description="This parameter is optional and determines whether to expand resources related to local network topologies. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as `systemMetricDetails`, append `?expand=system-metric-detail` to the query.")] = None, endpoint_network_topology_result_request: Optional[EndpointNetworkTopologyResultRequest] = None, _request_timeout: Union[ None, @@ -272,6 +282,8 @@ class LocalNetworkEndpointTestResultsApi: :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 local network topologies. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as `systemMetricDetails`, append `?expand=system-metric-detail` to the query. + :type expand: List[ExpandLocalNetworkTopologyOptions] :param endpoint_network_topology_result_request: :type endpoint_network_topology_result_request: EndpointNetworkTopologyResultRequest :param _request_timeout: timeout setting for this request. If one @@ -302,6 +314,7 @@ class LocalNetworkEndpointTestResultsApi: start_date=start_date, end_date=end_date, cursor=cursor, + expand=expand, endpoint_network_topology_result_request=endpoint_network_topology_result_request, _request_auth=_request_auth, _content_type=_content_type, @@ -333,6 +346,7 @@ class LocalNetworkEndpointTestResultsApi: start_date, end_date, cursor, + expand, endpoint_network_topology_result_request, _request_auth, _content_type, @@ -343,6 +357,7 @@ class LocalNetworkEndpointTestResultsApi: _host = None _collection_formats: Dict[str, str] = { + 'expand': 'csv', } _path_params: Dict[str, str] = {} @@ -392,6 +407,10 @@ class LocalNetworkEndpointTestResultsApi: _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 @@ -732,6 +751,7 @@ class LocalNetworkEndpointTestResultsApi: self, network_topology_id: Annotated[StrictStr, Field(description="The network topology 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[ExpandLocalNetworkTopologyOptions]], Field(description="This parameter is optional and determines whether to expand resources related to local network topologies. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as `systemMetricDetails`, append `?expand=system-metric-detail` to the query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -753,6 +773,8 @@ class LocalNetworkEndpointTestResultsApi: :type network_topology_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: This parameter is optional and determines whether to expand resources related to local network topologies. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as `systemMetricDetails`, append `?expand=system-metric-detail` to the query. + :type expand: List[ExpandLocalNetworkTopologyOptions] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -778,6 +800,7 @@ class LocalNetworkEndpointTestResultsApi: _param = self._get_local_networks_test_results_topology_serialize( network_topology_id=network_topology_id, aid=aid, + expand=expand, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -810,6 +833,7 @@ class LocalNetworkEndpointTestResultsApi: self, network_topology_id: Annotated[StrictStr, Field(description="The network topology 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[ExpandLocalNetworkTopologyOptions]], Field(description="This parameter is optional and determines whether to expand resources related to local network topologies. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as `systemMetricDetails`, append `?expand=system-metric-detail` to the query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -831,6 +855,8 @@ class LocalNetworkEndpointTestResultsApi: :type network_topology_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: This parameter is optional and determines whether to expand resources related to local network topologies. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as `systemMetricDetails`, append `?expand=system-metric-detail` to the query. + :type expand: List[ExpandLocalNetworkTopologyOptions] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -856,6 +882,7 @@ class LocalNetworkEndpointTestResultsApi: _param = self._get_local_networks_test_results_topology_serialize( network_topology_id=network_topology_id, aid=aid, + expand=expand, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -888,6 +915,7 @@ class LocalNetworkEndpointTestResultsApi: self, network_topology_id: Annotated[StrictStr, Field(description="The network topology 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[ExpandLocalNetworkTopologyOptions]], Field(description="This parameter is optional and determines whether to expand resources related to local network topologies. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as `systemMetricDetails`, append `?expand=system-metric-detail` to the query.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -909,6 +937,8 @@ class LocalNetworkEndpointTestResultsApi: :type network_topology_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: This parameter is optional and determines whether to expand resources related to local network topologies. By default, no expansion occurs when this query parameter is omitted. To expand a specific resource, such as `systemMetricDetails`, append `?expand=system-metric-detail` to the query. + :type expand: List[ExpandLocalNetworkTopologyOptions] :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -934,6 +964,7 @@ class LocalNetworkEndpointTestResultsApi: _param = self._get_local_networks_test_results_topology_serialize( network_topology_id=network_topology_id, aid=aid, + expand=expand, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -960,6 +991,7 @@ class LocalNetworkEndpointTestResultsApi: self, network_topology_id, aid, + expand, _request_auth, _content_type, _headers, @@ -969,6 +1001,7 @@ class LocalNetworkEndpointTestResultsApi: _host = None _collection_formats: Dict[str, str] = { + 'expand': 'csv', } _path_params: Dict[str, str] = {} @@ -986,6 +1019,10 @@ class LocalNetworkEndpointTestResultsApi: _query_params.append(('aid', aid)) + if expand is not None: + + _query_params.append(('expand', expand)) + # process the header parameters # process the form parameters # process the body parameter 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 2de0f5bc..5fcf22db 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 @@ -13,6 +13,7 @@ # import models into model package +from thousandeyes_sdk.endpoint_test_results.models.application_metrics import ApplicationMetrics 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 @@ -59,6 +60,7 @@ from thousandeyes_sdk.endpoint_test_results.models.endpoint_tests_data_threshold 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.expand_endpoint_http_server_options import ExpandEndpointHttpServerOptions +from thousandeyes_sdk.endpoint_test_results.models.expand_local_network_topology_options import ExpandLocalNetworkTopologyOptions 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 @@ -109,6 +111,7 @@ from thousandeyes_sdk.endpoint_test_results.models.path_vis_endpoint_test_result 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.process_metrics import ProcessMetrics 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 @@ -127,6 +130,7 @@ from thousandeyes_sdk.endpoint_test_results.models.real_user_endpoint_test_resul 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.sort_order import SortOrder +from thousandeyes_sdk.endpoint_test_results.models.system_metric_details import SystemMetricDetails 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 diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/application_metrics.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/application_metrics.py new file mode 100644 index 00000000..0fb80c47 --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/application_metrics.py @@ -0,0 +1,103 @@ +# 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from thousandeyes_sdk.endpoint_test_results.models.process_metrics import ProcessMetrics +from typing import Optional, Set +from typing_extensions import Self + +class ApplicationMetrics(BaseModel): + """ + ApplicationMetrics + """ # noqa: E501 + name: Optional[StrictStr] = Field(default=None, description="The name of the application.") + total_cpu: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="The total CPU usage by all application processes.", alias="totalCpu") + total_memory_percentage: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="The total percentage of memory used by all application processes.", alias="totalMemoryPercentage") + total_memory_bytes: Optional[StrictInt] = Field(default=None, description="The total memory in bytes used by all application processes.", alias="totalMemoryBytes") + processes: Optional[List[ProcessMetrics]] = Field(default=None, description="A list of application processes.") + __properties: ClassVar[List[str]] = ["name", "totalCpu", "totalMemoryPercentage", "totalMemoryBytes", "processes"] + + 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 ApplicationMetrics 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 processes (list) + _items = [] + if self.processes: + for _item in self.processes: + if _item: + _items.append(_item.to_dict()) + _dict['processes'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ApplicationMetrics 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"), + "totalCpu": obj.get("totalCpu"), + "totalMemoryPercentage": obj.get("totalMemoryPercentage"), + "totalMemoryBytes": obj.get("totalMemoryBytes"), + "processes": [ProcessMetrics.from_dict(_item) for _item in obj["processes"]] if obj.get("processes") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/expand_local_network_topology_options.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/expand_local_network_topology_options.py new file mode 100644 index 00000000..7166b1e2 --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/expand_local_network_topology_options.py @@ -0,0 +1,40 @@ +# 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 ExpandLocalNetworkTopologyOptions(str, Enum): + """ + ExpandLocalNetworkTopologyOptions + """ + + """ + allowed enum values + """ + SYSTEM_MINUS_METRIC_MINUS_DETAIL = 'system-metric-detail' + UNKNOWN = 'unknown' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ExpandLocalNetworkTopologyOptions 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 index 1de5bf87..313fb312 100644 --- 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 @@ -29,7 +29,7 @@ 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") + 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") 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 38f01e54..49490d06 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 @@ -23,6 +23,7 @@ from thousandeyes_sdk.endpoint_test_results.models.network_ping import NetworkPi 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_endpoint_test_coordinates import RealUserEndpointTestCoordinates +from thousandeyes_sdk.endpoint_test_results.models.system_metric_details import SystemMetricDetails 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 @@ -44,11 +45,12 @@ 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") + system_metric_details: Optional[SystemMetricDetails] = Field(default=None, alias="systemMetricDetails") 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") - __properties: ClassVar[List[str]] = ["agentId", "date", "networkTopologyId", "roundId", "target", "targetPort", "type", "icmpPing", "isIcmpBlocked", "tcpConnect", "systemMetrics", "coordinates", "networkProfile", "icmpTraceroute", "icmpTraceroutes"] + __properties: ClassVar[List[str]] = ["agentId", "date", "networkTopologyId", "roundId", "target", "targetPort", "type", "icmpPing", "isIcmpBlocked", "tcpConnect", "systemMetrics", "systemMetricDetails", "coordinates", "networkProfile", "icmpTraceroute", "icmpTraceroutes"] model_config = ConfigDict( populate_by_name=True, @@ -113,6 +115,9 @@ class LocalNetworkTopologyResult(BaseModel): # override the default output from pydantic by calling `to_dict()` of system_metrics if self.system_metrics: _dict['systemMetrics'] = self.system_metrics.to_dict() + # override the default output from pydantic by calling `to_dict()` of system_metric_details + if self.system_metric_details: + _dict['systemMetricDetails'] = self.system_metric_details.to_dict() # override the default output from pydantic by calling `to_dict()` of coordinates if self.coordinates: _dict['coordinates'] = self.coordinates.to_dict() @@ -152,6 +157,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, + "systemMetricDetails": SystemMetricDetails.from_dict(obj["systemMetricDetails"]) if obj.get("systemMetricDetails") 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, 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 a513a712..92ac6bb3 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 @@ -21,6 +21,7 @@ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, Strict 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_topology_type import NetworkTopologyType +from thousandeyes_sdk.endpoint_test_results.models.system_metric_details import SystemMetricDetails from thousandeyes_sdk.endpoint_test_results.models.system_metrics import SystemMetrics from thousandeyes_sdk.endpoint_test_results.models.tcp_connect import TcpConnect from typing import Optional, Set @@ -41,7 +42,8 @@ class LocalNetworkTopologyResultBase(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") - __properties: ClassVar[List[str]] = ["agentId", "date", "networkTopologyId", "roundId", "target", "targetPort", "type", "icmpPing", "isIcmpBlocked", "tcpConnect", "systemMetrics"] + system_metric_details: Optional[SystemMetricDetails] = Field(default=None, alias="systemMetricDetails") + __properties: ClassVar[List[str]] = ["agentId", "date", "networkTopologyId", "roundId", "target", "targetPort", "type", "icmpPing", "isIcmpBlocked", "tcpConnect", "systemMetrics", "systemMetricDetails"] model_config = ConfigDict( populate_by_name=True, @@ -106,6 +108,9 @@ class LocalNetworkTopologyResultBase(BaseModel): # override the default output from pydantic by calling `to_dict()` of system_metrics if self.system_metrics: _dict['systemMetrics'] = self.system_metrics.to_dict() + # override the default output from pydantic by calling `to_dict()` of system_metric_details + if self.system_metric_details: + _dict['systemMetricDetails'] = self.system_metric_details.to_dict() return _dict @classmethod @@ -128,7 +133,8 @@ class LocalNetworkTopologyResultBase(BaseModel): "icmpPing": NetworkPing.from_dict(obj["icmpPing"]) if obj.get("icmpPing") is not None else None, "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 + "systemMetrics": SystemMetrics.from_dict(obj["systemMetrics"]) if obj.get("systemMetrics") is not None else None, + "systemMetricDetails": SystemMetricDetails.from_dict(obj["systemMetricDetails"]) if obj.get("systemMetricDetails") 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_network_endpoint_test_results.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/multi_test_id_network_endpoint_test_results.py index 696e9dc3..580d4655 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/multi_test_id_network_endpoint_test_results.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/multi_test_id_network_endpoint_test_results.py @@ -29,7 +29,7 @@ class MultiTestIdNetworkEndpointTestResults(BaseModel): MultiTestIdNetworkEndpointTestResults """ # noqa: E501 results: Optional[List[NetworkEndpointTestResult]] = None - total_hits: Optional[StrictInt] = Field(default=None, description="Total number of measurements that match the search criteria", alias="totalHits") + 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[PaginationNextLink] = Field(default=None, alias="_links") diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_dynamic_endpoint_test_results.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_dynamic_endpoint_test_results.py index 51c7b328..3dc3b240 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_dynamic_endpoint_test_results.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_dynamic_endpoint_test_results.py @@ -31,7 +31,7 @@ class NetworkDynamicEndpointTestResults(BaseModel): """ # noqa: E501 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") + 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[PaginationNextLink] = Field(default=None, alias="_links") diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_endpoint_test_results.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_endpoint_test_results.py index a7bc297f..7507e0a1 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_endpoint_test_results.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/network_endpoint_test_results.py @@ -30,7 +30,7 @@ class NetworkEndpointTestResults(BaseModel): NetworkEndpointTestResults """ # noqa: E501 results: Optional[List[NetworkEndpointTestResult]] = None - total_hits: Optional[StrictInt] = Field(default=None, description="Total number of measurements that match the search criteria", alias="totalHits") + 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") 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") diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_dynamic_endpoint_test_results.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_dynamic_endpoint_test_results.py index ad397988..159e89b9 100644 --- a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_dynamic_endpoint_test_results.py +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/path_vis_dynamic_endpoint_test_results.py @@ -33,7 +33,7 @@ class PathVisDynamicEndpointTestResults(BaseModel): 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") + 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", "totalHits", "_links"] diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/process_metrics.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/process_metrics.py new file mode 100644 index 00000000..c37bbb50 --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/process_metrics.py @@ -0,0 +1,95 @@ +# 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class ProcessMetrics(BaseModel): + """ + ProcessMetrics + """ # noqa: E501 + name: Optional[StrictStr] = Field(default=None, description="The name of the process.") + pid: Optional[StrictInt] = Field(default=None, description="The process ID.") + cpu: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="The CPU usage by the process as a percentage (e.g., 0.5 for 50% CPU usage).") + memory_percentage: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="The memory usage by the process as a percentage (e.g., 0.22 for 22%).", alias="memoryPercentage") + memory_bytes: Optional[StrictInt] = Field(default=None, description="The memory usage by the process in bytes.", alias="memoryBytes") + __properties: ClassVar[List[str]] = ["name", "pid", "cpu", "memoryPercentage", "memoryBytes"] + + 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 ProcessMetrics 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 ProcessMetrics 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"), + "pid": obj.get("pid"), + "cpu": obj.get("cpu"), + "memoryPercentage": obj.get("memoryPercentage"), + "memoryBytes": obj.get("memoryBytes") + }) + return _obj + + diff --git a/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/system_metric_details.py b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/system_metric_details.py new file mode 100644 index 00000000..14183294 --- /dev/null +++ b/thousandeyes-sdk-endpoint-test-results/src/thousandeyes_sdk/endpoint_test_results/models/system_metric_details.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 +from typing import Any, ClassVar, Dict, List, Optional +from thousandeyes_sdk.endpoint_test_results.models.application_metrics import ApplicationMetrics +from typing import Optional, Set +from typing_extensions import Self + +class SystemMetricDetails(BaseModel): + """ + Details of system metrics that contain top applications by CPU/memory usage. Not populated by default. + """ # noqa: E501 + top_cpu_applications: Optional[List[ApplicationMetrics]] = Field(default=None, description="A list of applications that consume more than 2% of the CPU.", alias="topCpuApplications") + top_memory_applications: Optional[List[ApplicationMetrics]] = Field(default=None, description="A list of applications that consume more than 2% of the RAM.", alias="topMemoryApplications") + __properties: ClassVar[List[str]] = ["topCpuApplications", "topMemoryApplications"] + + 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 SystemMetricDetails 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([ + "top_cpu_applications", + "top_memory_applications", + ]) + + _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 top_cpu_applications (list) + _items = [] + if self.top_cpu_applications: + for _item in self.top_cpu_applications: + if _item: + _items.append(_item.to_dict()) + _dict['topCpuApplications'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in top_memory_applications (list) + _items = [] + if self.top_memory_applications: + for _item in self.top_memory_applications: + if _item: + _items.append(_item.to_dict()) + _dict['topMemoryApplications'] = _items + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SystemMetricDetails from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "topCpuApplications": [ApplicationMetrics.from_dict(_item) for _item in obj["topCpuApplications"]] if obj.get("topCpuApplications") is not None else None, + "topMemoryApplications": [ApplicationMetrics.from_dict(_item) for _item in obj["topMemoryApplications"]] if obj.get("topMemoryApplications") is not None else None + }) + return _obj + + diff --git a/thousandeyes-sdk-endpoint-test-results/test/test_local_network_endpoint_test_results_api.py b/thousandeyes-sdk-endpoint-test-results/test/test_local_network_endpoint_test_results_api.py index a89529d1..2ef44928 100644 --- a/thousandeyes-sdk-endpoint-test-results/test/test_local_network_endpoint_test_results_api.py +++ b/thousandeyes-sdk-endpoint-test-results/test/test_local_network_endpoint_test_results_api.py @@ -90,6 +90,82 @@ class TestLocalNetworkEndpointTestResultsApi(unittest.TestCase): }, "endTimeMs" : 1581508867333 }, + "systemMetricDetails" : { + "topCpuApplications" : [ { + "totalMemoryBytes" : 1023334, + "processes" : [ { + "memoryBytes" : 1023334, + "memoryPercentage" : 0.22, + "name" : "Webex background", + "cpu" : 0.5, + "pid" : 15632 + }, { + "memoryBytes" : 1023334, + "memoryPercentage" : 0.22, + "name" : "Webex background", + "cpu" : 0.5, + "pid" : 15632 + } ], + "totalCpu" : 0.5, + "name" : "Webex", + "totalMemoryPercentage" : 0.22 + }, { + "totalMemoryBytes" : 1023334, + "processes" : [ { + "memoryBytes" : 1023334, + "memoryPercentage" : 0.22, + "name" : "Webex background", + "cpu" : 0.5, + "pid" : 15632 + }, { + "memoryBytes" : 1023334, + "memoryPercentage" : 0.22, + "name" : "Webex background", + "cpu" : 0.5, + "pid" : 15632 + } ], + "totalCpu" : 0.5, + "name" : "Webex", + "totalMemoryPercentage" : 0.22 + } ], + "topMemoryApplications" : [ { + "totalMemoryBytes" : 1023334, + "processes" : [ { + "memoryBytes" : 1023334, + "memoryPercentage" : 0.22, + "name" : "Webex background", + "cpu" : 0.5, + "pid" : 15632 + }, { + "memoryBytes" : 1023334, + "memoryPercentage" : 0.22, + "name" : "Webex background", + "cpu" : 0.5, + "pid" : 15632 + } ], + "totalCpu" : 0.5, + "name" : "Webex", + "totalMemoryPercentage" : 0.22 + }, { + "totalMemoryBytes" : 1023334, + "processes" : [ { + "memoryBytes" : 1023334, + "memoryPercentage" : 0.22, + "name" : "Webex background", + "cpu" : 0.5, + "pid" : 15632 + }, { + "memoryBytes" : 1023334, + "memoryPercentage" : 0.22, + "name" : "Webex background", + "cpu" : 0.5, + "pid" : 15632 + } ], + "totalCpu" : 0.5, + "name" : "Webex", + "totalMemoryPercentage" : 0.22 + } ] + }, "isIcmpBlocked" : true, "tcpConnect" : { "rtt" : 77.777, @@ -136,6 +212,82 @@ class TestLocalNetworkEndpointTestResultsApi(unittest.TestCase): }, "endTimeMs" : 1581508867333 }, + "systemMetricDetails" : { + "topCpuApplications" : [ { + "totalMemoryBytes" : 1023334, + "processes" : [ { + "memoryBytes" : 1023334, + "memoryPercentage" : 0.22, + "name" : "Webex background", + "cpu" : 0.5, + "pid" : 15632 + }, { + "memoryBytes" : 1023334, + "memoryPercentage" : 0.22, + "name" : "Webex background", + "cpu" : 0.5, + "pid" : 15632 + } ], + "totalCpu" : 0.5, + "name" : "Webex", + "totalMemoryPercentage" : 0.22 + }, { + "totalMemoryBytes" : 1023334, + "processes" : [ { + "memoryBytes" : 1023334, + "memoryPercentage" : 0.22, + "name" : "Webex background", + "cpu" : 0.5, + "pid" : 15632 + }, { + "memoryBytes" : 1023334, + "memoryPercentage" : 0.22, + "name" : "Webex background", + "cpu" : 0.5, + "pid" : 15632 + } ], + "totalCpu" : 0.5, + "name" : "Webex", + "totalMemoryPercentage" : 0.22 + } ], + "topMemoryApplications" : [ { + "totalMemoryBytes" : 1023334, + "processes" : [ { + "memoryBytes" : 1023334, + "memoryPercentage" : 0.22, + "name" : "Webex background", + "cpu" : 0.5, + "pid" : 15632 + }, { + "memoryBytes" : 1023334, + "memoryPercentage" : 0.22, + "name" : "Webex background", + "cpu" : 0.5, + "pid" : 15632 + } ], + "totalCpu" : 0.5, + "name" : "Webex", + "totalMemoryPercentage" : 0.22 + }, { + "totalMemoryBytes" : 1023334, + "processes" : [ { + "memoryBytes" : 1023334, + "memoryPercentage" : 0.22, + "name" : "Webex background", + "cpu" : 0.5, + "pid" : 15632 + }, { + "memoryBytes" : 1023334, + "memoryPercentage" : 0.22, + "name" : "Webex background", + "cpu" : 0.5, + "pid" : 15632 + } ], + "totalCpu" : 0.5, + "name" : "Webex", + "totalMemoryPercentage" : 0.22 + } ] + }, "isIcmpBlocked" : true, "tcpConnect" : { "rtt" : 77.777, @@ -301,6 +453,82 @@ class TestLocalNetworkEndpointTestResultsApi(unittest.TestCase): }, "endTimeMs" : 1581508867333 }, + "systemMetricDetails" : { + "topCpuApplications" : [ { + "totalMemoryBytes" : 1023334, + "processes" : [ { + "memoryBytes" : 1023334, + "memoryPercentage" : 0.22, + "name" : "Webex background", + "cpu" : 0.5, + "pid" : 15632 + }, { + "memoryBytes" : 1023334, + "memoryPercentage" : 0.22, + "name" : "Webex background", + "cpu" : 0.5, + "pid" : 15632 + } ], + "totalCpu" : 0.5, + "name" : "Webex", + "totalMemoryPercentage" : 0.22 + }, { + "totalMemoryBytes" : 1023334, + "processes" : [ { + "memoryBytes" : 1023334, + "memoryPercentage" : 0.22, + "name" : "Webex background", + "cpu" : 0.5, + "pid" : 15632 + }, { + "memoryBytes" : 1023334, + "memoryPercentage" : 0.22, + "name" : "Webex background", + "cpu" : 0.5, + "pid" : 15632 + } ], + "totalCpu" : 0.5, + "name" : "Webex", + "totalMemoryPercentage" : 0.22 + } ], + "topMemoryApplications" : [ { + "totalMemoryBytes" : 1023334, + "processes" : [ { + "memoryBytes" : 1023334, + "memoryPercentage" : 0.22, + "name" : "Webex background", + "cpu" : 0.5, + "pid" : 15632 + }, { + "memoryBytes" : 1023334, + "memoryPercentage" : 0.22, + "name" : "Webex background", + "cpu" : 0.5, + "pid" : 15632 + } ], + "totalCpu" : 0.5, + "name" : "Webex", + "totalMemoryPercentage" : 0.22 + }, { + "totalMemoryBytes" : 1023334, + "processes" : [ { + "memoryBytes" : 1023334, + "memoryPercentage" : 0.22, + "name" : "Webex background", + "cpu" : 0.5, + "pid" : 15632 + }, { + "memoryBytes" : 1023334, + "memoryPercentage" : 0.22, + "name" : "Webex background", + "cpu" : 0.5, + "pid" : 15632 + } ], + "totalCpu" : 0.5, + "name" : "Webex", + "totalMemoryPercentage" : 0.22 + } ] + }, "icmpTraceroute" : { "destination" : "13.32.22.232", "hops" : [ { @@ -466,6 +694,82 @@ class TestLocalNetworkEndpointTestResultsApi(unittest.TestCase): }, "endTimeMs" : 1581508867333 }, + "systemMetricDetails" : { + "topCpuApplications" : [ { + "totalMemoryBytes" : 1023334, + "processes" : [ { + "memoryBytes" : 1023334, + "memoryPercentage" : 0.22, + "name" : "Webex background", + "cpu" : 0.5, + "pid" : 15632 + }, { + "memoryBytes" : 1023334, + "memoryPercentage" : 0.22, + "name" : "Webex background", + "cpu" : 0.5, + "pid" : 15632 + } ], + "totalCpu" : 0.5, + "name" : "Webex", + "totalMemoryPercentage" : 0.22 + }, { + "totalMemoryBytes" : 1023334, + "processes" : [ { + "memoryBytes" : 1023334, + "memoryPercentage" : 0.22, + "name" : "Webex background", + "cpu" : 0.5, + "pid" : 15632 + }, { + "memoryBytes" : 1023334, + "memoryPercentage" : 0.22, + "name" : "Webex background", + "cpu" : 0.5, + "pid" : 15632 + } ], + "totalCpu" : 0.5, + "name" : "Webex", + "totalMemoryPercentage" : 0.22 + } ], + "topMemoryApplications" : [ { + "totalMemoryBytes" : 1023334, + "processes" : [ { + "memoryBytes" : 1023334, + "memoryPercentage" : 0.22, + "name" : "Webex background", + "cpu" : 0.5, + "pid" : 15632 + }, { + "memoryBytes" : 1023334, + "memoryPercentage" : 0.22, + "name" : "Webex background", + "cpu" : 0.5, + "pid" : 15632 + } ], + "totalCpu" : 0.5, + "name" : "Webex", + "totalMemoryPercentage" : 0.22 + }, { + "totalMemoryBytes" : 1023334, + "processes" : [ { + "memoryBytes" : 1023334, + "memoryPercentage" : 0.22, + "name" : "Webex background", + "cpu" : 0.5, + "pid" : 15632 + }, { + "memoryBytes" : 1023334, + "memoryPercentage" : 0.22, + "name" : "Webex background", + "cpu" : 0.5, + "pid" : 15632 + } ], + "totalCpu" : 0.5, + "name" : "Webex", + "totalMemoryPercentage" : 0.22 + } ] + }, "icmpTraceroute" : { "destination" : "13.32.22.232", "hops" : [ { diff --git a/thousandeyes-sdk-endpoint-test-results/test/test_real_user_endpoint_test_results_api.py b/thousandeyes-sdk-endpoint-test-results/test/test_real_user_endpoint_test_results_api.py index 7fb45c9d..0f112cc1 100644 --- a/thousandeyes-sdk-endpoint-test-results/test/test_real_user_endpoint_test_results_api.py +++ b/thousandeyes-sdk-endpoint-test-results/test/test_real_user_endpoint_test_results_api.py @@ -380,11 +380,11 @@ class TestRealUserEndpointTestResultsApi(unittest.TestCase): "log" : { "browser" : { "name" : "Google Chrome", - "version" : "7.0.29.98" + "version" : "7.0.32.98" }, "creator" : { "name" : "ThousandEyes Endpoint Agent", - "version" : "7.0.29" + "version" : "7.0.32" }, "entries" : [ { "pageref" : "page_1", diff --git a/thousandeyes-sdk-endpoint-tests/README.md b/thousandeyes-sdk-endpoint-tests/README.md index c7078791..3b82b6c8 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.29 +- API version: 7.0.32 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-event-detection/README.md b/thousandeyes-sdk-event-detection/README.md index cfec9ff4..66983161 100644 --- a/thousandeyes-sdk-event-detection/README.md +++ b/thousandeyes-sdk-event-detection/README.md @@ -12,7 +12,7 @@ With the Events API, you can perform the following tasks on the ThousandEyes pla This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 7.0.29 +- API version: 7.0.32 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-instant-tests/README.md b/thousandeyes-sdk-instant-tests/README.md index 8af0a83d..97ca2f2c 100644 --- a/thousandeyes-sdk-instant-tests/README.md +++ b/thousandeyes-sdk-instant-tests/README.md @@ -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.29 +- API version: 7.0.32 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-internet-insights/README.md b/thousandeyes-sdk-internet-insights/README.md index 66e9073e..cf27bc12 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.29 +- API version: 7.0.32 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-snapshots/README.md b/thousandeyes-sdk-snapshots/README.md index 0735b95c..e25df2d8 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.29 +- API version: 7.0.32 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-streaming/README.md b/thousandeyes-sdk-streaming/README.md index e921b22a..fd3034e0 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.29 +- API version: 7.0.32 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-tags/README.md b/thousandeyes-sdk-tags/README.md index 888221a1..99c106d5 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.29 +- API version: 7.0.32 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-test-results/README.md b/thousandeyes-sdk-test-results/README.md index 41c7b8ee..a4f7601f 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.29 +- API version: 7.0.32 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-tests/README.md b/thousandeyes-sdk-tests/README.md index 8cc81b48..e567b5e9 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.29 +- API version: 7.0.32 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator diff --git a/thousandeyes-sdk-usage/README.md b/thousandeyes-sdk-usage/README.md index db34f2ad..a8927018 100644 --- a/thousandeyes-sdk-usage/README.md +++ b/thousandeyes-sdk-usage/README.md @@ -17,7 +17,7 @@ Refer to the Usage API operations for detailed usage instructions and optional p This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 7.0.29 +- API version: 7.0.32 - Generator version: 7.6.0 - Build package: com.thousandeyes.api.codegen.ThousandeyesPythonGenerator